mirror of
https://github.com/zyedidia/micro.git
synced 2026-02-05 06:30:28 +09:00
Added Ziglang syntax support (#1354)
* Added Ziglang syntax support * Removed unused constant string markup * Added 'fn' as keyword * Added constant matching ending with numbers and proper hexadecimal matching * Added missing types * Added all keywords in alphabetical order
This commit is contained in:
committed by
Zachary Yedidia
parent
3644ef4a5a
commit
73093f9497
37
runtime/syntax/zig.yaml
Normal file
37
runtime/syntax/zig.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
filetype: zig
|
||||
|
||||
detect:
|
||||
filename: "\\.zig$"
|
||||
|
||||
rules:
|
||||
# function definition
|
||||
- identifier: "fn [a-z0-9_]+"
|
||||
# Reserved words
|
||||
- statement: "\\b(align|and|allowzero|anyerror|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|false|fn|for|if|inline|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|linksection|stdcallcc|struct|suspend|switch|test|threadlocal|true|try|undefined|union|unreachable|use|var|volatile|while)\\b"
|
||||
# builtin functions
|
||||
- special: "@+[a-z_]+"
|
||||
# Constants
|
||||
- constant: "[A-Z][A-Z_]+([0-9]+)?"
|
||||
# Numbers (hexadecimal + decimal)
|
||||
- constant.number: "\\b(0x[A-F0-9]+|[0-9]+)\\b"
|
||||
# Primitive Types / Derived Data Types
|
||||
- type: "([A-Z][a-z]+|(i8|u8|i16|u16|i32|u32|i64|u64|i128|u128|isize|usize|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|c_longlong|c_ulonglong|c_longdouble|c_void|f16|f32|f64|f128|bool|void|noreturn|type|anyerror|comptime_int|comptime_float))"
|
||||
|
||||
- constant.string:
|
||||
start: "\""
|
||||
end: "\""
|
||||
skip: "\\\\."
|
||||
rules:
|
||||
- constant.specialChar: "\\\\."
|
||||
|
||||
- comment:
|
||||
start: "//"
|
||||
end: "$"
|
||||
rules:
|
||||
- todo: "(TODO|XXX|FIXME):?"
|
||||
|
||||
- comment:
|
||||
start: "/\\*"
|
||||
end: "\\*/"
|
||||
rules:
|
||||
- todo: "(TODO|XXX|FIXME):?"
|
||||
Reference in New Issue
Block a user