diff options
| author | NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> | 2024-08-31 13:15:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-31 19:15:40 +0200 |
| commit | 628f53e4cb61aec510a1458848771cab6152c12b (patch) | |
| tree | c55dc2ecd54c32ae1f0fab3198d5db62127e0f5d /queries/glimmer_javascript | |
| parent | fix(ini): highlight setting value as `@string` (#7104) (diff) | |
| download | nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.tar nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.tar.gz nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.tar.bz2 nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.tar.lz nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.tar.xz nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.tar.zst nvim-treesitter-628f53e4cb61aec510a1458848771cab6152c12b.zip | |
feat(glimmer): add glimmer-javascript and glimmer-typescript (#7064)
Diffstat (limited to 'queries/glimmer_javascript')
| -rw-r--r-- | queries/glimmer_javascript/highlights.scm | 61 | ||||
| -rw-r--r-- | queries/glimmer_javascript/indents.scm | 5 | ||||
| -rw-r--r-- | queries/glimmer_javascript/injections.scm | 15 | ||||
| -rw-r--r-- | queries/glimmer_javascript/locals.scm | 1 |
4 files changed, 82 insertions, 0 deletions
diff --git a/queries/glimmer_javascript/highlights.scm b/queries/glimmer_javascript/highlights.scm new file mode 100644 index 000000000..5bec5b149 --- /dev/null +++ b/queries/glimmer_javascript/highlights.scm @@ -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 diff --git a/queries/glimmer_javascript/indents.scm b/queries/glimmer_javascript/indents.scm new file mode 100644 index 000000000..2bf2b7801 --- /dev/null +++ b/queries/glimmer_javascript/indents.scm @@ -0,0 +1,5 @@ +; inherits: ecma + +(glimmer_opening_tag) @indent.begin + +(glimmer_closing_tag) @indent.end diff --git a/queries/glimmer_javascript/injections.scm b/queries/glimmer_javascript/injections.scm new file mode 100644 index 000000000..38cf529b7 --- /dev/null +++ b/queries/glimmer_javascript/injections.scm @@ -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)) diff --git a/queries/glimmer_javascript/locals.scm b/queries/glimmer_javascript/locals.scm new file mode 100644 index 000000000..04328f099 --- /dev/null +++ b/queries/glimmer_javascript/locals.scm @@ -0,0 +1 @@ +; inherits: ecma |
