diff --git a/languages.toml b/languages.toml index 7e48301ac..4fe024203 100644 --- a/languages.toml +++ b/languages.toml @@ -1039,7 +1039,7 @@ args = { console = "internalConsole", attachCommands = [ "platform select remote [[grammar]] name = "zig" -source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "8d3224c3bd0890fe08358886ebf54fca2ed448a6" } +source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "0d08703e4c3f426ec61695d7617415fff97029bd" } [[language]] name = "prolog" diff --git a/runtime/queries/zig/highlights.scm b/runtime/queries/zig/highlights.scm index e2e79518c..d6b1f95a2 100644 --- a/runtime/queries/zig/highlights.scm +++ b/runtime/queries/zig/highlights.scm @@ -14,7 +14,7 @@ field_access: (IDENTIFIER) parameter: (IDENTIFIER) ] @type - (#match? @type "^[A-Z]([a-z]+[A-Za-z0-9]*)*$") + (#match? @type "^[A-Z]([a-z]+[A-Za-z0-9]*)+$") ) ;; assume camelCase is a function @@ -122,8 +122,11 @@ field_constant: (IDENTIFIER) @constant ] @keyword.operator [ - "struct" "enum" +] @type.enum + +[ + "struct" "union" "packed" "opaque" diff --git a/runtime/queries/zig/textobjects.scm b/runtime/queries/zig/textobjects.scm index 67528943c..5c4ebd862 100644 --- a/runtime/queries/zig/textobjects.scm +++ b/runtime/queries/zig/textobjects.scm @@ -1,4 +1,4 @@ -(TopLevelDecl (FnProto) +(Decl (FnProto) (_) @function.inside) @function.around (TestDecl (_) @test.inside) @test.around @@ -6,10 +6,10 @@ ; matches all of: struct, enum, union ; this unfortunately cannot be split up because ; of the way struct "container" types are defined -(TopLevelDecl (VarDecl (ErrorUnionExpr (SuffixExpr (ContainerDecl +(Decl (VarDecl (ErrorUnionExpr (SuffixExpr (ContainerDecl (_) @class.inside))))) @class.around -(TopLevelDecl (VarDecl (ErrorUnionExpr (SuffixExpr (ErrorSetDecl +(Decl (VarDecl (ErrorUnionExpr (SuffixExpr (ErrorSetDecl (_) @class.inside))))) @class.around (ParamDeclList