[ (container_doc_comment) (doc_comment) (line_comment) ] @comment ; field in top level decl, and in struct, union... (ContainerField (IDENTIFIER) @property (SuffixExpr (IDENTIFIER) @type)? ) ; error.OutOfMemory; (SuffixExpr "error" "." (IDENTIFIER) @constant ) ; var x: IDENTIFIER type: (SuffixExpr (IDENTIFIER) @type) ; IDENTIFIER{} constructor: (SuffixExpr (IDENTIFIER) @constructor) ; fields (FieldInit (IDENTIFIER) @property) ; foo.bar.baz.function() calls ( (SuffixOp (IDENTIFIER) @function ) . (FnCallArguments) ) ; function() calls ( ( (IDENTIFIER) @function ) . (FnCallArguments) ) ; functionn decl (FnProto (IDENTIFIER) @function (SuffixExpr (IDENTIFIER) @type)? ("!")? @function.macro ) ; function parameters and types (ParamDecl (IDENTIFIER) @variable.parameter ":" [ (ParamType (SuffixExpr (IDENTIFIER) @type)) (ParamType) ] ) ; switch (SwitchItem (SuffixExpr "." . (IDENTIFIER) @constant ) ) (INTEGER) @number (FLOAT) @number [ (STRINGLITERAL) (STRINGLITERALSINGLE) ] @string (CHAR_LITERAL) @string [ "allowzero" "volatile" "anytype" "anyframe" (BuildinTypeExpr) ] @type.builtin (BreakLabel (IDENTIFIER) @label) (BlockLabel (IDENTIFIER) @label) [ "true" "false" "undefined" "unreachable" "null" ] @constant.builtin [ "else" "if" "switch" "for" "while" "return" "break" "continue" "defer" "errdefer" "async" "nosuspend" "await" "suspend" "resume" "try" "catch" ] @keyword.control [ "struct" "enum" "union" "error" "packed" "opaque" "test" "usingnamespace" "export" "extern" "const" "var" "comptime" "threadlocal" ] @keyword [ "pub" "fn" ] @keyword.function ; PrecProc [ "inline" "noinline" "asm" "callconv" "noalias" ] @attribute [ (BUILTINIDENTIFIER) "linksection" "align" ] @function.builtin [ (CompareOp) (BitwiseOp) (BitShiftOp) (AdditionOp) (MultiplyOp) (PrefixOp) "or" "and" "orelse" "*" "**" "->" "=>" ".?" ".*" "=" ] @operator [ ";" "." "," ":" ] @punctuation.delimiter [ ".." "..." "[" "]" "(" ")" "{" "}" (Payload "|") (PtrPayload "|") (PtrIndexPayload "|") ] @punctuation