Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/slint/highlights.scm')
| -rw-r--r-- | runtime/queries/slint/highlights.scm | 339 |
1 files changed, 131 insertions, 208 deletions
diff --git a/runtime/queries/slint/highlights.scm b/runtime/queries/slint/highlights.scm index 06d82a41..c0ef3dd8 100644 --- a/runtime/queries/slint/highlights.scm +++ b/runtime/queries/slint/highlights.scm @@ -1,109 +1,122 @@ -(comment) @comment - -; Different types: -(string_value) @string -(bool_value) @constant.builtin.boolean - -; Constants - -(escape_sequence) @constant.character.escape - -(color_value) @constant +(identifier) @variable [ - (children_identifier) - (easing_kind_identifier) -] @constant.builtin + (type_identifier) + (units) +]@type -[ - (int_value) - (physical_length_value) -] @constant.numeric.integer +(array_literal + (identifier) @type) +(function_identifier) @function [ - (float_value) - (percent_value) - (length_value) - (duration_value) - (angle_value) - (relative_font_size_value) -] @constant.numeric.float - -(purity) @keyword.storage.modifier - -(function_visibility) @keyword.storage.modifier - -(property_visibility) @keyword.storage.modifier + (image_macro) + (children_macro) + (radial_grad_macro) + (linear_grad_macro) +] @function.macro -(builtin_type_identifier) @type.builtin +(call_expression + function: (identifier) @function) +(call_expression + function: (field_expression + field: (identifier) @function)) -(reference_identifier) @variable.builtin +(vis) @keyword.control.import -(type - [ - (type_list) - (user_type_identifier) - (anon_struct_block) - ]) @type +(transition_statement state: (identifier) @variable.other.member) +(state_expression state: (identifier) @variable.other.member) +(struct_block_definition field: (identifier) @variable.other.member) +(assign_property (identifier) @attribute) -(user_type_identifier) @type - -; Functions and callbacks -(argument) @variable.parameter +(comment) @comment -(function_call - name: (_) @function.call) +(string_literal) @string +(int_literal) @constant.numeric.integer +(float_literal) @constant.numeric.float -; definitions -(callback - name: (_) @function) +[ + "in" + "in-out" + "for" +] @keyword.control.repeat -(callback_alias - name: (_) @function) +[ + "import" + "export" + "from" +] @keyword.control.import -(callback_event - name: (simple_identifier) @function.call) +[ + "if" + "else" + "when" +] @keyword.control.conditional -(enum_definition - name: (_) @type.enum) +[ + "struct" + "property" +] @keyword.storage.type -(function_definition - name: (_) @function) +[ + "global" +] @keyword.storage.modifier -(struct_definition - name: (_) @type) -(typed_identifier - type: (_) @type) +[ + "root" + "parent" + "duration" + "easing" +] @variable.builtin -; Operators -(binary_expression - op: (_) @operator) -(unary_expression - op: (_) @operator) +[ + "callback" + "animate" + "states" + "out" + "transitions" + "component" + "inherits" +] @keyword [ - (comparison_operator) - (mult_prec_operator) - (add_prec_operator) - (unary_prec_operator) - (assignment_prec_operator) -] @operator + "black" + "transparent" + "blue" + "ease" + "ease_in" + "ease-in" + "ease_in_out" + "ease-in-out" + "ease_out" + "ease-out" + "end" + "green" + "red" + "start" + "yellow" + "white" + "gray" + ] @constant.builtin [ - ":=" - "=>" - "->" - "<=>" -] @operator + "true" + "false" +] @constant.builtin.boolean +"@" @keyword + +; ; Punctuation [ - ";" - "." "," + "." + ";" + ":" ] @punctuation.delimiter +; ; Brackets [ "(" ")" @@ -113,136 +126,46 @@ "}" ] @punctuation.bracket -(property - [ - "<" - ">" - ] @punctuation.bracket) - -; Properties, constants and variables -(component - id: (simple_identifier) @constant) - -(property - name: (simple_identifier) @variable) - -(binding_alias - name: (simple_identifier) @variable) - -(binding - name: (simple_identifier) @variable) +(define_property ["<" ">"] @punctuation.bracket) -(struct_block - (simple_identifier) @variable.other.member) - -(anon_struct_block - (simple_identifier) @variable.other.member) - -(property_assignment - property: (simple_identifier) @variable) - -(states_definition - name: (simple_identifier) @variable) - -(callback - name: (simple_identifier) @variable) - -(typed_identifier - name: (_) @variable) - -(simple_indexed_identifier - (simple_identifier) @variable) - -(expression - (simple_identifier) @variable) +[ + "angle" + "bool" + "brush" + "color" + "duration" + "easing" + "float" + "image" + "int" + "length" + "percent" + "physical-length" + "physical_length" + "string" +] @type.builtin -; Attributes [ - (linear_gradient_identifier) - (radial_gradient_identifier) - (radial_gradient_kind) -] @attribute - -(image_call - "@image-url" @attribute) - -(tr - "@tr" @attribute) - -; Keywords -(animate_option_identifier) @keyword - -(export) @keyword.control.import - -(if_statement - "if" @keyword.control.conditional) - -(if_expr - [ - "if" - "else" - ] @keyword.control.conditional) - -(ternary_expression - [ - "?" - ":" - ] @keyword.control.conditional) - -(animate_statement - "animate" @keyword) - -(callback - "callback" @keyword.function) - -(component_definition - [ - "component" - "inherits" - ] @keyword.storage.type) - -(enum_definition - "enum" @keyword.storage.type) - -(for_loop - [ - "for" - "in" - ] @keyword.control.repeat) - -(function_definition - "function" @keyword.function) - -(global_definition - "global" @keyword.storage.type) - -(imperative_block - "return" @keyword.control.return) - -(import_statement - [ - "import" - "from" - ] @keyword.control.import) - -(import_type - "as" @keyword.control.import) - -(property - "property" @keyword.storage.type) - -(states_definition - [ - "states" - "when" - ] @keyword) - -(struct_definition - "struct" @keyword.storage.type) - -(transitions_definition - [ - "transitions" - "in" - "out" - ] @keyword) + ":=" + "<=>" + "!" + "-" + "+" + "*" + "/" + "&&" + "||" + ">" + "<" + ">=" + "<=" + "=" + ":" + "+=" + "-=" + "*=" + "/=" + "?" + "=>" ] @operator + +(ternary_expression [":" "?"] @keyword.control.conditional)
\ No newline at end of file |