From 6e5e38c2ba3a99d1827fa53851b88a50055f744a Mon Sep 17 00:00:00 2001 From: voroskoi <60064214+voroskoi@users.noreply.github.com> Date: Sat, 3 Sep 2022 00:22:07 +0200 Subject: [PATCH] update zig grammar and highlight rules (#3621) --- languages.toml | 3 +- runtime/queries/zig/highlights.scm | 96 ++++++++++++++---------------- 2 files changed, 46 insertions(+), 53 deletions(-) diff --git a/languages.toml b/languages.toml index 05608b81..06921534 100644 --- a/languages.toml +++ b/languages.toml @@ -735,10 +735,9 @@ language-server = { command = "zls" } indent = { tab-width = 4, unit = " " } formatter = { command = "zig" , args = ["fmt", "--stdin"] } - [[grammar]] name = "zig" -source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "93331b8bd8b4ebee2b575490b2758f16ad4e9f30" } +source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "8d3224c3bd0890fe08358886ebf54fca2ed448a6" } [[language]] name = "prolog" diff --git a/runtime/queries/zig/highlights.scm b/runtime/queries/zig/highlights.scm index 62c99acc..e2e79518 100644 --- a/runtime/queries/zig/highlights.scm +++ b/runtime/queries/zig/highlights.scm @@ -1,20 +1,11 @@ [ (container_doc_comment) (doc_comment) - (line_comment) -] @comment +] @comment.documentation [ - variable: (IDENTIFIER) - variable_type_function: (IDENTIFIER) -] @variable - -parameter: (IDENTIFIER) @variable.parameter - -[ - field_member: (IDENTIFIER) - field_access: (IDENTIFIER) -] @variable.other.member + (line_comment) +] @comment.line ;; assume TitleCase is a type ( @@ -25,6 +16,7 @@ parameter: (IDENTIFIER) @variable.parameter ] @type (#match? @type "^[A-Z]([a-z]+[A-Za-z0-9]*)*$") ) + ;; assume camelCase is a function ( [ @@ -44,29 +36,33 @@ parameter: (IDENTIFIER) @variable.parameter (#match? @constant "^[A-Z][A-Z_0-9]+$") ) -[ - function_call: (IDENTIFIER) - function: (IDENTIFIER) -] @function - -exception: "!" @function.macro - +;; _ ( (IDENTIFIER) @variable.builtin (#eq? @variable.builtin "_") ) +;; C Pointers [*c]T (PtrTypeStart "c" @variable.builtin) -( - (ContainerDeclType - [ - (ErrorUnionExpr) - "enum" - ] - ) - (ContainerField (IDENTIFIER) @constant) -) +[ + variable: (IDENTIFIER) + variable_type_function: (IDENTIFIER) +] @variable + +parameter: (IDENTIFIER) @variable.parameter + +[ + field_member: (IDENTIFIER) + field_access: (IDENTIFIER) +] @variable.other.member + +[ + function_call: (IDENTIFIER) + function: (IDENTIFIER) +] @function + +exception: "!" @keyword.control.exception field_constant: (IDENTIFIER) @constant @@ -89,8 +85,6 @@ field_constant: (IDENTIFIER) @constant (FormatSequence) @string.special [ - "allowzero" - "volatile" "anytype" "anyframe" (BuildinTypeExpr) @@ -125,44 +119,53 @@ field_constant: (IDENTIFIER) @constant "or" "and" "orelse" -] @operator +] @keyword.operator [ "struct" "enum" "union" - "error" "packed" "opaque" -] @keyword + "export" + "extern" + "linksection" +] @keyword.storage.type + +[ + "const" + "var" + "threadlocal" + "allowzero" + "volatile" + "align" +] @keyword.storage.modifier [ "try" "error" "catch" -] @function.macro +] @keyword.control.exception -; VarDecl [ - "threadlocal" "fn" ] @keyword.function [ - "const" - "var" "test" +] @keyword + +[ "pub" "usingnamespace" -] @keyword +] @keyword.control.import [ "return" "break" "continue" -] @keyword.control +] @keyword.control.return -; Macro [ "defer" "errdefer" @@ -171,11 +174,8 @@ field_constant: (IDENTIFIER) @constant "await" "suspend" "resume" - "export" - "extern" ] @function.macro -; PrecProc [ "comptime" "inline" @@ -185,11 +185,6 @@ field_constant: (IDENTIFIER) @constant "noalias" ] @keyword.directive -[ - "linksection" - "align" -] @function.builtin - [ (CompareOp) (BitwiseOp) @@ -230,5 +225,4 @@ field_constant: (IDENTIFIER) @constant (PtrIndexPayload "|") ] @punctuation.bracket -; Error -(ERROR) @keyword +(ERROR) @keyword.control.exception