diff options
| author | Access <ShootingStarDragons@protonmail.com> | 2022-07-07 22:33:47 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-07 16:33:47 +0200 |
| commit | 4b5966c81afffd3ee16e05c7df5ade1d057bbb97 (patch) | |
| tree | 9e86e0cfb8fd26653ca0151f7e164735768e09a3 /queries/qmljs | |
| parent | Update lockfile.json (diff) | |
| download | nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.tar nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.tar.gz nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.tar.bz2 nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.tar.lz nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.tar.xz nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.tar.zst nvim-treesitter-4b5966c81afffd3ee16e05c7df5ade1d057bbb97.zip | |
add qmljs (#3126)
Diffstat (limited to 'queries/qmljs')
| -rw-r--r-- | queries/qmljs/highlights.scm | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/queries/qmljs/highlights.scm b/queries/qmljs/highlights.scm new file mode 100644 index 000000000..cfaeeedaa --- /dev/null +++ b/queries/qmljs/highlights.scm @@ -0,0 +1,133 @@ +; inherits: ecma + +;;; 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) + + +;;; js + +; Properties +;----------- + +(property_identifier) @property + +; Literals +;--------- + +[ + (true) + (false) + (null) + (undefined) +] @constant.builtin + +(comment) @comment + +[ + (string) + (template_string) +] @string + +(regex) @string.special +(number) @number + +; Tokens +;------- + + + +;;; keywrod in qml +[ + "required" + "property" + "signal" +] @keyword + +; from typescript + +(type_identifier) @type +(predefined_type) @type.builtin + +((identifier) @type + (#match? @type "^[A-Z]")) + +(type_arguments + "<" @punctuation.bracket + ">" @punctuation.bracket) + +; Variables + +(required_parameter (identifier) @variable) +(optional_parameter (identifier) @variable) + +; Keywords + +[ "abstract" + "declare" + "enum" + "export" + "implements" + "interface" + "keyof" + "namespace" + "private" + "protected" + "public" + "type" + "readonly" + "override" +] @keyword + |
