diff options
| author | David Lysenko <InfiniteRain@users.noreply.github.com> | 2024-11-06 18:09:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-06 17:09:38 +0000 |
| commit | 7c5a4632c4cfcb513e9ff20815a7781c464fb9d0 (patch) | |
| tree | a5042110ea470a07129e3d5f4ce815a937b6e354 /queries | |
| parent | bot(lockfile): update gitattributes, nix, nu, printf, properties, tcl (diff) | |
| download | nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.tar nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.tar.gz nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.tar.bz2 nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.tar.lz nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.tar.xz nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.tar.zst nvim-treesitter-7c5a4632c4cfcb513e9ff20815a7781c464fb9d0.zip | |
feat(runescript): add parser and queries (#7305)
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/runescript/highlights.scm | 119 | ||||
| -rw-r--r-- | queries/runescript/injections.scm | 2 |
2 files changed, 121 insertions, 0 deletions
diff --git a/queries/runescript/highlights.scm b/queries/runescript/highlights.scm new file mode 100644 index 000000000..d0c9432bd --- /dev/null +++ b/queries/runescript/highlights.scm @@ -0,0 +1,119 @@ +; Variables +(identifier) @variable + +(local_variable + "$" @attribute.builtin) + +(game_variable + [ + "%" + ".%" + ] @attribute.builtin) + +(constant_variable + "^" @attribute.builtin) + +(parameter + (local_variable + name: (identifier) @variable.parameter)) + +; Scripts +(script + trigger: (identifier) @keyword.directive + subject: (identifier) @function) + +; Calls +(call + [ + "~" + "@" + ]? @attribute.builtin + callee: (identifier) @function.call) + +; Literals +((literal) @boolean + (#any-of? @boolean "true" "false")) + +(literal + "null" @constant.builtin) + +(integer_literal) @number + +(coord_literal) @string.special + +(comment) @comment @spell + +[ + (string_fragment) + "\"" +] @string + +(escape_sequence) @string.escape + +(string_interpolation + [ + "<" + ">" + ] @punctuation.special) + +(string_tag) @punctuation.special + +; Types +(type) @type + +(parameter_type) @type + +; Tokens +[ + ";" + ":" + "," +] @punctuation.delimiter + +[ + "(" + ")" + "{" + "}" +] @punctuation.bracket + +[ + "[" + "]" +] @punctuation.special + +[ + "*" + "/" + "+" + "-" + "&" + "|" + ">" + ">=" + "<" + "<=" + "=" + "!" +] @operator + +(arithmetic + "%" @operator) + +[ + (def_type_keyword) + (switch_type_keyword) +] @keyword.modifier + +"return" @keyword.return + +"while" @keyword.repeat + +[ + "default" + "if" + "else" + "case" +] @keyword.conditional + +"calc" @keyword diff --git a/queries/runescript/injections.scm b/queries/runescript/injections.scm new file mode 100644 index 000000000..2f0e58eb6 --- /dev/null +++ b/queries/runescript/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) |
