mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-08 22:40:12 -04:00
feat(glimmer): add glimmer-javascript and glimmer-typescript (#7064)
This commit is contained in:
parent
0b61eb4923
commit
628f53e4cb
12 changed files with 152 additions and 8 deletions
61
queries/glimmer_javascript/highlights.scm
Normal file
61
queries/glimmer_javascript/highlights.scm
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
; inherits: ecma
|
||||
|
||||
(glimmer_opening_tag) @tag.builtin
|
||||
|
||||
(glimmer_closing_tag) @tag.builtin
|
||||
|
||||
; Copied from javascript
|
||||
; Parameters
|
||||
(formal_parameters
|
||||
(identifier) @variable.parameter)
|
||||
|
||||
(formal_parameters
|
||||
(rest_pattern
|
||||
(identifier) @variable.parameter))
|
||||
|
||||
; ({ a }) => null
|
||||
(formal_parameters
|
||||
(object_pattern
|
||||
(shorthand_property_identifier_pattern) @variable.parameter))
|
||||
|
||||
; ({ a = b }) => null
|
||||
(formal_parameters
|
||||
(object_pattern
|
||||
(object_assignment_pattern
|
||||
(shorthand_property_identifier_pattern) @variable.parameter)))
|
||||
|
||||
; ({ a: b }) => null
|
||||
(formal_parameters
|
||||
(object_pattern
|
||||
(pair_pattern
|
||||
value: (identifier) @variable.parameter)))
|
||||
|
||||
; ([ a ]) => null
|
||||
(formal_parameters
|
||||
(array_pattern
|
||||
(identifier) @variable.parameter))
|
||||
|
||||
; ({ a } = { a }) => null
|
||||
(formal_parameters
|
||||
(assignment_pattern
|
||||
(object_pattern
|
||||
(shorthand_property_identifier_pattern) @variable.parameter)))
|
||||
|
||||
; ({ a = b } = { a }) => null
|
||||
(formal_parameters
|
||||
(assignment_pattern
|
||||
(object_pattern
|
||||
(object_assignment_pattern
|
||||
(shorthand_property_identifier_pattern) @variable.parameter))))
|
||||
|
||||
; a => null
|
||||
(arrow_function
|
||||
parameter: (identifier) @variable.parameter)
|
||||
|
||||
; optional parameters
|
||||
(formal_parameters
|
||||
(assignment_pattern
|
||||
left: (identifier) @variable.parameter))
|
||||
|
||||
; punctuation
|
||||
(optional_chain) @punctuation.delimiter
|
||||
5
queries/glimmer_javascript/indents.scm
Normal file
5
queries/glimmer_javascript/indents.scm
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
; inherits: ecma
|
||||
|
||||
(glimmer_opening_tag) @indent.begin
|
||||
|
||||
(glimmer_closing_tag) @indent.end
|
||||
15
queries/glimmer_javascript/injections.scm
Normal file
15
queries/glimmer_javascript/injections.scm
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
; inherits: ecma
|
||||
|
||||
; Parse Ember/Glimmer/Handlebars/HTMLBars/etc. template literals
|
||||
; e.g.: await render(hbs`<SomeComponent />`)
|
||||
(call_expression
|
||||
function: ((identifier) @_name
|
||||
(#eq? @_name "hbs"))
|
||||
arguments: ((template_string) @glimmer
|
||||
(#offset! @glimmer 0 1 0 -1)))
|
||||
|
||||
; Ember Unified <template> syntax
|
||||
; e.g.: <template><SomeComponent @arg={{double @value}} /></template>
|
||||
((glimmer_template) @injection.content
|
||||
(#set! injection.language "glimmer")
|
||||
(#set! injection.include-children))
|
||||
1
queries/glimmer_javascript/locals.scm
Normal file
1
queries/glimmer_javascript/locals.scm
Normal file
|
|
@ -0,0 +1 @@
|
|||
; inherits: ecma
|
||||
Loading…
Add table
Add a link
Reference in a new issue