summaryrefslogtreecommitdiff
path: root/vim/queries
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2025-12-08 00:33:14 -0700
committerJosh Rahm <joshuarahm@gmail.com>2025-12-08 00:33:14 -0700
commit4ec9d71f89e2cdc80ec57b7da99b17f0f9d6ec8f (patch)
treedf872660dfb68772660634e9003adabc5c5c62b1 /vim/queries
parent8d5ebd16125af02902a4e437f9295ad732c4dd1f (diff)
downloadfiddle-4ec9d71f89e2cdc80ec57b7da99b17f0f9d6ec8f.tar.gz
fiddle-4ec9d71f89e2cdc80ec57b7da99b17f0f9d6ec8f.tar.bz2
fiddle-4ec9d71f89e2cdc80ec57b7da99b17f0f9d6ec8f.zip
Add tree sitter grammar for Fiddle.
Diffstat (limited to 'vim/queries')
-rw-r--r--vim/queries/fiddle/highlights.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/vim/queries/fiddle/highlights.scm b/vim/queries/fiddle/highlights.scm
new file mode 100644
index 0000000..57b2611
--- /dev/null
+++ b/vim/queries/fiddle/highlights.scm
@@ -0,0 +1,38 @@
+; Keywords
+[
+ "package" "import" "using" "option" "location" "bits" "type" "instance" "at"
+ "struct" "union" "enum" "reg" "reserved" "assert_pos" "skip_to" "buffer"
+ "ro" "rw" "wo"
+] @keyword
+
+; Keep directives preproc-colored and suppress nested captures
+((directive) @attribute (#set! "priority" 120))
+((directive (directive_element) @none) (#set! "priority" 121))
+((directive (directive_element (identifier) @none)) (#set! "priority" 121))
+((directive (directive_element (directive_value (string) @none))) (#set! "priority" 121))
+((directive (directive_element (directive_value (number) @none))) (#set! "priority" 121))
+
+[
+ "(" ")" "[" "]" "{" "}" ";"
+] @punctuation.bracket
+
+[
+ ":" "," "." "=" ";"
+] @punctuation.delimiter
+
+"@" @operator
+
+(identifier) @variable
+(name (identifier) @type)
+
+(string) @string
+(number) @number
+
+(line_comment) @comment
+(doc_comment) @comment.documentation
+
+(bits_decl name: (identifier) @type)
+(type_decl name: (identifier) @type)
+(instance_decl name: (identifier) @variable)
+(register_decl name: (identifier) @function)
+(register_bits_decl name: (identifier) @field)