mirror of
https://github.com/zyedidia/micro
synced 2024-09-30 05:06:02 +00:00
73093f9497
* 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
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: "([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):?"
|