diff options
| author | Amaan Qureshi <amaanq12@gmail.com> | 2023-03-07 04:32:20 -0500 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2023-03-07 12:49:04 +0100 |
| commit | ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9 (patch) | |
| tree | 563c7e02ee7727d422ea6d76bba4d882af8d4693 /queries/uxntal | |
| parent | Update parsers: yuck (diff) | |
| download | nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.tar nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.tar.gz nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.tar.bz2 nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.tar.lz nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.tar.xz nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.tar.zst nvim-treesitter-ba4bce9bb79f5a5fb2e7b5a6b9b4b0fb256f3db9.zip | |
feat: add Uxn Tal
Diffstat (limited to 'queries/uxntal')
| -rw-r--r-- | queries/uxntal/folds.scm | 7 | ||||
| -rw-r--r-- | queries/uxntal/highlights.scm | 84 | ||||
| -rw-r--r-- | queries/uxntal/indents.scm | 17 | ||||
| -rw-r--r-- | queries/uxntal/injections.scm | 1 | ||||
| -rw-r--r-- | queries/uxntal/locals.scm | 22 |
5 files changed, 131 insertions, 0 deletions
diff --git a/queries/uxntal/folds.scm b/queries/uxntal/folds.scm new file mode 100644 index 000000000..2043df867 --- /dev/null +++ b/queries/uxntal/folds.scm @@ -0,0 +1,7 @@ +[ + (macro) + (memory_execution) + (subroutine) + + (comment) +] @fold diff --git a/queries/uxntal/highlights.scm b/queries/uxntal/highlights.scm new file mode 100644 index 000000000..25b1148d7 --- /dev/null +++ b/queries/uxntal/highlights.scm @@ -0,0 +1,84 @@ +; Includes + +(include + "~" @include + _ @text.uri @string.special) + +; 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 + "@" @symbol + (identifier) @function) + +(sublabel_reference + (identifier) @namespace + "/" @punctuation.delimiter + (identifier) @label) + +; Repeats + +((identifier) @repeat + (#eq? @repeat "while")) + +; Variables + +(identifier) @variable + +; Literals + +(raw_ascii) @string + +(hex_literal + "#" @symbol + (hex_lit_value) @string.special) + +(number) @number + +; Punctuation + +[ "{" "}" ] @punctuation.bracket + +[ "[" "]" ] @punctuation.bracket + +[ + "%" + "|" + "$" + "," + "_" + "." + "-" + ";" + "=" + "!" + "?" + "&" +] @punctuation.special + +; Comments + +(comment) @comment @spell diff --git a/queries/uxntal/indents.scm b/queries/uxntal/indents.scm new file mode 100644 index 000000000..2802cfd1f --- /dev/null +++ b/queries/uxntal/indents.scm @@ -0,0 +1,17 @@ +(memory_execution) @auto + +[ + (subroutine) + (brackets) +] @indent + +"}" @indent_end + +[ "{" "}" ] @branch + +[ "[" "]" ] @branch + +[ + (ERROR) + (comment) +] @auto diff --git a/queries/uxntal/injections.scm b/queries/uxntal/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/uxntal/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/uxntal/locals.scm b/queries/uxntal/locals.scm new file mode 100644 index 000000000..0a8ddee96 --- /dev/null +++ b/queries/uxntal/locals.scm @@ -0,0 +1,22 @@ +; Scopes + +[ + (program) + (macro) + (memory_execution) + (subroutine) +] @scope + +; References + +(identifier) @reference + +; Definitions + +(label + "@" + . (identifier) @definition.function) + +(macro + "%" + . (identifier) @definition.macro) |
