mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-18 11:20:07 -04:00
Update glimmer queries from plugin
Maybe there is a way to read this file from the plugin directly?
This commit is contained in:
parent
bc64492720
commit
76c1cab7ab
1 changed files with 59 additions and 8 deletions
|
|
@ -1,10 +1,9 @@
|
||||||
;; By @alexlafroscia (https://github.com/alexlafroscia/tree-sitter-glimmer)
|
; === Tag Names ===
|
||||||
;; Licensed under MIT
|
|
||||||
;; Modified for nvim-treesitter
|
|
||||||
|
|
||||||
; Tags that start with a lower case letter are HTML tags
|
; 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
|
((tag_name) @tag
|
||||||
(#match? @tag "^[a-z]"))
|
(#match? @tag "^(:)?[a-z]"))
|
||||||
; Tags that start with a capital letter are Glimmer components
|
; Tags that start with a capital letter are Glimmer components
|
||||||
((tag_name) @constructor
|
((tag_name) @constructor
|
||||||
(#match? @constructor "^[A-Z]"))
|
(#match? @constructor "^[A-Z]"))
|
||||||
|
|
@ -15,16 +14,68 @@
|
||||||
(number_literal) @number
|
(number_literal) @number
|
||||||
(boolean_literal) @boolean
|
(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) @conditional)
|
||||||
|
(#match? @conditional "^(if|each|let)$"))
|
||||||
|
((block_statement_end path: (identifier) @conditional)
|
||||||
|
(#match? @conditional "^(if|each|let)$"))
|
||||||
|
((mustache_statement (identifier) @conditional)
|
||||||
|
(#match? @conditional "else"))
|
||||||
|
|
||||||
; == Mustache Statements ===
|
; == Mustache Statements ===
|
||||||
|
|
||||||
; Hightlight the whole statement, to color brackets and separators
|
; Hightlight the whole statement, to color brackets and separators
|
||||||
(mustache_statement) @tag.delimiter
|
(mustache_statement) @tag.delimiter
|
||||||
|
|
||||||
; Generic identifiers are variables
|
; An identifier in a mustache expression is a variable
|
||||||
(identifier) @variable
|
((mustache_statement [
|
||||||
|
(path_expression (identifier) @variable)
|
||||||
|
(identifier) @variable
|
||||||
|
])
|
||||||
|
(#not-match? @variable "yield|outlet|this|else"))
|
||||||
|
; As are arguments in a block statement
|
||||||
|
(block_statement_start argument: [
|
||||||
|
(path_expression (identifier) @variable)
|
||||||
|
(identifier) @variable
|
||||||
|
])
|
||||||
|
; As is an identifier in a block param
|
||||||
|
(block_params (identifier) @variable)
|
||||||
|
; As are helper arguments
|
||||||
|
(helper_invocation argument: [
|
||||||
|
(path_expression (identifier) @variable)
|
||||||
|
(identifier) @variable
|
||||||
|
])
|
||||||
|
; `this` should be highlighted as a built-in variable
|
||||||
|
((mustache_statement [
|
||||||
|
(path_expression (identifier) @variable.builtin)
|
||||||
|
(identifier) @variable.builtin
|
||||||
|
])
|
||||||
|
(#match? @variable.builtin "this"))
|
||||||
|
|
||||||
|
; If the identifier is just "yield" or "outlet", it's a keyword
|
||||||
|
((mustache_statement (identifier) @keyword)
|
||||||
|
(#match? @keyword "yield|outlet"))
|
||||||
|
|
||||||
; Helpers are functions
|
; Helpers are functions
|
||||||
;TODO: does not exist
|
((helper_invocation helper: [
|
||||||
;;(helper_identifier) @function
|
(path_expression (identifier) @function)
|
||||||
|
(identifier) @function
|
||||||
|
])
|
||||||
|
(#not-match? @function "if|yield"))
|
||||||
|
((helper_invocation helper: (identifier) @conditional)
|
||||||
|
(#match? @conditional "if"))
|
||||||
|
((helper_invocation helper: (identifier) @keyword)
|
||||||
|
(#match? @keyword "yield"))
|
||||||
|
|
||||||
|
(hash_pair key: (identifier) @property)
|
||||||
|
|
||||||
(comment_statement) @comment
|
(comment_statement) @comment
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue