- - 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"
+ - special: "@[a-zA-Z_]+"
+ # Primitive Types
+ - type: "\\b(anyframe|anytype|anyerror|bool|comptime_int|comptime_float|enum|f(16|32|64|128)|isize|noreturn|struct|type|union|usize|void)\\b"
+ - type: "\\b(c_u?(short|int|long(long)?)|c_longdouble|c_void)\\b"
+ - type: "\\b((i|u)[0-9]+)\\b"
+
+ # Operators
+ - symbol.operator: "[-!|=;%.+^*:&?<>~]"
+
+ # Parenthesis
+ - symbol.brackets: "[(){}]|\\[|\\]"
+
+ # Constants
+ - constant: "\\b(null|undefined)\\b"
+ - constant.number: "\\b(0b[01_]+|0o[0-7_]+|[0-9_]+|0x[a-fA-F0-9_]+)\\b"
+ - constant.bool: "\\b(true|false)\\b"