aboutsummaryrefslogtreecommitdiffstats
path: root/queries/superhtml
diff options
context:
space:
mode:
authorTim Culverhouse <tim@timculverhouse.com>2024-09-09 09:50:54 -0500
committerChristian Clason <c.clason@uni-graz.at>2024-10-06 11:47:42 +0200
commit1bcdd79088f9ecca42090f41dd77c1a9b35578ff (patch)
tree33cba2c33abb968ff5af37e666993975f6a5f29c /queries/superhtml
parentbot(lockfile): update latex, nix, ruby (diff)
downloadnvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.tar
nvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.tar.gz
nvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.tar.bz2
nvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.tar.lz
nvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.tar.xz
nvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.tar.zst
nvim-treesitter-1bcdd79088f9ecca42090f41dd77c1a9b35578ff.zip
feat(superhtml): add superhtml parser and queries
SuperHTML is a templating language used by the zine static site generator.
Diffstat (limited to 'queries/superhtml')
-rw-r--r--queries/superhtml/highlights.scm44
-rw-r--r--queries/superhtml/injections.scm7
2 files changed, 51 insertions, 0 deletions
diff --git a/queries/superhtml/highlights.scm b/queries/superhtml/highlights.scm
new file mode 100644
index 000000000..cbf366d1c
--- /dev/null
+++ b/queries/superhtml/highlights.scm
@@ -0,0 +1,44 @@
+(doctype) @constant
+
+(comment) @comment
+
+(tag_name) @tag
+
+((tag_name) @string.special
+ (#any-of? @string.special "super" "extend"))
+
+(attribute_name) @attribute
+
+(attribute_value) @string
+
+((element
+ (start_tag
+ (attribute
+ (attribute_name) @_attribute
+ [
+ (attribute_value) @markup.link.url
+ (quoted_attribute_value
+ (attribute_value) @markup.link.url)
+ ]))
+ (element
+ (start_tag
+ (tag_name) @tag)))
+ (#eq? @tag "super")
+ (#eq? @_attribute "id"))
+
+(element
+ (start_tag
+ (tag_name) @string.special)
+ (#eq? @string.special "super"))
+
+"\"" @string
+
+[
+ "<"
+ ">"
+ "</"
+ "/>"
+ "<!"
+] @punctuation.bracket
+
+"=" @punctuation.delimiter
diff --git a/queries/superhtml/injections.scm b/queries/superhtml/injections.scm
new file mode 100644
index 000000000..138fe7c23
--- /dev/null
+++ b/queries/superhtml/injections.scm
@@ -0,0 +1,7 @@
+((script_element
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript"))
+
+((style_element
+ (raw_text) @injection.content)
+ (#set! injection.language "css"))