aboutsummaryrefslogtreecommitdiffstats
path: root/queries/glimmer
diff options
context:
space:
mode:
authorPham Huy Hoang <hoangtun0810@gmail.com>2024-01-06 15:05:50 +0900
committerChristian Clason <c.clason@uni-graz.at>2024-01-19 16:58:37 +0100
commit57a8acf0c4ed5e7f6dda83c3f9b073f8a99a70f9 (patch)
tree70bf645539882b88e6fa129cefd30986b89bbac3 /queries/glimmer
parentci: add query lint job (diff)
downloadnvim-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.scm5
-rw-r--r--queries/glimmer/highlights.scm92
-rw-r--r--queries/glimmer/indents.scm36
-rw-r--r--queries/glimmer/locals.scm8
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)