summaryrefslogtreecommitdiff
path: root/queries/surface/highlights.scm
blob: 77b88c052ab1e26b85fe3d1234619b13d95a4804 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
; Surface text is highlighted as such
(text) @text

; Surface has two types of comments, both are highlighted as such
(comment) @comment

; Surface attributes are highlighted as HTML attributes
(attribute_name) @tag.attribute

; Attributes are highlighted as strings
(attribute_value) @string

; Surface blocks are highlighted as keywords
[
  (start_block) 
  (end_block)
  (subblock)
] @keyword

; Surface supports HTML tags and are highlighted as such
[
  (start_tag)
  (end_tag)
  (self_closing_tag)
  (start_component)
  (end_component)
  (self_closing_component)
] @tag.delimiter

; Expressions are similar to string interpolation, and are highloghted as such
(expression) @punctuation.special

; Expressions should be highlighted as Elixir, fallback to special strings
(expression_value) @string.special

; Surface tags are highlighted as HTML
(tag_name) @tag

; Surface components are highlighted as types (Elixir modules)
(component_name) @type

; Surface directives are highlighted as keywords
(directive_name) @keyword

; Surface operators
["="] @operator