aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/surface/highlights.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/surface/highlights.scm')
-rw-r--r--runtime/queries/surface/highlights.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/runtime/queries/surface/highlights.scm b/runtime/queries/surface/highlights.scm
new file mode 100644
index 000000000..b874b8c1d
--- /dev/null
+++ b/runtime/queries/surface/highlights.scm
@@ -0,0 +1,44 @@
+; Surface text is not highlighted
+(text) @none
+
+; Surface has two types of comments, both are highlighted as such
+(comment) @comment @spell
+
+; Surface attributes are highlighted as HTML attributes
+(attribute_name) @tag.attribute
+
+; Attributes are highlighted as strings
+(quoted_attribute_value) @string
+
+; Surface blocks are highlighted as keywords
+[
+ (start_block)
+ (end_block)
+ (subblock)
+] @keyword
+
+; Surface supports HTML tags and are highlighted as such
+[
+ "<"
+ ">"
+ "</"
+ "/>"
+ "{"
+ "}"
+ "<!--"
+ "-->"
+ "{!--"
+ "--}"
+] @tag.delimiter
+
+; 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