diff options
| author | Pham Huy Hoang <hoangtun0810@gmail.com> | 2024-01-06 15:05:50 +0900 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2024-01-19 16:58:37 +0100 |
| commit | 57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9 (patch) | |
| tree | 70bf645539882b88e6fa129cefd30986b89bbac3 /queries/glimmer | |
| parent | ci: add query lint job (diff) | |
| download | nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.tar nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.tar.gz nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.tar.bz2 nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.tar.lz nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.tar.xz nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.tar.zst nvim-treesitter-57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9.zip | |
chore: query formatting
Diffstat (limited to 'queries/glimmer')
| -rw-r--r-- | queries/glimmer/folds.scm | 5 | ||||
| -rw-r--r-- | queries/glimmer/highlights.scm | 92 | ||||
| -rw-r--r-- | queries/glimmer/indents.scm | 36 | ||||
| -rw-r--r-- | queries/glimmer/locals.scm | 8 |
4 files changed, 94 insertions, 47 deletions
diff --git a/queries/glimmer/folds.scm b/queries/glimmer/folds.scm index cfe9d35b0..6502455d8 100644 --- a/queries/glimmer/folds.scm +++ b/queries/glimmer/folds.scm @@ -1,4 +1,5 @@ [ - (element_node (element_node_start)) - (block_statement) + (element_node + (element_node_start)) + (block_statement) ] @fold diff --git a/queries/glimmer/highlights.scm b/queries/glimmer/highlights.scm index 059a1069c..cfb1af15f 100644 --- a/queries/glimmer/highlights.scm +++ b/queries/glimmer/highlights.scm @@ -1,9 +1,9 @@ ; === Tag Names === - ; Tags that start with a lower case letter are HTML tags ; We'll also use this highlighting for named blocks (which start with `:`) ((tag_name) @tag (#lua-match? @tag "^:?[%l]")) + ; Tags that start with a capital letter are Glimmer components ((tag_name) @constructor (#lua-match? @constructor "^%u")) @@ -11,74 +11,106 @@ (attribute_name) @property (string_literal) @string + (number_literal) @number + (boolean_literal) @boolean (concat_statement) @string ; === Block Statements === - ; Highlight the brackets (block_statement_start) @tag.delimiter + (block_statement_end) @tag.delimiter ; Highlight `if`/`each`/`let` -(block_statement_start path: (identifier) @keyword.conditional) -(block_statement_end path: (identifier) @keyword.conditional) -((mustache_statement (identifier) @keyword.conditional) - (#lua-match? @keyword.conditional "else")) +(block_statement_start + path: (identifier) @keyword.conditional) -; == Mustache Statements === +(block_statement_end + path: (identifier) @keyword.conditional) + +((mustache_statement + (identifier) @keyword.conditional) + (#lua-match? @keyword.conditional "else")) +; == Mustache Statements === ; Highlight the whole statement, to color brackets and separators (mustache_statement) @tag.delimiter ; An identifier in a mustache expression is a variable -((mustache_statement [ - (path_expression (identifier) @variable) - (identifier) @variable +((mustache_statement + [ + (path_expression + (identifier) @variable) + (identifier) @variable ]) (#not-any-of? @variable "yield" "outlet" "this" "else")) + ; As are arguments in a block statement -(block_statement_start argument: [ - (path_expression (identifier) @variable) - (identifier) @variable - ]) +(block_statement_start + argument: + [ + (path_expression + (identifier) @variable) + (identifier) @variable + ]) + ; As is an identifier in a block param -(block_params (identifier) @variable) +(block_params + (identifier) @variable) + ; As are helper arguments -((helper_invocation argument: [ - (path_expression (identifier) @variable) - (identifier) @variable - ]) +((helper_invocation + argument: + [ + (path_expression + (identifier) @variable) + (identifier) @variable + ]) (#not-eq? @variable "this")) + ; `this` should be highlighted as a built-in variable ((identifier) @variable.builtin (#eq? @variable.builtin "this")) ; If the identifier is just "yield" or "outlet", it's a keyword -((mustache_statement (identifier) @keyword) +((mustache_statement + (identifier) @keyword) (#any-of? @keyword "yield" "outlet")) ; Helpers are functions -((helper_invocation helper: [ - (path_expression (identifier) @function) - (identifier) @function - ]) +((helper_invocation + helper: + [ + (path_expression + (identifier) @function) + (identifier) @function + ]) (#not-any-of? @function "if" "yield")) -((helper_invocation helper: (identifier) @keyword.conditional) + +((helper_invocation + helper: (identifier) @keyword.conditional) (#eq? @keyword.conditional "if")) -((helper_invocation helper: (identifier) @keyword) + +((helper_invocation + helper: (identifier) @keyword) (#eq? @keyword "yield")) -(hash_pair key: (identifier) @property) +(hash_pair + key: (identifier) @property) (comment_statement) @comment @spell -(attribute_node "=" @operator) +(attribute_node + "=" @operator) + +(block_params + "as" @keyword) -(block_params "as" @keyword) -(block_params "|" @operator) +(block_params + "|" @operator) [ "<" diff --git a/queries/glimmer/indents.scm b/queries/glimmer/indents.scm index 8bccf33fa..c1ef130c0 100644 --- a/queries/glimmer/indents.scm +++ b/queries/glimmer/indents.scm @@ -1,22 +1,34 @@ [ - (element_node (element_node_start)) + (element_node + (element_node_start)) (element_node_void) - (block_statement (block_statement_start)) + (block_statement + (block_statement_start)) (mustache_statement) ] @indent.begin -(element_node (element_node_end [">"] @indent.end)) -(element_node_void "/>" @indent.end) +(element_node + (element_node_end + ">" @indent.end)) + +(element_node_void + "/>" @indent.end) + [ - ">" - "/>" - "</" - "{{/" - "}}" + ">" + "/>" + "</" + "{{/" + "}}" ] @indent.branch (mustache_statement - (helper_invocation helper: (identifier) @_identifier (#eq? @_identifier "else")) - ) @indent.branch -(mustache_statement ((identifier) @_identifier (#eq? @_identifier "else"))) @indent.branch + (helper_invocation + helper: (identifier) @_identifier + (#eq? @_identifier "else"))) @indent.branch + +(mustache_statement + ((identifier) @_identifier + (#eq? @_identifier "else"))) @indent.branch + (comment_statement) @indent.ignore diff --git a/queries/glimmer/locals.scm b/queries/glimmer/locals.scm index 705382aa9..8fde3a297 100644 --- a/queries/glimmer/locals.scm +++ b/queries/glimmer/locals.scm @@ -1,7 +1,9 @@ [ - (element_node) - (block_statement) + (element_node) + (block_statement) ] @local.scope (identifier) @local.reference -(block_params (identifier) @local.definition.var) + +(block_params + (identifier) @local.definition.var) |
