mirror of https://github.com/helix-editor/helix
languages: add templ (#8540)
parent
8d44459c6a
commit
764715a6c0
@ -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
|
@ -0,0 +1,4 @@
|
||||
((script_block_text) @injection.content (#set! injection.language "javascript"))
|
||||
((script_element_text) @injection.content (#set! injection.language "javascript"))
|
||||
|
||||
((style_element_text) @injection.content (#set! injection.language "css"))
|
Loading…
Reference in New Issue