Unnamed repository; edit this file 'description' to name the repository.
grammars: update Just to support latest versions (#16019)
Bring up Just support to 1.56.0, adding more keywords, injections, and other highlighted items.
| -rw-r--r-- | languages.toml | 3 | ||||
| -rw-r--r-- | runtime/queries/just/highlights.scm | 42 | ||||
| -rw-r--r-- | runtime/queries/just/injections.scm | 7 | ||||
| -rw-r--r-- | runtime/queries/just/locals.scm | 3 | ||||
| -rw-r--r-- | runtime/queries/just/tags.scm | 3 | ||||
| -rw-r--r-- | runtime/queries/just/textobjects.scm | 8 |
6 files changed, 46 insertions, 20 deletions
diff --git a/languages.toml b/languages.toml index a2843e4e2..32e40358e 100644 --- a/languages.toml +++ b/languages.toml @@ -3859,7 +3859,7 @@ formatter = { command = "just", args = ["--fmt", "--justfile", "-"] } [[grammar]] name = "just" -source = { git = "https://github.com/poliorcetics/tree-sitter-just", rev = "f749ec853adcacc5f14e9ec375f244104e033d88" } +source = { git = "https://github.com/poliorcetics/tree-sitter-just", rev = "00859eebfb774d371af174ea1e582d46e697b469" } [[language]] name = "gn" @@ -5647,4 +5647,3 @@ comment-tokens = ["REM", "::"] [[grammar]] name = "batch" source = { git = "https://github.com/wharflab/tree-sitter-batch", rev = "5fc5f54267ef9a78e7a5319b80e092194252aabf" } - diff --git a/runtime/queries/just/highlights.scm b/runtime/queries/just/highlights.scm index 67c88b87b..dfc3577bf 100644 --- a/runtime/queries/just/highlights.scm +++ b/runtime/queries/just/highlights.scm @@ -10,6 +10,8 @@ [ "alias" + "assert" + "eager" "set" "shell" ] @keyword @@ -19,11 +21,6 @@ "else" ] @keyword.control.conditional -[ - "&&" - "||" -] @operator - ; Variables (value @@ -42,6 +39,9 @@ ; Functions +(function + name: (identifier) @function) + (recipe name: (identifier) @function) @@ -53,6 +53,12 @@ ; Parameters +(attribute_named_parameter + name: (identifier) @variable.parameter) + +(function_decl_parameters + (identifier) @variable.parameter) + (recipe_parameter name: (identifier) @variable.parameter) @@ -78,7 +84,6 @@ (shebang_line (shebang_shell) @string.special) - (shell_expanded_string [ (expansion_short_start) @@ -90,23 +95,26 @@ ; Operators [ + "-" + "-@" + ":" ":=" - "?" - "==" + "!" "!=" - "=~" "!~" + "?" + "@-" "@" - "=" - "$" "*" - "+" - "&&" - "@-" - "-@" - "-" "/" - ":" + "&&" + "+" + "++" + "=" + "==" + "=~" + "||" + "$" ] @operator ; Punctuation diff --git a/runtime/queries/just/injections.scm b/runtime/queries/just/injections.scm index 98bb9c437..bce491bfc 100644 --- a/runtime/queries/just/injections.scm +++ b/runtime/queries/just/injections.scm @@ -10,6 +10,13 @@ (_) @injection.content) (#set! injection.language "regex")) +; Highlight the value of attribute `[arg(pattern = "...")]` as regex +(attribute_named_parameter + name: (identifier) @_name + value: (expression (value (string) @injection.content + (#set! injection.language "regex"))) + (#match? @_name "^pattern$")) + ; ================ Global defaults ================ ; Default recipe lines to be bash, but exclude interpolation nodes diff --git a/runtime/queries/just/locals.scm b/runtime/queries/just/locals.scm index b0b40667d..78572b626 100644 --- a/runtime/queries/just/locals.scm +++ b/runtime/queries/just/locals.scm @@ -13,6 +13,9 @@ (assignment name: (identifier) @local.definition.variable) +(function + name: (identifier) @local.definition.function) + (mod name: (identifier) @local.definition.namespace) diff --git a/runtime/queries/just/tags.scm b/runtime/queries/just/tags.scm index 53e33a65c..ceab17256 100644 --- a/runtime/queries/just/tags.scm +++ b/runtime/queries/just/tags.scm @@ -6,6 +6,9 @@ (assignment name: (identifier) @definition.constant) +(function + name: (identifier) @definition.function) + (import (path) @definition.module) diff --git a/runtime/queries/just/textobjects.scm b/runtime/queries/just/textobjects.scm index b60b11e4d..bf2ca1dbc 100644 --- a/runtime/queries/just/textobjects.scm +++ b/runtime/queries/just/textobjects.scm @@ -3,6 +3,12 @@ (assert_parameters ((_) @parameter.inside . ","? @parameter.around)) @parameter.around +(function + (expression) @function.inside) @function.around + +(function_decl_parameters + ((_) @parameter.inside . ","? @parameter.around)) @parameter.around + (recipe (recipe_body) @function.inside) @function.around @@ -13,7 +19,7 @@ (_) @parameter.inside) @parameter.around (function_call - (function_parameters + (function_call_parameters ((_) @parameter.inside . ","? @parameter.around)) @parameter.around) @function.around (comment) @comment.around |