diff options
Diffstat (limited to 'runtime/queries/templ/highlights.scm')
-rw-r--r-- | runtime/queries/templ/highlights.scm | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/runtime/queries/templ/highlights.scm b/runtime/queries/templ/highlights.scm new file mode 100644 index 00000000..e5b2ede0 --- /dev/null +++ b/runtime/queries/templ/highlights.scm @@ -0,0 +1,99 @@ +(package_identifier) @namespace + +(parameter_declaration (identifier) @variable.parameter) +(variadic_parameter_declaration (identifier) @variable.parameter) + +(function_declaration + name: (identifier) @function) + +(type_spec name: (type_identifier) @type) +(type_identifier) @type +(field_identifier) @variable.other.member +(identifier) @variable + +; Function calls + +(call_expression + function: (identifier) @function) + +(call_expression + function: (selector_expression + field: (field_identifier) @function)) + +; +; These are Templ specific +; + +(component_declaration + name: (component_identifier) @function) + +(tag_start) @tag +(tag_end) @tag +(self_closing_tag) @tag +(style_element) @tag + +(attribute + name: (attribute_name) @attribute) +(attribute + value: (quoted_attribute_value) @string) + +(element_text) @string.special +(style_element_text) @string.special + +(css_property + name: (css_property_name) @attribute) + +(expression) @function.method +(dynamic_class_attribute_value) @function.method + +(component_import + name: (component_identifier) @function) + +(component_render) @function + +[ + "@" +] @operator + +[ + "func" + "var" + "const" + "templ" + "css" + "type" + "struct" + "range" + "script" +] @keyword.storage.type + +[ + "return" +] @keyword.control.return + +[ + "import" + "package" +] @keyword.control.import + +[ + "else" + "case" + "switch" + "if" + "default" +] @keyword.control.conditional + +"for" @keyword.control.repeat + +[ + (interpreted_string_literal) + (raw_string_literal) + (rune_literal) +] @string + +; Comments + +(comment) @comment + +(element_comment) @comment |