From 19dff5c3a4c1f41436cc11372e5e7dcbfe197112 Mon Sep 17 00:00:00 2001 From: Erasin Wang Date: Sun, 13 Aug 2023 15:18:57 +0800 Subject: Update slint grammar (#7893) --- runtime/queries/slint/highlights.scm | 190 ++++++++++++++++++++++------------- 1 file changed, 118 insertions(+), 72 deletions(-) (limited to 'runtime/queries/slint/highlights.scm') diff --git a/runtime/queries/slint/highlights.scm b/runtime/queries/slint/highlights.scm index c7773913..c0ef3dd8 100644 --- a/runtime/queries/slint/highlights.scm +++ b/runtime/queries/slint/highlights.scm @@ -1,105 +1,153 @@ -(user_type_identifier) @type +(identifier) @variable +[ + (type_identifier) + (units) +]@type -(var_identifier) @variable +(array_literal + (identifier) @type) -(state_identifier) @variable.other.member +(function_identifier) @function +[ + (image_macro) + (children_macro) + (radial_grad_macro) + (linear_grad_macro) +] @function.macro -(var_identifier - (post_identifier) @variable) +(call_expression + function: (identifier) @function) +(call_expression + function: (field_expression + field: (identifier) @function)) -(function_identifier) @function +(vis) @keyword.control.import -(reference_identifier) @keyword.storage.modifier.ref -(visibility_modifier) @keyword.storage.modifier +(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) (comment) @comment -(string) @string -(int_number) @constant.numeric -(unit_type) @type.builtin +(string_literal) @string +(int_literal) @constant.numeric.integer +(float_literal) @constant.numeric.float + +[ + "in" + "in-out" + "for" +] @keyword.control.repeat + +[ + "import" + "export" + "from" +] @keyword.control.import + +[ + "if" + "else" + "when" +] @keyword.control.conditional + +[ + "struct" + "property" +] @keyword.storage.type + +[ + "global" +] @keyword.storage.modifier + [ -"struct" -"property" -"callback" -"import" -"from" -"root" -"parent" -"this" -"for" -"in" -"if" -"else if" -"else" -"animate" -"states" -"when" -"in" -"out" -"transitions" -"global" + "root" + "parent" + "duration" + "easing" +] @variable.builtin + + +[ + "callback" + "animate" + "states" + "out" + "transitions" + "component" + "inherits" ] @keyword [ - "black" - "transparent" - "blue" - "ease" - "ease_in" - "ease-in" - "ease_in_out" - "ease-in-out" - "ease_out" - "ease-out" - "end" - "green" - "red" - "red" - "start" - "yellow" - "true" - "false" + "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 +[ + "true" + "false" +] @constant.builtin.boolean + "@" @keyword ; ; Punctuation [ "," "." + ";" + ":" ] @punctuation.delimiter ; ; Brackets [ -"(" -")" -"[" -"]" -"{" -"}" + "(" + ")" + "[" + "]" + "{" + "}" ] @punctuation.bracket +(define_property ["<" ">"] @punctuation.bracket) + [ -"angle" -"bool" -"brush" -; "color" // This causes problems -"duration" -"easing" -"float" -"image" -"int" -"length" -"percent" -"physical-length" -"physical_length" -"string" + "angle" + "bool" + "brush" + "color" + "duration" + "easing" + "float" + "image" + "int" + "length" + "percent" + "physical-length" + "physical_length" + "string" ] @type.builtin [ ":=" + "<=>" "!" "-" "+" @@ -118,8 +166,6 @@ "*=" "/=" "?" - - "=>" - ] @operator + "=>" ] @operator (ternary_expression [":" "?"] @keyword.control.conditional) \ No newline at end of file -- cgit v1.2.3-70-g09d2