1; HEEx delimiters
2[
3 "/>"
4 "<!"
5 "<"
6 "</"
7 "</:"
8 "<:"
9 ">"
10 "{"
11 "}"
12] @punctuation.bracket
13
14[
15 "<%!--"
16 "<%"
17 "<%#"
18 "<%%="
19 "<%="
20 "%>"
21 "--%>"
22 "-->"
23 "<!--"
24] @keyword
25
26; HEEx operators are highlighted as such
27"=" @operator
28
29; HEEx inherits the DOCTYPE tag from HTML
30(doctype) @tag.doctype
31
32(comment) @comment
33
34; HEEx tags and slots are highlighted as HTML
35[
36 (tag_name)
37 (slot_name)
38] @tag
39
40; HEEx attributes are highlighted as HTML attributes
41(attribute_name) @attribute
42
43; HEEx special attributes are highlighted as keywords
44(special_attribute_name) @keyword
45
46[
47 (attribute_value)
48 (quoted_attribute_value)
49] @string
50
51; HEEx components are highlighted as Elixir modules and functions
52(component_name
53 [
54 (module) @module
55 (function) @function
56 "." @punctuation.delimiter
57 ])