ts-wasms 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -9
- package/index.d.ts +102 -0
- package/index.js +27 -0
- package/out/angular/folds.scm +1 -0
- package/out/angular/highlights.scm +178 -0
- package/out/angular/indents.scm +16 -0
- package/out/angular/injections.scm +1 -0
- package/out/angular/locals.scm +1 -0
- package/out/angular/tree-sitter-angular.wasm +0 -0
- package/out/asm/highlights.scm +66 -0
- package/out/asm/injections.scm +5 -0
- package/out/asm/tree-sitter-asm.wasm +0 -0
- package/out/astro/folds.scm +1 -0
- package/out/astro/highlights.scm +12 -0
- package/out/astro/indents.scm +1 -0
- package/out/astro/injections.scm +27 -0
- package/out/astro/locals.scm +1 -0
- package/out/astro/tree-sitter-astro.wasm +0 -0
- package/out/bash/folds.scm +9 -0
- package/out/bash/indents.scm +32 -0
- package/out/bash/injections.scm +90 -0
- package/out/bash/locals.scm +14 -0
- package/out/c/folds.scm +23 -0
- package/out/c/indents.scm +99 -0
- package/out/c/injections.scm +128 -0
- package/out/c/locals.scm +67 -0
- package/out/clojure/folds.scm +2 -0
- package/out/clojure/injections.scm +2 -0
- package/out/clojure/locals.scm +1 -0
- package/out/cmake/folds.scm +8 -0
- package/out/cmake/highlights.scm +221 -0
- package/out/cmake/indents.scm +26 -0
- package/out/cmake/injections.scm +5 -0
- package/out/cmake/tree-sitter-cmake.wasm +0 -0
- package/out/comment/highlights.scm +49 -0
- package/out/comment/tree-sitter-comment.wasm +0 -0
- package/out/commonlisp/folds.scm +2 -0
- package/out/commonlisp/injections.scm +5 -0
- package/out/commonlisp/locals.scm +109 -0
- package/out/cpp/folds.scm +14 -0
- package/out/cpp/indents.scm +8 -0
- package/out/cpp/locals.scm +78 -0
- package/out/css/folds.scm +10 -0
- package/out/css/indents.scm +11 -0
- package/out/css/injections.scm +2 -0
- package/out/csv/highlights.scm +5 -0
- package/out/csv/tree-sitter-csv.wasm +0 -0
- package/out/csv-psv/highlights.scm +5 -0
- package/out/csv-psv/tree-sitter-csv-psv.wasm +0 -0
- package/out/csv-tsv/highlights.scm +4 -0
- package/out/csv-tsv/tree-sitter-csv-tsv.wasm +0 -0
- package/out/dart/indents.scm +49 -0
- package/out/dart/injections.scm +2 -0
- package/out/dart/locals.scm +32 -0
- package/out/diff/folds.scm +5 -0
- package/out/diff/highlights.scm +49 -0
- package/out/diff/injections.scm +2 -0
- package/out/diff/tree-sitter-diff.wasm +0 -0
- package/out/dockerfile/highlights.scm +58 -0
- package/out/dockerfile/injections.scm +12 -0
- package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
- package/out/dtd/folds.scm +4 -0
- package/out/dtd/injections.scm +2 -0
- package/out/dtd/locals.scm +11 -0
- package/out/editorconfig/folds.scm +1 -0
- package/out/editorconfig/highlights.scm +35 -0
- package/out/editorconfig/injections.scm +2 -0
- package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
- package/out/elixir/folds.scm +10 -0
- package/out/elixir/indents.scm +25 -0
- package/out/elixir/locals.scm +200 -0
- package/out/elm/folds.scm +14 -0
- package/out/erlang/folds.scm +9 -0
- package/out/erlang/injections.scm +2 -0
- package/out/fish/folds.scm +8 -0
- package/out/fish/highlights.scm +61 -0
- package/out/fish/indents.scm +18 -0
- package/out/fish/injections.scm +2 -0
- package/out/fish/locals.scm +19 -0
- package/out/fish/tree-sitter-fish.wasm +0 -0
- package/out/gdscript/folds.scm +26 -0
- package/out/gdscript/highlights.scm +635 -0
- package/out/gdscript/indents.scm +78 -0
- package/out/gdscript/injections.scm +2 -0
- package/out/gdscript/locals.scm +121 -0
- package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
- package/out/gdshader/highlights.scm +256 -0
- package/out/gdshader/injections.scm +2 -0
- package/out/gdshader/locals.scm +24 -0
- package/out/gdshader/tags.scm +13 -0
- package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
- package/out/git-config/highlights.scm +28 -0
- package/out/git-config/tree-sitter-git-config.wasm +0 -0
- package/out/git-rebase/highlights.scm +36 -0
- package/out/git-rebase/tree-sitter-git-rebase.wasm +0 -0
- package/out/gitattributes/highlights.scm +52 -0
- package/out/gitattributes/injections.scm +2 -0
- package/out/gitattributes/locals.scm +8 -0
- package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
- package/out/gitignore/highlights.scm +36 -0
- package/out/gitignore/injections.scm +2 -0
- package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
- package/out/go/folds.scm +19 -0
- package/out/go/indents.scm +48 -0
- package/out/go/injections.scm +42 -0
- package/out/go/locals.scm +88 -0
- package/out/godot-resource/tree-sitter-godot-resource.wasm +0 -0
- package/out/graphql/indents.scm +11 -0
- package/out/graphql/injections.scm +2 -0
- package/out/groovy/folds.scm +6 -0
- package/out/groovy/highlights.scm +148 -0
- package/out/groovy/indents.scm +23 -0
- package/out/groovy/injections.scm +5 -0
- package/out/groovy/locals.scm +6 -0
- package/out/groovy/tree-sitter-groovy.wasm +0 -0
- package/out/haskell/folds.scm +6 -0
- package/out/hcl/folds.scm +6 -0
- package/out/hcl/indents.scm +16 -0
- package/out/hcl/injections.scm +6 -0
- package/out/html/folds.scm +5 -0
- package/out/html/indents.scm +1 -0
- package/out/html/locals.scm +1 -0
- package/out/ini/folds.scm +1 -0
- package/out/ini/highlights.scm +16 -0
- package/out/ini/injections.scm +3 -0
- package/out/ini/tree-sitter-ini.wasm +0 -0
- package/out/java/folds.scm +8 -0
- package/out/java/indents.scm +40 -0
- package/out/java/injections.scm +31 -0
- package/out/java/locals.scm +100 -0
- package/out/javascript/folds.scm +1 -0
- package/out/javascript/indents.scm +1 -0
- package/out/json/folds.scm +5 -0
- package/out/json/indents.scm +11 -0
- package/out/json/injections.scm +2 -0
- package/out/json/locals.scm +4 -0
- package/out/julia/folds.scm +14 -0
- package/out/julia/indents.scm +52 -0
- package/out/kotlin/folds.scm +13 -0
- package/out/kotlin/injections.scm +52 -0
- package/out/kotlin/locals.scm +78 -0
- package/out/lua/folds.scm +12 -0
- package/out/lua/indents.scm +47 -0
- package/out/markdown/folds.scm +12 -0
- package/out/markdown/indents.scm +1 -0
- package/out/matlab/folds.scm +13 -0
- package/out/matlab/highlights.scm +218 -0
- package/out/matlab/indents.scm +40 -0
- package/out/matlab/injections.scm +2 -0
- package/out/matlab/locals.scm +33 -0
- package/out/matlab/tree-sitter-matlab.wasm +0 -0
- package/out/nim/folds.scm +41 -0
- package/out/nim/highlights.scm +186 -0
- package/out/nim/injections.scm +79 -0
- package/out/nim/locals.scm +328 -0
- package/out/nim/tree-sitter-nim.wasm +0 -0
- package/out/nix/folds.scm +11 -0
- package/out/nix/indents.scm +75 -0
- package/out/ocaml/folds.scm +30 -0
- package/out/ocaml/indents.scm +77 -0
- package/out/ocaml/injections.scm +2 -0
- package/out/php/folds.scm +1 -0
- package/out/php/indents.scm +1 -0
- package/out/php/locals.scm +1 -0
- package/out/prisma/folds.scm +7 -0
- package/out/prisma/injections.scm +5 -0
- package/out/python/folds.scm +28 -0
- package/out/python/indents.scm +213 -0
- package/out/python/injections.scm +30 -0
- package/out/python/locals.scm +124 -0
- package/out/qmljs/folds.scm +8 -0
- package/out/qmljs/highlights.scm +61 -0
- package/out/qmljs/injections.scm +1 -0
- package/out/qmljs/locals.scm +6 -0
- package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
- package/out/query/folds.scm +6 -0
- package/out/query/indents.scm +25 -0
- package/out/query/injections.scm +28 -0
- package/out/query/locals.scm +21 -0
- package/out/r/indents.scm +33 -0
- package/out/r/injections.scm +2 -0
- package/out/racket/folds.scm +2 -0
- package/out/racket/injections.scm +5 -0
- package/out/ruby/folds.scm +12 -0
- package/out/ruby/indents.scm +43 -0
- package/out/ruby/injections.scm +34 -0
- package/out/rust/folds.scm +25 -0
- package/out/rust/indents.scm +133 -0
- package/out/rust/locals.scm +98 -0
- package/out/scala/folds.scm +16 -0
- package/out/scala/injections.scm +5 -0
- package/out/scheme/folds.scm +2 -0
- package/out/scheme/injections.scm +2 -0
- package/out/scss/folds.scm +1 -0
- package/out/scss/indents.scm +7 -0
- package/out/scss/injections.scm +2 -0
- package/out/sql/folds.scm +1 -0
- package/out/sql/injections.scm +5 -0
- package/out/terraform/folds.scm +1 -0
- package/out/terraform/indents.scm +1 -0
- package/out/terraform/injections.scm +1 -0
- package/out/toml/folds.scm +5 -0
- package/out/toml/indents.scm +11 -0
- package/out/toml/injections.scm +2 -0
- package/out/toml/locals.scm +4 -0
- package/out/tsx/folds.scm +1 -0
- package/out/tsx/indents.scm +1 -0
- package/out/tsx/injections.scm +1 -0
- package/out/typescript/folds.scm +8 -0
- package/out/typescript/indents.scm +7 -0
- package/out/typescript/injections.scm +28 -0
- package/out/vim/folds.scm +4 -0
- package/out/vim/highlights.scm +362 -0
- package/out/vim/injections.scm +44 -0
- package/out/vim/locals.scm +19 -0
- package/out/vim/tree-sitter-vim.wasm +0 -0
- package/out/vimdoc/injections.scm +4 -0
- package/out/vue/folds.scm +6 -0
- package/out/vue/highlights.scm +54 -0
- package/out/vue/indents.scm +7 -0
- package/out/vue/injections.scm +78 -0
- package/out/vue/tree-sitter-vue.wasm +0 -0
- package/out/xml/folds.scm +5 -0
- package/out/xml/indents.scm +16 -0
- package/out/xml/injections.scm +32 -0
- package/out/xml/locals.scm +35 -0
- package/out/yaml/folds.scm +4 -0
- package/out/yaml/highlights.scm +79 -0
- package/out/yaml/indents.scm +7 -0
- package/out/yaml/injections.scm +81 -0
- package/out/yaml/locals.scm +9 -0
- package/out/yaml/tree-sitter-yaml.wasm +0 -0
- package/out/zig/locals.scm +96 -0
- package/package.json +49 -17
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
; SPDX-FileCopyrightText: 2023 Leorize <leorize+oss@disroot.org>
|
|
2
|
+
; SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
|
|
4
|
+
; Punctuations
|
|
5
|
+
[ "." ";" "," ":" ] @punctuation.delimiter
|
|
6
|
+
[ "(" ")" "[" "]" "{" "}" "{." ".}" ] @punctuation.bracket
|
|
7
|
+
|
|
8
|
+
; Operator by default, but could be overriden
|
|
9
|
+
[ "=" ] @operator
|
|
10
|
+
|
|
11
|
+
; Special
|
|
12
|
+
(blank_identifier) @variable.builtin
|
|
13
|
+
|
|
14
|
+
; Calls
|
|
15
|
+
(call
|
|
16
|
+
function: [
|
|
17
|
+
(identifier) @function.call
|
|
18
|
+
(dot_expression
|
|
19
|
+
right: (identifier) @function.call)
|
|
20
|
+
])
|
|
21
|
+
(generalized_string
|
|
22
|
+
function: [
|
|
23
|
+
(identifier) @function.call
|
|
24
|
+
(dot_expression
|
|
25
|
+
right: (identifier) @function.call)
|
|
26
|
+
])
|
|
27
|
+
|
|
28
|
+
; Declarations
|
|
29
|
+
(exported_symbol "*" @type.qualifier)
|
|
30
|
+
(_ "=" @punctuation.delimiter [body: (_) value: (_)])
|
|
31
|
+
(proc_declaration name: (_) @function)
|
|
32
|
+
(func_declaration name: (_) @function)
|
|
33
|
+
(converter_declaration name: (_) @function)
|
|
34
|
+
(method_declaration name: (_) @method)
|
|
35
|
+
(template_declaration name: (_) @function.macro)
|
|
36
|
+
(macro_declaration name: (_) @function.macro)
|
|
37
|
+
(symbol_declaration name: (_) @variable)
|
|
38
|
+
(parameter_declaration
|
|
39
|
+
(symbol_declaration_list
|
|
40
|
+
(symbol_declaration name: (_) @parameter)))
|
|
41
|
+
(_
|
|
42
|
+
[
|
|
43
|
+
type: [
|
|
44
|
+
(type_expression (identifier))
|
|
45
|
+
(type_expression (accent_quoted (identifier)))
|
|
46
|
+
] @type
|
|
47
|
+
return_type: [
|
|
48
|
+
(type_expression (identifier))
|
|
49
|
+
(type_expression (accent_quoted (identifier)))
|
|
50
|
+
] @type
|
|
51
|
+
])
|
|
52
|
+
|
|
53
|
+
; Exceptions
|
|
54
|
+
[
|
|
55
|
+
"try"
|
|
56
|
+
"except"
|
|
57
|
+
"finally"
|
|
58
|
+
"raise"
|
|
59
|
+
] @exception
|
|
60
|
+
|
|
61
|
+
(except_branch values: (expression_list
|
|
62
|
+
[
|
|
63
|
+
(identifier) @type
|
|
64
|
+
(infix_expression
|
|
65
|
+
left: (identifier) @type
|
|
66
|
+
operator: "as"
|
|
67
|
+
right: (identifier) @variable)
|
|
68
|
+
]))
|
|
69
|
+
|
|
70
|
+
; Expressions
|
|
71
|
+
(dot_expression
|
|
72
|
+
right: (identifier) @field)
|
|
73
|
+
|
|
74
|
+
; Literal/comments
|
|
75
|
+
[
|
|
76
|
+
(comment)
|
|
77
|
+
(block_comment)
|
|
78
|
+
] @comment
|
|
79
|
+
|
|
80
|
+
[
|
|
81
|
+
(documentation_comment)
|
|
82
|
+
(block_documentation_comment)
|
|
83
|
+
] @comment.documentation
|
|
84
|
+
|
|
85
|
+
(interpreted_string_literal) @string
|
|
86
|
+
(long_string_literal) @string
|
|
87
|
+
(raw_string_literal) @string
|
|
88
|
+
(generalized_string) @string
|
|
89
|
+
(char_literal) @character
|
|
90
|
+
(escape_sequence) @string.escape
|
|
91
|
+
(integer_literal) @number
|
|
92
|
+
(float_literal) @float
|
|
93
|
+
(custom_numeric_literal) @number
|
|
94
|
+
(nil_literal) @constant.builtin
|
|
95
|
+
|
|
96
|
+
; Keyword
|
|
97
|
+
[
|
|
98
|
+
"if"
|
|
99
|
+
"when"
|
|
100
|
+
"case"
|
|
101
|
+
"elif"
|
|
102
|
+
"else"
|
|
103
|
+
] @conditional
|
|
104
|
+
|
|
105
|
+
(of_branch "of" @conditional)
|
|
106
|
+
|
|
107
|
+
[
|
|
108
|
+
"import"
|
|
109
|
+
"include"
|
|
110
|
+
"export"
|
|
111
|
+
] @include
|
|
112
|
+
|
|
113
|
+
(import_from_statement "from" @include)
|
|
114
|
+
(except_clause "except" @include)
|
|
115
|
+
|
|
116
|
+
[
|
|
117
|
+
"for"
|
|
118
|
+
"while"
|
|
119
|
+
"continue"
|
|
120
|
+
"break"
|
|
121
|
+
] @repeat
|
|
122
|
+
|
|
123
|
+
(for "in" @repeat)
|
|
124
|
+
|
|
125
|
+
[
|
|
126
|
+
"macro"
|
|
127
|
+
"template"
|
|
128
|
+
"const"
|
|
129
|
+
"let"
|
|
130
|
+
"var"
|
|
131
|
+
"asm"
|
|
132
|
+
"bind"
|
|
133
|
+
"block"
|
|
134
|
+
"concept"
|
|
135
|
+
"defer"
|
|
136
|
+
"discard"
|
|
137
|
+
"distinct"
|
|
138
|
+
"do"
|
|
139
|
+
"enum"
|
|
140
|
+
"mixin"
|
|
141
|
+
"nil"
|
|
142
|
+
"object"
|
|
143
|
+
"out"
|
|
144
|
+
"ptr"
|
|
145
|
+
"ref"
|
|
146
|
+
"static"
|
|
147
|
+
"tuple"
|
|
148
|
+
"type"
|
|
149
|
+
] @keyword
|
|
150
|
+
|
|
151
|
+
[
|
|
152
|
+
"proc"
|
|
153
|
+
"func"
|
|
154
|
+
"method"
|
|
155
|
+
"converter"
|
|
156
|
+
"iterator"
|
|
157
|
+
] @keyword.function
|
|
158
|
+
|
|
159
|
+
[
|
|
160
|
+
"and"
|
|
161
|
+
"or"
|
|
162
|
+
"xor"
|
|
163
|
+
"not"
|
|
164
|
+
"div"
|
|
165
|
+
"mod"
|
|
166
|
+
"shl"
|
|
167
|
+
"shr"
|
|
168
|
+
"from"
|
|
169
|
+
"as"
|
|
170
|
+
"of"
|
|
171
|
+
"in"
|
|
172
|
+
"notin"
|
|
173
|
+
"is"
|
|
174
|
+
"isnot"
|
|
175
|
+
"cast"
|
|
176
|
+
] @keyword.operator
|
|
177
|
+
|
|
178
|
+
[
|
|
179
|
+
"return"
|
|
180
|
+
"yield"
|
|
181
|
+
] @keyword.return
|
|
182
|
+
|
|
183
|
+
; Operators
|
|
184
|
+
(infix_expression operator: _ @operator)
|
|
185
|
+
(prefix_expression operator: _ @operator)
|
|
186
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
; =============================================================================
|
|
2
|
+
; generalized_strings
|
|
3
|
+
; regex in generalized_strings
|
|
4
|
+
(generalized_string
|
|
5
|
+
function: (identifier) @_string_prefix
|
|
6
|
+
.
|
|
7
|
+
(string_content) @injection.content
|
|
8
|
+
(#set! injection.language "regex")
|
|
9
|
+
(#any-of? @_string_prefix "re" "rex"))
|
|
10
|
+
|
|
11
|
+
; format string in generalized_strings
|
|
12
|
+
(generalized_string
|
|
13
|
+
function: (identifier) @_string_prefix
|
|
14
|
+
.
|
|
15
|
+
(string_content) @injection.content
|
|
16
|
+
(#set! injection.language "nim_format_string")
|
|
17
|
+
(#eq? @_string_prefix "fmt"))
|
|
18
|
+
|
|
19
|
+
; format string in normal strings with & prefix
|
|
20
|
+
(prefix_expression
|
|
21
|
+
operator: (operator) @_string_prefix
|
|
22
|
+
.
|
|
23
|
+
(_
|
|
24
|
+
(string_content) @injection.content)
|
|
25
|
+
(#set! injection.language "nim_format_string")
|
|
26
|
+
(#eq? @_string_prefix "&"))
|
|
27
|
+
|
|
28
|
+
; sql in generalized_strings
|
|
29
|
+
; and anything you like as long as the function name is the same as the injected language's parser
|
|
30
|
+
(generalized_string
|
|
31
|
+
function: (identifier) @injection.language
|
|
32
|
+
(string_content) @injection.content
|
|
33
|
+
(#not-any-of? @injection.language "re" "rex" "fmt"))
|
|
34
|
+
|
|
35
|
+
; =============================================================================
|
|
36
|
+
; emit pragma
|
|
37
|
+
; C / CPP / OBJC / JAVASCRIPT
|
|
38
|
+
; a `#<no whitespace><language name>`
|
|
39
|
+
; has to directly precede the {.emit: "<language code>".} pragma
|
|
40
|
+
; eg.:
|
|
41
|
+
; #objc
|
|
42
|
+
; {.emit: "<objc code>".}
|
|
43
|
+
; OR
|
|
44
|
+
; #javascript
|
|
45
|
+
; {.emit: "<javascript code>".}
|
|
46
|
+
; normal strings
|
|
47
|
+
((comment
|
|
48
|
+
(comment_content) @injection.language)
|
|
49
|
+
.
|
|
50
|
+
(pragma_statement
|
|
51
|
+
(pragma_list
|
|
52
|
+
(colon_expression
|
|
53
|
+
left: (identifier) @_emit_keyword
|
|
54
|
+
(#eq? @_emit_keyword "emit")
|
|
55
|
+
right: (_
|
|
56
|
+
(string_content) @injection.content)))))
|
|
57
|
+
|
|
58
|
+
; =============================================================================
|
|
59
|
+
; asm statement
|
|
60
|
+
; works same as emit pragma, needs preceding comment with language name
|
|
61
|
+
((comment
|
|
62
|
+
(comment_content) @injection.language)
|
|
63
|
+
.
|
|
64
|
+
(assembly_statement
|
|
65
|
+
(_
|
|
66
|
+
(string_content) @injection.content)))
|
|
67
|
+
|
|
68
|
+
; =============================================================================
|
|
69
|
+
; comments
|
|
70
|
+
; NOTE: ts "comment" parser heavily impacts performance
|
|
71
|
+
; markdown parser in documentation_comment
|
|
72
|
+
(documentation_comment
|
|
73
|
+
(comment_content) @injection.content
|
|
74
|
+
(#set! injection.language "markdown_inline"))
|
|
75
|
+
|
|
76
|
+
; markdown parser in block_documentation_comment
|
|
77
|
+
(block_documentation_comment
|
|
78
|
+
(comment_content) @injection.content
|
|
79
|
+
(#set! injection.language "markdown"))
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
; ==============================================================================
|
|
2
|
+
; @local.definition ; various definitions
|
|
3
|
+
(block
|
|
4
|
+
label: [
|
|
5
|
+
(identifier) @local.definition
|
|
6
|
+
(accent_quoted) @local.definition
|
|
7
|
+
])
|
|
8
|
+
|
|
9
|
+
; ==============================================================================
|
|
10
|
+
; @local.definition.constant ; constants
|
|
11
|
+
(const_section
|
|
12
|
+
(variable_declaration
|
|
13
|
+
(symbol_declaration_list
|
|
14
|
+
(symbol_declaration
|
|
15
|
+
name: [
|
|
16
|
+
(identifier) @local.definition.constant
|
|
17
|
+
(accent_quoted) @local.definition.constant
|
|
18
|
+
(exported_symbol
|
|
19
|
+
(identifier) @local.definition.constant)
|
|
20
|
+
(exported_symbol
|
|
21
|
+
(accent_quoted) @local.definition.constant)
|
|
22
|
+
]))
|
|
23
|
+
type: (type_expression)? @local.definition.associated))
|
|
24
|
+
|
|
25
|
+
; ==============================================================================
|
|
26
|
+
; @local.definition.function ; functions
|
|
27
|
+
(proc_declaration
|
|
28
|
+
name: [
|
|
29
|
+
(identifier) @local.definition.function
|
|
30
|
+
(accent_quoted) @local.definition.function
|
|
31
|
+
(exported_symbol
|
|
32
|
+
(identifier) @local.definition.function)
|
|
33
|
+
(exported_symbol
|
|
34
|
+
(accent_quoted) @local.definition.function)
|
|
35
|
+
]
|
|
36
|
+
(#set! definition.function.scope "parent"))
|
|
37
|
+
|
|
38
|
+
(func_declaration
|
|
39
|
+
name: [
|
|
40
|
+
(identifier) @local.definition.function
|
|
41
|
+
(accent_quoted) @local.definition.function
|
|
42
|
+
(exported_symbol
|
|
43
|
+
(identifier) @local.definition.function)
|
|
44
|
+
(exported_symbol
|
|
45
|
+
(accent_quoted) @local.definition.function)
|
|
46
|
+
]
|
|
47
|
+
(#set! definition.function.scope "parent"))
|
|
48
|
+
|
|
49
|
+
(iterator_declaration
|
|
50
|
+
name: [
|
|
51
|
+
(identifier) @local.definition.function
|
|
52
|
+
(accent_quoted) @local.definition.function
|
|
53
|
+
(exported_symbol
|
|
54
|
+
(identifier) @local.definition.function)
|
|
55
|
+
(exported_symbol
|
|
56
|
+
(accent_quoted) @local.definition.function)
|
|
57
|
+
]
|
|
58
|
+
(#set! definition.function.scope "parent"))
|
|
59
|
+
|
|
60
|
+
(converter_declaration
|
|
61
|
+
name: [
|
|
62
|
+
(identifier) @local.definition.function
|
|
63
|
+
(accent_quoted) @local.definition.function
|
|
64
|
+
(exported_symbol
|
|
65
|
+
(identifier) @local.definition.function)
|
|
66
|
+
(exported_symbol
|
|
67
|
+
(accent_quoted) @local.definition.function)
|
|
68
|
+
]
|
|
69
|
+
(#set! definition.function.scope "parent"))
|
|
70
|
+
|
|
71
|
+
; ==============================================================================
|
|
72
|
+
; @local.definition.method ; methods
|
|
73
|
+
(method_declaration
|
|
74
|
+
name: [
|
|
75
|
+
(identifier) @local.definition.method
|
|
76
|
+
(accent_quoted) @local.definition.method
|
|
77
|
+
(exported_symbol
|
|
78
|
+
(identifier) @local.definition.method)
|
|
79
|
+
(exported_symbol
|
|
80
|
+
(accent_quoted) @local.definition.method)
|
|
81
|
+
]
|
|
82
|
+
(#set! definition.method.scope "parent"))
|
|
83
|
+
|
|
84
|
+
; ==============================================================================
|
|
85
|
+
; @local.definition.var ; variables
|
|
86
|
+
(var_section
|
|
87
|
+
(variable_declaration
|
|
88
|
+
(symbol_declaration_list
|
|
89
|
+
(symbol_declaration
|
|
90
|
+
name: [
|
|
91
|
+
(identifier) @local.definition.var
|
|
92
|
+
(accent_quoted) @local.definition.var
|
|
93
|
+
(exported_symbol
|
|
94
|
+
(identifier) @local.definition.var)
|
|
95
|
+
(exported_symbol
|
|
96
|
+
(accent_quoted) @local.definition.var)
|
|
97
|
+
]))
|
|
98
|
+
type: (type_expression)? @local.definition.associated))
|
|
99
|
+
|
|
100
|
+
(let_section
|
|
101
|
+
(variable_declaration
|
|
102
|
+
(symbol_declaration_list
|
|
103
|
+
(symbol_declaration
|
|
104
|
+
name: [
|
|
105
|
+
(identifier) @local.definition.var
|
|
106
|
+
(accent_quoted) @local.definition.var
|
|
107
|
+
(exported_symbol
|
|
108
|
+
(identifier) @local.definition.var)
|
|
109
|
+
(exported_symbol
|
|
110
|
+
(accent_quoted) @local.definition.var)
|
|
111
|
+
]))
|
|
112
|
+
type: (type_expression)? @local.definition.associated))
|
|
113
|
+
|
|
114
|
+
(for
|
|
115
|
+
(symbol_declaration_list
|
|
116
|
+
(symbol_declaration
|
|
117
|
+
name: [
|
|
118
|
+
(identifier) @local.definition.var
|
|
119
|
+
(accent_quoted) @local.definition.var
|
|
120
|
+
])))
|
|
121
|
+
|
|
122
|
+
(try
|
|
123
|
+
(except_branch
|
|
124
|
+
values: (expression_list
|
|
125
|
+
(infix_expression
|
|
126
|
+
right: [
|
|
127
|
+
(identifier) @local.definition.var
|
|
128
|
+
(accent_quoted) @local.definition.var
|
|
129
|
+
]))))
|
|
130
|
+
|
|
131
|
+
; ==============================================================================
|
|
132
|
+
; @local.definition.parameter ; parameters
|
|
133
|
+
(parameter_declaration
|
|
134
|
+
(symbol_declaration_list
|
|
135
|
+
(symbol_declaration
|
|
136
|
+
name: [
|
|
137
|
+
(identifier) @local.definition.parameter
|
|
138
|
+
(accent_quoted) @local.definition.parameter
|
|
139
|
+
]))
|
|
140
|
+
type: (type_expression)? @local.definition.associated)
|
|
141
|
+
|
|
142
|
+
(concept_declaration
|
|
143
|
+
parameters: (parameter_list
|
|
144
|
+
[
|
|
145
|
+
(identifier) @local.definition.parameter
|
|
146
|
+
(accent_quoted
|
|
147
|
+
(identifier) @local.definition.parameter)
|
|
148
|
+
]))
|
|
149
|
+
|
|
150
|
+
(var_parameter
|
|
151
|
+
[
|
|
152
|
+
(identifier) @local.definition.parameter
|
|
153
|
+
(accent_quoted
|
|
154
|
+
(identifier) @local.definition.parameter)
|
|
155
|
+
])
|
|
156
|
+
|
|
157
|
+
(type_parameter
|
|
158
|
+
[
|
|
159
|
+
(identifier) @local.definition.parameter
|
|
160
|
+
(accent_quoted
|
|
161
|
+
(identifier) @local.definition.parameter)
|
|
162
|
+
])
|
|
163
|
+
|
|
164
|
+
(static_parameter
|
|
165
|
+
[
|
|
166
|
+
(identifier) @local.definition.parameter
|
|
167
|
+
(accent_quoted
|
|
168
|
+
(identifier) @local.definition.parameter)
|
|
169
|
+
])
|
|
170
|
+
|
|
171
|
+
(ref_parameter
|
|
172
|
+
[
|
|
173
|
+
(identifier) @local.definition.parameter
|
|
174
|
+
(accent_quoted
|
|
175
|
+
(identifier) @local.definition.parameter)
|
|
176
|
+
])
|
|
177
|
+
|
|
178
|
+
(pointer_parameter
|
|
179
|
+
[
|
|
180
|
+
(identifier) @local.definition.parameter
|
|
181
|
+
(accent_quoted
|
|
182
|
+
(identifier) @local.definition.parameter)
|
|
183
|
+
])
|
|
184
|
+
|
|
185
|
+
; ==============================================================================
|
|
186
|
+
; @local.definition.macro ; preprocessor macros
|
|
187
|
+
(template_declaration
|
|
188
|
+
name: [
|
|
189
|
+
(identifier) @local.definition.macro
|
|
190
|
+
(accent_quoted) @local.definition.macro
|
|
191
|
+
(exported_symbol
|
|
192
|
+
(identifier) @local.definition.macro)
|
|
193
|
+
(exported_symbol
|
|
194
|
+
(accent_quoted) @local.definition.macro)
|
|
195
|
+
]
|
|
196
|
+
(#set! definition.macro.scope "parent"))
|
|
197
|
+
|
|
198
|
+
(macro_declaration
|
|
199
|
+
name: [
|
|
200
|
+
(identifier) @local.definition.macro
|
|
201
|
+
(accent_quoted) @local.definition.macro
|
|
202
|
+
(exported_symbol
|
|
203
|
+
(identifier) @local.definition.macro)
|
|
204
|
+
(exported_symbol
|
|
205
|
+
(accent_quoted) @local.definition.macro)
|
|
206
|
+
]
|
|
207
|
+
(#set! definition.macro.scope "parent"))
|
|
208
|
+
|
|
209
|
+
; ==============================================================================
|
|
210
|
+
; @local.definition.type ; types or classes
|
|
211
|
+
(type_declaration
|
|
212
|
+
(type_symbol_declaration
|
|
213
|
+
name: [
|
|
214
|
+
(identifier) @local.definition.type
|
|
215
|
+
(accent_quoted) @local.definition.type
|
|
216
|
+
(exported_symbol
|
|
217
|
+
(identifier) @local.definition.type)
|
|
218
|
+
(exported_symbol
|
|
219
|
+
(accent_quoted) @local.definition.type)
|
|
220
|
+
]))
|
|
221
|
+
|
|
222
|
+
; ==============================================================================
|
|
223
|
+
; @local.definition.field ; fields or properties
|
|
224
|
+
; object_declaration
|
|
225
|
+
; variant_declaration
|
|
226
|
+
; conditional_declaration
|
|
227
|
+
; tuple_type inline
|
|
228
|
+
; tuple_type multiline
|
|
229
|
+
(field_declaration
|
|
230
|
+
(symbol_declaration_list
|
|
231
|
+
(symbol_declaration
|
|
232
|
+
name: [
|
|
233
|
+
(identifier) @local.definition.field
|
|
234
|
+
(accent_quoted) @local.definition.field
|
|
235
|
+
(exported_symbol
|
|
236
|
+
(identifier) @local.definition.field)
|
|
237
|
+
(exported_symbol
|
|
238
|
+
(accent_quoted) @local.definition.field)
|
|
239
|
+
]))
|
|
240
|
+
type: (type_expression)? @local.definition.associated)
|
|
241
|
+
|
|
242
|
+
; ==============================================================================
|
|
243
|
+
; @local.definition.enum ; enumerations
|
|
244
|
+
(enum_declaration
|
|
245
|
+
(enum_field_declaration
|
|
246
|
+
(symbol_declaration
|
|
247
|
+
name: [
|
|
248
|
+
(identifier) @local.definition.enum
|
|
249
|
+
(accent_quoted) @local.definition.enum
|
|
250
|
+
])))
|
|
251
|
+
|
|
252
|
+
; ==============================================================================
|
|
253
|
+
; @local.definition.namespace ; modules or namespaces
|
|
254
|
+
; @local.definition.import ; imported names
|
|
255
|
+
(import_statement
|
|
256
|
+
(expression_list
|
|
257
|
+
(identifier) @local.definition.namespace))
|
|
258
|
+
|
|
259
|
+
(import_statement
|
|
260
|
+
(expression_list
|
|
261
|
+
(infix_expression
|
|
262
|
+
operator: "as"
|
|
263
|
+
right: (identifier) @local.definition.namespace)))
|
|
264
|
+
|
|
265
|
+
(import_statement
|
|
266
|
+
(expression_list
|
|
267
|
+
(infix_expression
|
|
268
|
+
operator: (operator) @_operator
|
|
269
|
+
right: [
|
|
270
|
+
(identifier) @local.definition.namespace
|
|
271
|
+
(array_construction
|
|
272
|
+
(identifier) @local.definition.namespace)
|
|
273
|
+
]))
|
|
274
|
+
(#eq? @_operator "/"))
|
|
275
|
+
|
|
276
|
+
(import_from_statement
|
|
277
|
+
module: (infix_expression
|
|
278
|
+
operator: (operator) @_operator
|
|
279
|
+
right: (identifier) @local.definition.namespace)
|
|
280
|
+
(expression_list
|
|
281
|
+
[
|
|
282
|
+
(identifier) @local.definition.import
|
|
283
|
+
(accent_quoted) @local.definition.import
|
|
284
|
+
])
|
|
285
|
+
(#eq? @_operator "/"))
|
|
286
|
+
|
|
287
|
+
; ==============================================================================
|
|
288
|
+
; @local.scope ; scope block
|
|
289
|
+
; (when)
|
|
290
|
+
; NOTE: `when` does actually not create a scope
|
|
291
|
+
(if
|
|
292
|
+
consequence: (statement_list) @local.scope
|
|
293
|
+
alternative: (elif_branch)* @local.scope
|
|
294
|
+
alternative: (else_branch)? @local.scope)
|
|
295
|
+
|
|
296
|
+
(case
|
|
297
|
+
alternative: (of_branch)* @local.scope
|
|
298
|
+
alternative: (elif_branch)* @local.scope
|
|
299
|
+
alternative: (else_branch)? @local.scope)
|
|
300
|
+
|
|
301
|
+
(try
|
|
302
|
+
body: (statement_list) @local.scope
|
|
303
|
+
(except_branch) @local.scope
|
|
304
|
+
(finally_branch)? @local.scope)
|
|
305
|
+
|
|
306
|
+
[
|
|
307
|
+
(for)
|
|
308
|
+
(while)
|
|
309
|
+
(block)
|
|
310
|
+
(static_statement)
|
|
311
|
+
(proc_declaration)
|
|
312
|
+
(func_declaration)
|
|
313
|
+
(method_declaration)
|
|
314
|
+
(iterator_declaration)
|
|
315
|
+
(converter_declaration)
|
|
316
|
+
(template_declaration)
|
|
317
|
+
(macro_declaration)
|
|
318
|
+
(proc_expression)
|
|
319
|
+
(func_expression)
|
|
320
|
+
(iterator_expression)
|
|
321
|
+
(concept_declaration)
|
|
322
|
+
] @local.scope
|
|
323
|
+
|
|
324
|
+
; ==============================================================================
|
|
325
|
+
; @local.reference ; identifier reference
|
|
326
|
+
(identifier) @local.reference
|
|
327
|
+
|
|
328
|
+
(accent_quoted) @local.reference
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
; Nix doesn't really have blocks, so just guess what people might want folds for
|
|
2
|
+
[
|
|
3
|
+
(if_expression)
|
|
4
|
+
(with_expression)
|
|
5
|
+
(let_expression)
|
|
6
|
+
(function_expression)
|
|
7
|
+
(attrset_expression)
|
|
8
|
+
(rec_attrset_expression)
|
|
9
|
+
(list_expression)
|
|
10
|
+
(indented_string_expression)
|
|
11
|
+
] @fold
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
[
|
|
2
|
+
(list_expression)
|
|
3
|
+
(indented_string_expression)
|
|
4
|
+
(let_expression)
|
|
5
|
+
(if_expression)
|
|
6
|
+
(binding)
|
|
7
|
+
(parenthesized_expression)
|
|
8
|
+
] @indent.begin
|
|
9
|
+
|
|
10
|
+
((attrset_expression) @indent.begin
|
|
11
|
+
(#not-has-parent? @indent.begin if_expression))
|
|
12
|
+
|
|
13
|
+
((rec_attrset_expression) @indent.begin
|
|
14
|
+
(#not-has-parent? @indent.begin if_expression))
|
|
15
|
+
|
|
16
|
+
((binding
|
|
17
|
+
"=" @indent.begin)
|
|
18
|
+
(#set! indent.immediate 1))
|
|
19
|
+
|
|
20
|
+
(binding
|
|
21
|
+
";" @indent.end)
|
|
22
|
+
|
|
23
|
+
(parenthesized_expression
|
|
24
|
+
")" @indent.branch @indent.end)
|
|
25
|
+
|
|
26
|
+
(attrset_expression
|
|
27
|
+
"}" @indent.branch @indent.end)
|
|
28
|
+
|
|
29
|
+
(rec_attrset_expression
|
|
30
|
+
"}" @indent.branch @indent.end)
|
|
31
|
+
|
|
32
|
+
(list_expression
|
|
33
|
+
"]" @indent.branch @indent.dedent)
|
|
34
|
+
|
|
35
|
+
(indented_string_expression
|
|
36
|
+
"''" @indent.branch @indent.end .)
|
|
37
|
+
|
|
38
|
+
[
|
|
39
|
+
"else"
|
|
40
|
+
"in"
|
|
41
|
+
] @indent.branch
|
|
42
|
+
|
|
43
|
+
(let_expression
|
|
44
|
+
body: (_) @indent.end @indent.dedent)
|
|
45
|
+
|
|
46
|
+
(string_fragment) @indent.ignore @indent.auto
|
|
47
|
+
|
|
48
|
+
(if_expression
|
|
49
|
+
condition: (_) @indent.auto)
|
|
50
|
+
|
|
51
|
+
alternative: (if_expression) @indent.dedent
|
|
52
|
+
|
|
53
|
+
(interpolation) @indent.begin @indent.dedent
|
|
54
|
+
|
|
55
|
+
(interpolation
|
|
56
|
+
"}" @indent.end @indent.branch)
|
|
57
|
+
|
|
58
|
+
(ERROR
|
|
59
|
+
"then" @indent.begin)
|
|
60
|
+
|
|
61
|
+
(ERROR
|
|
62
|
+
"then"
|
|
63
|
+
.
|
|
64
|
+
(formals) @indent.begin)
|
|
65
|
+
|
|
66
|
+
(ERROR
|
|
67
|
+
"then"
|
|
68
|
+
.
|
|
69
|
+
(formals
|
|
70
|
+
"}" @indent.branch @indent.end))
|
|
71
|
+
|
|
72
|
+
(ERROR
|
|
73
|
+
"let") @indent.begin
|
|
74
|
+
|
|
75
|
+
(comment) @indent.ignore
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[
|
|
2
|
+
(let_binding)
|
|
3
|
+
(external)
|
|
4
|
+
(type_binding)
|
|
5
|
+
(exception_definition)
|
|
6
|
+
(module_binding)
|
|
7
|
+
(module_type_definition)
|
|
8
|
+
(open_module)
|
|
9
|
+
(include_module)
|
|
10
|
+
(include_module_type)
|
|
11
|
+
(class_binding)
|
|
12
|
+
(class_type_binding)
|
|
13
|
+
(value_specification)
|
|
14
|
+
(inheritance_specification)
|
|
15
|
+
(instance_variable_specification)
|
|
16
|
+
(method_specification)
|
|
17
|
+
(inheritance_definition)
|
|
18
|
+
(instance_variable_definition)
|
|
19
|
+
(method_definition)
|
|
20
|
+
(class_initializer)
|
|
21
|
+
(match_case)
|
|
22
|
+
(attribute)
|
|
23
|
+
(item_attribute)
|
|
24
|
+
(floating_attribute)
|
|
25
|
+
(extension)
|
|
26
|
+
(item_extension)
|
|
27
|
+
(quoted_extension)
|
|
28
|
+
(quoted_item_extension)
|
|
29
|
+
(comment)
|
|
30
|
+
] @fold
|