diff options
author | Dmitry Sharshakov | 2021-08-28 11:59:26 +0000 |
---|---|---|
committer | Dmitry Sharshakov | 2021-08-28 11:59:26 +0000 |
commit | e3153946311b189bd5e10e816acbdda508ded31c (patch) | |
tree | 304e0b8c0b869cc239d8c0ce9b0f328fe589bd93 /runtime/queries/zig/highlights.scm | |
parent | 8df6739759396b45d06356dd78c39117590b062b (diff) | |
parent | d6a9c2c0f6f4af98146b52d1c886a1ca99d15676 (diff) |
Merge remote-tracking branch 'origin/master' into debug
Diffstat (limited to 'runtime/queries/zig/highlights.scm')
-rw-r--r-- | runtime/queries/zig/highlights.scm | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/runtime/queries/zig/highlights.scm b/runtime/queries/zig/highlights.scm new file mode 100644 index 00000000..5a3d62dc --- /dev/null +++ b/runtime/queries/zig/highlights.scm @@ -0,0 +1,198 @@ +[ + (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 |