diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2023-06-12 09:54:30 -0600 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2025-05-12 18:43:40 +0200 |
| commit | 692b051b09935653befdb8f7ba8afdb640adf17b (patch) | |
| tree | 167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/query | |
| parent | feat(c-family): inherit injections (diff) | |
| download | nvim-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/query')
| -rw-r--r-- | runtime/queries/query/folds.scm | 6 | ||||
| -rw-r--r-- | runtime/queries/query/highlights.scm | 102 | ||||
| -rw-r--r-- | runtime/queries/query/indents.scm | 25 | ||||
| -rw-r--r-- | runtime/queries/query/injections.scm | 28 | ||||
| -rw-r--r-- | runtime/queries/query/locals.scm | 21 |
5 files changed, 182 insertions, 0 deletions
diff --git a/runtime/queries/query/folds.scm b/runtime/queries/query/folds.scm new file mode 100644 index 000000000..47dd96512 --- /dev/null +++ b/runtime/queries/query/folds.scm @@ -0,0 +1,6 @@ +[ + (named_node) + (predicate) + (grouping) + (list) +] @fold diff --git a/runtime/queries/query/highlights.scm b/runtime/queries/query/highlights.scm new file mode 100644 index 000000000..cbd192a8f --- /dev/null +++ b/runtime/queries/query/highlights.scm @@ -0,0 +1,102 @@ +(string) @string + +(escape_sequence) @string.escape + +(capture + (identifier) @type) + +(predicate + name: (identifier) @function.call) + +(named_node + name: (identifier) @variable) + +(missing_node + name: (identifier) @variable) + +(field_definition + name: (identifier) @variable.member) + +(negated_field + "!" @operator + (identifier) @property) + +(comment) @comment @spell + +(quantifier) @operator + +(predicate_type) @punctuation.special + +"." @operator + +[ + "[" + "]" + "(" + ")" +] @punctuation.bracket + +[ + ":" + "/" +] @punctuation.delimiter + +[ + "@" + "#" +] @punctuation.special + +(predicate + "." @punctuation.special) + +"_" @character.special + +"MISSING" @keyword + +((parameters + (identifier) @number) + (#match? @number "^[-+]?[0-9]+(.[0-9]+)?$")) + +((program + . + (comment)* + . + (comment) @keyword.import @nospell) + (#lua-match? @keyword.import "^;+ *inherits *:")) + +((program + . + (comment)* + . + (comment) @keyword.directive @nospell) + (#lua-match? @keyword.directive "^;+ *extends *$")) + +((comment) @keyword.directive @nospell + (#lua-match? @keyword.directive "^;+%s*format%-ignore%s*$")) + +((predicate + name: (identifier) @_name + parameters: (parameters + . + (capture)? + . + (identifier) @property)) + (#eq? @_name "set")) + +((predicate + name: (identifier) @_name + parameters: (parameters + (string + "\"" @string + "\"" @string) @string.regexp)) + (#any-of? @_name "match" "not-match" "vim-match" "not-vim-match" "lua-match" "not-lua-match")) + +((predicate + name: (identifier) @_name + parameters: (parameters + (string + "\"" @string + "\"" @string) @string.regexp + . + (string) .)) + (#any-of? @_name "gsub" "not-gsub")) diff --git a/runtime/queries/query/indents.scm b/runtime/queries/query/indents.scm new file mode 100644 index 000000000..5cea97e1e --- /dev/null +++ b/runtime/queries/query/indents.scm @@ -0,0 +1,25 @@ +[ + (list) + (named_node) + (grouping) + (predicate) + "[" +] @indent.begin + +; ERROR node indents +(ERROR + "(") @indent.begin + +"]" @indent.branch @indent.end + +[ + ")" + "?" + "*" + "+" +] @indent.end + +; Captures always mark the end of a node +; Because of that, mark it as indent.end +(capture + name: (identifier) @indent.end) diff --git a/runtime/queries/query/injections.scm b/runtime/queries/query/injections.scm new file mode 100644 index 000000000..759f9b2e2 --- /dev/null +++ b/runtime/queries/query/injections.scm @@ -0,0 +1,28 @@ +((predicate + name: (identifier) @_name + parameters: (parameters + (string + (string_content) @injection.content))) + (#any-of? @_name "match" "not-match" "any-match" "vim-match" "not-vim-match" "any-vim-match") + (#set! injection.language "regex")) + +((predicate + name: (identifier) @_name + parameters: (parameters + (string + (string_content) @injection.content))) + (#any-of? @_name "lua-match" "not-lua-match" "any-lua-match") + (#set! injection.language "luap")) + +((predicate + name: (identifier) @_name + parameters: (parameters + (string + (string_content) @injection.content) + . + (string) .)) + (#any-of? @_name "gsub" "not-gsub") + (#set! injection.language "luap")) + +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/runtime/queries/query/locals.scm b/runtime/queries/query/locals.scm new file mode 100644 index 000000000..eca196aba --- /dev/null +++ b/runtime/queries/query/locals.scm @@ -0,0 +1,21 @@ +(program) @local.scope + +(program + (named_node) @local.scope) + +(program + (anonymous_node) @local.scope) + +(program + (grouping) @local.scope) + +(identifier) @local.reference + +(named_node + (capture) @local.definition.var) + +(anonymous_node + (capture) @local.definition.var) + +(grouping + (capture) @local.definition.var) |
