diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2023-06-12 09:54:30 -0600 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2025-05-12 18:43:40 +0200 |
| commit | 692b051b09935653befdb8f7ba8afdb640adf17b (patch) | |
| tree | 167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/qmljs | |
| parent | feat(c-family): inherit injections (diff) | |
| download | nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2 nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip | |
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/qmljs')
| -rw-r--r-- | runtime/queries/qmljs/folds.scm | 8 | ||||
| -rw-r--r-- | runtime/queries/qmljs/highlights.scm | 116 | ||||
| -rw-r--r-- | runtime/queries/qmljs/injections.scm | 1 |
3 files changed, 125 insertions, 0 deletions
diff --git a/runtime/queries/qmljs/folds.scm b/runtime/queries/qmljs/folds.scm new file mode 100644 index 000000000..9b917993e --- /dev/null +++ b/runtime/queries/qmljs/folds.scm @@ -0,0 +1,8 @@ +[ + (ui_object_definition) + (function_declaration) + (statement_block) + (if_statement) + (ui_binding) + (comment) +] @fold diff --git a/runtime/queries/qmljs/highlights.scm b/runtime/queries/qmljs/highlights.scm new file mode 100644 index 000000000..27f332028 --- /dev/null +++ b/runtime/queries/qmljs/highlights.scm @@ -0,0 +1,116 @@ +; inherits: ecma + +"pragma" @keyword.import + +; Annotations +(ui_annotation + "@" @operator + type_name: [ + (identifier) @attribute + (nested_identifier + (identifier) @attribute) + ]) + +; type +(ui_property + type: (type_identifier) @type) + +; Properties +(ui_object_definition_binding + name: [ + (identifier) @property + (nested_identifier + (identifier) @property) + ]) + +(ui_binding + name: [ + (identifier) @property + (nested_identifier + (identifier) @property) + ]) + +; locals query appears not working unless id: <ref> isn't a parameter. +(ui_binding + name: (identifier) @property + (#eq? @property "id") + value: (expression_statement + (identifier) @variable)) + +(ui_property + name: (identifier) @property) + +(ui_required + name: (identifier) @property) + +(ui_list_property_type + [ + "<" + ">" + ] @punctuation.bracket) + +; Signals +(ui_signal + name: (identifier) @function) + +(ui_signal_parameter + (identifier) @variable) + +; ui_object_definition +(ui_object_definition + type_name: (identifier) @type) + +(ui_object_definition + type_name: (nested_identifier) @type) + +; namespace +(nested_identifier + (nested_identifier + (identifier) @module)) + +; Tokens +;------- +[ + "abstract" + "private" + "protected" + "public" + "default" + "readonly" + "required" +] @keyword.modifier + +; from typescript +(type_identifier) @type + +(predefined_type) @type.builtin + +(type_arguments + "<" @punctuation.bracket + ">" @punctuation.bracket) + +; Variables +(required_parameter + (identifier) @variable) + +(optional_parameter + (identifier) @variable) + +; Keywords +[ + "on" + "property" + "signal" + "declare" + "implements" + "override" +] @keyword + +[ + "interface" + "type" + "enum" + "namespace" +] @keyword.type + +"keyof" @keyword.operator diff --git a/runtime/queries/qmljs/injections.scm b/runtime/queries/qmljs/injections.scm new file mode 100644 index 000000000..04328f099 --- /dev/null +++ b/runtime/queries/qmljs/injections.scm @@ -0,0 +1 @@ +; inherits: ecma |
