aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/uxntal
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-06-12 09:54:30 -0600
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commit692b051b09935653befdb8f7ba8afdb640adf17b (patch)
tree167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/uxntal
parentfeat(c-family): inherit injections (diff)
downloadnvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/uxntal')
-rw-r--r--runtime/queries/uxntal/folds.scm6
-rw-r--r--runtime/queries/uxntal/highlights.scm87
-rw-r--r--runtime/queries/uxntal/indents.scm23
-rw-r--r--runtime/queries/uxntal/injections.scm2
-rw-r--r--runtime/queries/uxntal/locals.scm21
5 files changed, 139 insertions, 0 deletions
diff --git a/runtime/queries/uxntal/folds.scm b/runtime/queries/uxntal/folds.scm
new file mode 100644
index 000000000..9e3f27db0
--- /dev/null
+++ b/runtime/queries/uxntal/folds.scm
@@ -0,0 +1,6 @@
+[
+ (macro)
+ (memory_execution)
+ (subroutine)
+ (comment)
+] @fold
diff --git a/runtime/queries/uxntal/highlights.scm b/runtime/queries/uxntal/highlights.scm
new file mode 100644
index 000000000..962b6d7b9
--- /dev/null
+++ b/runtime/queries/uxntal/highlights.scm
@@ -0,0 +1,87 @@
+; Includes
+(include
+ "~" @keyword.import
+ _ @string.special.url)
+
+; Variables
+(identifier) @variable
+
+; Macros
+(macro
+ "%"
+ (identifier) @function.macro)
+
+((identifier) @function.macro
+ (#lua-match? @function.macro "^[a-z]?[0-9]*[A-Z-_]+$"))
+
+(rune
+ .
+ rune_start: (rune_char
+ ",")
+ .
+ (identifier) @function.call)
+
+(rune
+ .
+ rune_start: (rune_char
+ ";")
+ .
+ (identifier) @function.call)
+
+((identifier) @function.call
+ (#lua-match? @function.call "^:"))
+
+; Keywords
+(opcode) @keyword
+
+; Labels
+(label
+ "@" @string.special.symbol
+ (identifier) @function)
+
+(sublabel_reference
+ (identifier) @module
+ "/" @punctuation.delimiter
+ (identifier) @label)
+
+; Repeats
+((identifier) @keyword.repeat
+ (#eq? @keyword.repeat "while"))
+
+; Literals
+(raw_ascii) @string
+
+(hex_literal
+ "#" @string.special.symbol
+ (hex_lit_value) @string.special)
+
+(number) @number
+
+; Punctuation
+[
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ "["
+ "]"
+] @punctuation.bracket
+
+[
+ "%"
+ "|"
+ "$"
+ ","
+ "_"
+ "."
+ "-"
+ ";"
+ "="
+ "!"
+ "?"
+ "&"
+] @punctuation.special
+
+; Comments
+(comment) @comment @spell
diff --git a/runtime/queries/uxntal/indents.scm b/runtime/queries/uxntal/indents.scm
new file mode 100644
index 000000000..b795b89ea
--- /dev/null
+++ b/runtime/queries/uxntal/indents.scm
@@ -0,0 +1,23 @@
+(memory_execution) @indent.auto
+
+[
+ (subroutine)
+ (brackets)
+] @indent.begin
+
+"}" @indent.end
+
+[
+ "{"
+ "}"
+] @indent.branch
+
+[
+ "["
+ "]"
+] @indent.branch
+
+[
+ (ERROR)
+ (comment)
+] @indent.auto
diff --git a/runtime/queries/uxntal/injections.scm b/runtime/queries/uxntal/injections.scm
new file mode 100644
index 000000000..2f0e58eb6
--- /dev/null
+++ b/runtime/queries/uxntal/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/runtime/queries/uxntal/locals.scm b/runtime/queries/uxntal/locals.scm
new file mode 100644
index 000000000..41fbb5b66
--- /dev/null
+++ b/runtime/queries/uxntal/locals.scm
@@ -0,0 +1,21 @@
+; Scopes
+[
+ (program)
+ (macro)
+ (memory_execution)
+ (subroutine)
+] @local.scope
+
+; References
+(identifier) @local.reference
+
+; Definitions
+(label
+ "@"
+ .
+ (identifier) @local.definition.function)
+
+(macro
+ "%"
+ .
+ (identifier) @local.definition.macro)