17f0eb80cd
Ref #1298
38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
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: "\\b([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))\\b"
|
|
|
|
- constant.string:
|
|
start: "\""
|
|
end: "\""
|
|
skip: "\\\\."
|
|
rules:
|
|
- constant.specialChar: "\\\\."
|
|
|
|
- comment:
|
|
start: "//"
|
|
end: "$"
|
|
rules:
|
|
- todo: "(TODO|XXX|FIXME):?"
|
|
|
|
- comment:
|
|
start: "/\\*"
|
|
end: "\\*/"
|
|
rules:
|
|
- todo: "(TODO|XXX|FIXME):?"
|