diff options
Diffstat (limited to 'runtime/queries/qmljs/highlights.scm')
| -rw-r--r-- | runtime/queries/qmljs/highlights.scm | 116 |
1 files changed, 116 insertions, 0 deletions
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 |
