ts-wasms 2.0.0 → 3.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.
Files changed (141) hide show
  1. package/README.md +7 -0
  2. package/index.d.ts +108 -94
  3. package/index.js +21 -0
  4. package/manifest.json +622 -0
  5. package/out/ada/folds.scm +15 -0
  6. package/out/ada/highlights.scm +196 -0
  7. package/out/ada/injections.scm +2 -0
  8. package/out/ada/locals.scm +33 -0
  9. package/out/ada/textobjects.scm +23 -0
  10. package/out/ada/tree-sitter-ada.wasm +0 -0
  11. package/out/arduino/folds.scm +1 -0
  12. package/out/arduino/highlights.scm +48 -0
  13. package/out/arduino/indents.scm +1 -0
  14. package/out/arduino/injections.scm +1 -0
  15. package/out/arduino/locals.scm +1 -0
  16. package/out/arduino/tags.scm +5 -0
  17. package/out/arduino/tree-sitter-arduino.wasm +0 -0
  18. package/out/awk/highlights.scm +122 -0
  19. package/out/awk/injections.scm +17 -0
  20. package/out/awk/tree-sitter-awk.wasm +0 -0
  21. package/out/bibtex/folds.scm +1 -0
  22. package/out/bibtex/highlights.scm +47 -0
  23. package/out/bibtex/indents.scm +8 -0
  24. package/out/bibtex/injections.scm +2 -0
  25. package/out/bibtex/locals.scm +0 -0
  26. package/out/bibtex/tags.scm +0 -0
  27. package/out/bibtex/tree-sitter-bibtex.wasm +0 -0
  28. package/out/cairo/folds.scm +26 -0
  29. package/out/cairo/highlights.scm +372 -0
  30. package/out/cairo/indents.scm +134 -0
  31. package/out/cairo/injections.scm +3 -0
  32. package/out/cairo/locals.scm +28 -0
  33. package/out/cairo/textobjects.scm +79 -0
  34. package/out/cairo/tree-sitter-cairo.wasm +0 -0
  35. package/out/cuda/folds.scm +1 -0
  36. package/out/cuda/highlights.scm +17 -0
  37. package/out/cuda/indents.scm +1 -0
  38. package/out/cuda/injections.scm +1 -0
  39. package/out/cuda/locals.scm +1 -0
  40. package/out/cuda/tree-sitter-cuda.wasm +0 -0
  41. package/out/d/folds.scm +4 -0
  42. package/out/d/helix-highlights.scm +241 -0
  43. package/out/d/helix-indents.scm +17 -0
  44. package/out/d/helix-injections.scm +2 -0
  45. package/out/d/helix-textobjects.scm +9 -0
  46. package/out/d/highlights.scm +259 -0
  47. package/out/d/indents.scm +17 -0
  48. package/out/d/injections.scm +2 -0
  49. package/out/d/locals.scm +79 -0
  50. package/out/d/nova-folds.scm +6 -0
  51. package/out/d/nova-highlights.scm +283 -0
  52. package/out/d/nova-symbols.scm +23 -0
  53. package/out/d/tags.scm +28 -0
  54. package/out/d/textobjects.scm +9 -0
  55. package/out/d/tree-sitter-d.wasm +0 -0
  56. package/out/desktop/folds.scm +1 -0
  57. package/out/desktop/highlights.scm +91 -0
  58. package/out/desktop/injections.scm +8 -0
  59. package/out/desktop/tree-sitter-desktop.wasm +0 -0
  60. package/out/devicetree/folds.scm +1 -0
  61. package/out/devicetree/highlights.scm +78 -0
  62. package/out/devicetree/indents.scm +12 -0
  63. package/out/devicetree/injections.scm +2 -0
  64. package/out/devicetree/locals.scm +4 -0
  65. package/out/devicetree/tree-sitter-devicetree.wasm +0 -0
  66. package/out/git_config/folds.scm +2 -0
  67. package/out/git_config/injections.scm +69 -0
  68. package/out/git_rebase/injections.scm +8 -0
  69. package/out/gleam/folds.scm +7 -0
  70. package/out/gleam/highlights.scm +137 -0
  71. package/out/gleam/indents.scm +28 -0
  72. package/out/gleam/injections.scm +3 -0
  73. package/out/gleam/locals.scm +17 -0
  74. package/out/gleam/tags.scm +41 -0
  75. package/out/gleam/tree-sitter-gleam.wasm +0 -0
  76. package/out/glsl/folds.scm +1 -0
  77. package/out/glsl/highlights.scm +115 -0
  78. package/out/glsl/indents.scm +1 -0
  79. package/out/glsl/injections.scm +1 -0
  80. package/out/glsl/locals.scm +1 -0
  81. package/out/glsl/tree-sitter-glsl.wasm +0 -0
  82. package/out/godot_resource/folds.scm +1 -0
  83. package/out/godot_resource/highlights.scm +49 -0
  84. package/out/godot_resource/injections.scm +2 -0
  85. package/out/godot_resource/locals.scm +1 -0
  86. package/out/kdl/folds.scm +8 -0
  87. package/out/kdl/highlights.scm +58 -0
  88. package/out/kdl/indents.scm +7 -0
  89. package/out/kdl/injections.scm +4 -0
  90. package/out/kdl/locals.scm +10 -0
  91. package/out/kdl/tree-sitter-kdl.wasm +0 -0
  92. package/out/liquid/highlights.scm +119 -0
  93. package/out/liquid/injections.scm +22 -0
  94. package/out/liquid/tree-sitter-liquid.wasm +0 -0
  95. package/out/ocaml_interface/folds.scm +1 -0
  96. package/out/ocaml_interface/indents.scm +1 -0
  97. package/out/ocaml_interface/injections.scm +1 -0
  98. package/out/php_only/folds.scm +19 -0
  99. package/out/php_only/indents.scm +68 -0
  100. package/out/php_only/locals.scm +84 -0
  101. package/out/solidity/folds.scm +20 -0
  102. package/out/solidity/highlights-nvim.scm +309 -0
  103. package/out/solidity/highlights.scm +217 -0
  104. package/out/solidity/injections.scm +14 -0
  105. package/out/solidity/locals.scm +9 -0
  106. package/out/solidity/tags.scm +43 -0
  107. package/out/solidity/tree-sitter-solidity.wasm +0 -0
  108. package/package.json +18 -2
  109. /package/out/{c-sharp → c_sharp_c_sharp}/highlights.scm +0 -0
  110. /package/out/{c-sharp → c_sharp_c_sharp}/tags.scm +0 -0
  111. /package/out/{c-sharp/tree-sitter-c-sharp.wasm → c_sharp_c_sharp/tree-sitter-c_sharp_c_sharp.wasm} +0 -0
  112. /package/out/{embedded-template → embedded_template_embedded_template}/highlights.scm +0 -0
  113. /package/out/{embedded-template → embedded_template_embedded_template}/injections-ejs.scm +0 -0
  114. /package/out/{embedded-template → embedded_template_embedded_template}/injections-erb.scm +0 -0
  115. /package/out/{embedded-template → embedded_template_embedded_template}/injections-etlua.scm +0 -0
  116. /package/out/{embedded-template/tree-sitter-embedded-template.wasm → embedded_template_embedded_template/tree-sitter-embedded_template_embedded_template.wasm} +0 -0
  117. /package/out/{git-config → git_config}/highlights.scm +0 -0
  118. /package/out/{git-config/tree-sitter-git-config.wasm → git_config/tree-sitter-git_config.wasm} +0 -0
  119. /package/out/{git-rebase → git_rebase}/highlights.scm +0 -0
  120. /package/out/{git-rebase/tree-sitter-git-rebase.wasm → git_rebase/tree-sitter-git_rebase.wasm} +0 -0
  121. /package/out/{godot-resource/tree-sitter-godot-resource.wasm → godot_resource/tree-sitter-godot_resource.wasm} +0 -0
  122. /package/out/{markdown-inline → markdown_inline}/highlights.scm +0 -0
  123. /package/out/{markdown-inline → markdown_inline}/injections.scm +0 -0
  124. /package/out/{markdown-inline/tree-sitter-markdown-inline.wasm → markdown_inline/tree-sitter-markdown_inline.wasm} +0 -0
  125. /package/out/{ocaml-interface → ocaml_interface}/highlights.scm +0 -0
  126. /package/out/{ocaml-interface → ocaml_interface}/locals.scm +0 -0
  127. /package/out/{ocaml-interface → ocaml_interface}/tags.scm +0 -0
  128. /package/out/{ocaml-interface/tree-sitter-ocaml-interface.wasm → ocaml_interface/tree-sitter-ocaml_interface.wasm} +0 -0
  129. /package/out/{ocaml-type → ocaml_type}/highlights.scm +0 -0
  130. /package/out/{ocaml-type → ocaml_type}/locals.scm +0 -0
  131. /package/out/{ocaml-type → ocaml_type}/tags.scm +0 -0
  132. /package/out/{ocaml-type/tree-sitter-ocaml-type.wasm → ocaml_type/tree-sitter-ocaml_type.wasm} +0 -0
  133. /package/out/{php-only → php_only}/highlights.scm +0 -0
  134. /package/out/{php-only → php_only}/injections-text.scm +0 -0
  135. /package/out/{php-only → php_only}/injections.scm +0 -0
  136. /package/out/{php-only → php_only}/tags.scm +0 -0
  137. /package/out/{php-only/tree-sitter-php-only.wasm → php_only/tree-sitter-php_only.wasm} +0 -0
  138. /package/out/{csv-psv → psv}/highlights.scm +0 -0
  139. /package/out/{csv-psv/tree-sitter-csv-psv.wasm → psv/tree-sitter-psv.wasm} +0 -0
  140. /package/out/{csv-tsv → tsv}/highlights.scm +0 -0
  141. /package/out/{csv-tsv/tree-sitter-csv-tsv.wasm → tsv/tree-sitter-tsv.wasm} +0 -0
@@ -0,0 +1,68 @@
1
+ [
2
+ (array_creation_expression)
3
+ (parenthesized_expression)
4
+ (compound_statement)
5
+ (declaration_list)
6
+ (member_call_expression)
7
+ (binary_expression)
8
+ (return_statement)
9
+ (arguments)
10
+ (formal_parameters)
11
+ (enum_declaration_list)
12
+ (switch_block)
13
+ (match_block)
14
+ (case_statement)
15
+ (default_statement)
16
+ (property_hook_list)
17
+ ] @indent.begin
18
+
19
+ (return_statement
20
+ [
21
+ (object_creation_expression)
22
+ (anonymous_function)
23
+ (arrow_function)
24
+ (match_expression)
25
+ ]) @indent.dedent
26
+
27
+ [
28
+ ")"
29
+ "}"
30
+ "]"
31
+ ] @indent.branch
32
+
33
+ (comment) @indent.auto
34
+
35
+ (arguments
36
+ ")" @indent.end)
37
+
38
+ (formal_parameters
39
+ ")" @indent.end)
40
+
41
+ (compound_statement
42
+ "}" @indent.end)
43
+
44
+ (declaration_list
45
+ "}" @indent.end)
46
+
47
+ (enum_declaration_list
48
+ "}" @indent.end)
49
+
50
+ (return_statement
51
+ ";" @indent.end)
52
+
53
+ (property_hook_list
54
+ "}" @indent.end)
55
+
56
+ (ERROR
57
+ "(" @indent.align
58
+ .
59
+ (_)
60
+ (#set! indent.open_delimiter "(")
61
+ (#set! indent.close_delimiter ")"))
62
+
63
+ (ERROR
64
+ "[" @indent.align
65
+ .
66
+ (_)
67
+ (#set! indent.open_delimiter "[")
68
+ (#set! indent.close_delimiter "]"))
@@ -0,0 +1,84 @@
1
+ ; Scopes
2
+ ;-------
3
+ ((class_declaration
4
+ name: (name) @local.definition.type) @local.scope
5
+ (#set! definition.type.scope "parent"))
6
+
7
+ ((method_declaration
8
+ name: (name) @local.definition.method) @local.scope
9
+ (#set! definition.method.scope "parent"))
10
+
11
+ ((function_definition
12
+ name: (name) @local.definition.function) @local.scope
13
+ (#set! definition.function.scope "parent"))
14
+
15
+ (anonymous_function
16
+ (anonymous_function_use_clause
17
+ (variable_name
18
+ (name) @local.definition.var))) @local.scope
19
+
20
+ ; Definitions
21
+ ;------------
22
+ (simple_parameter
23
+ (variable_name
24
+ (name) @local.definition.var))
25
+
26
+ (foreach_statement
27
+ (pair
28
+ (variable_name
29
+ (name) @local.definition.var)))
30
+
31
+ (foreach_statement
32
+ (variable_name
33
+ (name) @local.reference
34
+ (#set! reference.kind "var"))
35
+ (variable_name
36
+ (name) @local.definition.var))
37
+
38
+ (property_declaration
39
+ (property_element
40
+ (variable_name
41
+ (name) @local.definition.field)))
42
+
43
+ (namespace_use_clause
44
+ (qualified_name
45
+ (name) @local.definition.type))
46
+
47
+ ; References
48
+ ;------------
49
+ (named_type
50
+ (name) @local.reference
51
+ (#set! reference.kind "type"))
52
+
53
+ (named_type
54
+ (qualified_name) @local.reference
55
+ (#set! reference.kind "type"))
56
+
57
+ (variable_name
58
+ (name) @local.reference
59
+ (#set! reference.kind "var"))
60
+
61
+ (member_access_expression
62
+ name: (name) @local.reference
63
+ (#set! reference.kind "field"))
64
+
65
+ (member_call_expression
66
+ name: (name) @local.reference
67
+ (#set! reference.kind "method"))
68
+
69
+ (function_call_expression
70
+ function: (qualified_name
71
+ (name) @local.reference
72
+ (#set! reference.kind "function")))
73
+
74
+ (object_creation_expression
75
+ (qualified_name
76
+ (name) @local.reference
77
+ (#set! reference.kind "type")))
78
+
79
+ (scoped_call_expression
80
+ scope: (qualified_name
81
+ (name) @local.reference
82
+ (#set! reference.kind "type"))
83
+ name: (name) @local.reference
84
+ (#set! reference.kind "method"))
@@ -0,0 +1,20 @@
1
+ [
2
+ (error_declaration)
3
+ (contract_body)
4
+ (struct_declaration)
5
+ (enum_declaration)
6
+ (event_definition)
7
+ (assembly_statement)
8
+ (block_statement)
9
+ (if_statement)
10
+ (for_statement)
11
+ (while_statement)
12
+ (yul_block)
13
+ (function_body)
14
+ (call_expression)
15
+ (inline_array_expression)
16
+ (tuple_expression)
17
+ (struct_expression)
18
+ (comment)
19
+ (emit_statement)
20
+ ] @fold
@@ -0,0 +1,309 @@
1
+ ; Pragma
2
+ [
3
+ "pragma"
4
+ "solidity"
5
+ ] @keyword.directive
6
+
7
+ (solidity_pragma_token
8
+ "||" @string.special.symbol)
9
+
10
+ (solidity_pragma_token
11
+ "-" @string.special.symbol)
12
+
13
+ (solidity_version_comparison_operator) @operator
14
+
15
+ (solidity_version) @string.special
16
+
17
+ ; Literals
18
+ [
19
+ (string)
20
+ (yul_string_literal)
21
+ ] @string
22
+
23
+ (hex_string_literal
24
+ "hex" @string.special.symbol
25
+ (_) @string)
26
+
27
+ (unicode_string_literal
28
+ "unicode" @string.special.symbol
29
+ (_) @string)
30
+
31
+ [
32
+ (number_literal)
33
+ (yul_decimal_number)
34
+ (yul_hex_number)
35
+ ] @number
36
+
37
+ (yul_boolean) @boolean
38
+
39
+ ; Variables
40
+ [
41
+ (identifier)
42
+ (yul_identifier)
43
+ ] @variable
44
+
45
+ ; Types
46
+ (type_name
47
+ (identifier) @type)
48
+
49
+ (type_name
50
+ (user_defined_type
51
+ (identifier) @type))
52
+
53
+ (type_name
54
+ "mapping" @function.builtin)
55
+
56
+ [
57
+ (primitive_type)
58
+ (number_unit)
59
+ ] @type.builtin
60
+
61
+ (contract_declaration
62
+ name: (identifier) @type)
63
+
64
+ (struct_declaration
65
+ name: (identifier) @type)
66
+
67
+ (struct_member
68
+ name: (identifier) @variable.member)
69
+
70
+ (enum_declaration
71
+ name: (identifier) @type)
72
+
73
+ (emit_statement
74
+ .
75
+ (expression (identifier)) @type)
76
+
77
+ ; Handles ContractA, ContractB in function foo() override(ContractA, contractB) {}
78
+ (override_specifier
79
+ (user_defined_type) @type)
80
+
81
+ ; Functions and parameters
82
+ (function_definition
83
+ name: (identifier) @function)
84
+
85
+ (modifier_definition
86
+ name: (identifier) @function)
87
+
88
+ (yul_evm_builtin) @function.builtin
89
+
90
+ ; Use constructor coloring for special functions
91
+ (constructor_definition
92
+ "constructor" @constructor)
93
+
94
+ (modifier_invocation
95
+ (identifier) @function)
96
+
97
+ ; Handles expressions like structVariable.g();
98
+ (call_expression
99
+ .
100
+ (expression(member_expression
101
+ (identifier) @function.method.call)))
102
+
103
+ ; Handles expressions like g();
104
+ (call_expression
105
+ .
106
+ (expression (identifier) @function.call))
107
+
108
+ ; Function parameters
109
+ (event_parameter
110
+ name: (_) @variable.parameter)
111
+
112
+ (parameter
113
+ name: (_) @variable.parameter)
114
+
115
+ ; Yul functions
116
+ (yul_function_call
117
+ function: (yul_identifier) @function.call)
118
+
119
+ ; Yul function parameters
120
+ (yul_function_definition
121
+ .
122
+ (yul_identifier) @function
123
+ (yul_identifier) @variable.parameter)
124
+
125
+ (meta_type_expression
126
+ "type" @keyword)
127
+
128
+ (member_expression
129
+ property: (_) @variable.member)
130
+
131
+ (call_struct_argument
132
+ name: (_) @variable.member)
133
+
134
+ (struct_field_assignment
135
+ name: (identifier) @variable.member)
136
+
137
+ (enum_value) @constant
138
+
139
+ ; Keywords
140
+ [
141
+ "contract"
142
+ "abstract"
143
+ "interface"
144
+ "library"
145
+ "is"
146
+ "struct"
147
+ "enum"
148
+ "event"
149
+ "assembly"
150
+ "emit"
151
+ "override"
152
+ "modifier"
153
+ "var"
154
+ "let"
155
+ "emit"
156
+ "error"
157
+ "fallback"
158
+ "receive"
159
+ (virtual)
160
+ ] @keyword
161
+
162
+ ; FIXME: update grammar
163
+ ; (block_statement "unchecked" @keyword)
164
+ (event_parameter
165
+ "indexed" @keyword)
166
+
167
+ [
168
+ "public"
169
+ "internal"
170
+ "private"
171
+ "external"
172
+ "pure"
173
+ "view"
174
+ "payable"
175
+ (immutable)
176
+ ] @keyword.modifier
177
+
178
+ [
179
+ "memory"
180
+ "storage"
181
+ "calldata"
182
+ "constant"
183
+ ] @keyword.modifier
184
+
185
+ [
186
+ "for"
187
+ "while"
188
+ "do"
189
+ "break"
190
+ "continue"
191
+ ] @keyword.repeat
192
+
193
+ [
194
+ "if"
195
+ "else"
196
+ "switch"
197
+ "case"
198
+ "default"
199
+ ] @keyword.conditional
200
+
201
+ (ternary_expression
202
+ "?" @keyword.conditional.ternary
203
+ ":" @keyword.conditional.ternary)
204
+
205
+ [
206
+ "try"
207
+ "catch"
208
+ "revert"
209
+ ] @keyword.exception
210
+
211
+ [
212
+ "return"
213
+ "returns"
214
+ (yul_leave)
215
+ ] @keyword.return
216
+
217
+ "function" @keyword.function
218
+
219
+ [
220
+ "import"
221
+ "using"
222
+ ] @keyword.import
223
+
224
+ (import_directive
225
+ "as" @keyword.import)
226
+
227
+ (import_directive
228
+ "from" @keyword.import)
229
+
230
+ ((import_directive
231
+ source: (string) @string.special.path)
232
+ (#offset! @string.special.path 0 1 0 -1))
233
+
234
+ ; Punctuation
235
+ [
236
+ "{"
237
+ "}"
238
+ ] @punctuation.bracket
239
+
240
+ [
241
+ "["
242
+ "]"
243
+ ] @punctuation.bracket
244
+
245
+ [
246
+ "("
247
+ ")"
248
+ ] @punctuation.bracket
249
+
250
+ [
251
+ "."
252
+ ","
253
+ ":"
254
+ ; FIXME: update grammar
255
+ ; (semicolon)
256
+ "->"
257
+ "=>"
258
+ ] @punctuation.delimiter
259
+
260
+ ; Operators
261
+ [
262
+ "&&"
263
+ "||"
264
+ ">>"
265
+ "<<"
266
+ "&"
267
+ "^"
268
+ "|"
269
+ "+"
270
+ "-"
271
+ "*"
272
+ "/"
273
+ "%"
274
+ "**"
275
+ "="
276
+ "<"
277
+ "<="
278
+ "=="
279
+ "!="
280
+ ">="
281
+ ">"
282
+ "!"
283
+ "~"
284
+ "-"
285
+ "+"
286
+ "++"
287
+ "--"
288
+ ":="
289
+ ] @operator
290
+
291
+ [
292
+ "delete"
293
+ "new"
294
+ ] @keyword.operator
295
+
296
+ (import_directive
297
+ "*" @character.special)
298
+
299
+ ; Comments
300
+ (comment) @comment @spell
301
+
302
+ ((comment) @comment.documentation
303
+ (#lua-match? @comment.documentation "^///[^/]"))
304
+
305
+ ((comment) @comment.documentation
306
+ (#lua-match? @comment.documentation "^///$"))
307
+
308
+ ((comment) @comment.documentation
309
+ (#lua-match? @comment.documentation "^/[*][*][^*].*[*]/$"))
@@ -0,0 +1,217 @@
1
+ ; identifiers
2
+ ; -----------
3
+ (identifier) @variable
4
+ (yul_identifier) @variable
5
+
6
+ ; Pragma
7
+ (pragma_directive) @tag
8
+ (solidity_version_comparison_operator _ @tag)
9
+
10
+ ; Literals
11
+ ; --------
12
+
13
+ [
14
+ (string)
15
+ (hex_string_literal)
16
+ (unicode_string_literal)
17
+ (yul_string_literal)
18
+ ] @string
19
+ [
20
+ (number_literal)
21
+ (yul_decimal_number)
22
+ (yul_hex_number)
23
+ ] @number
24
+ [
25
+ (true)
26
+ (false)
27
+ ] @constant.builtin
28
+
29
+ (comment) @comment
30
+
31
+ ; Definitions and references
32
+ ; -----------
33
+
34
+ (type_name) @type
35
+ (primitive_type) @type
36
+ (user_defined_type (identifier) @type)
37
+
38
+ (payable_conversion_expression "payable" @type)
39
+ ; Ensures that delimiters in mapping( ... => .. ) are not colored like types
40
+ (type_name "(" @punctuation.bracket "=>" @punctuation.delimiter ")" @punctuation.bracket)
41
+
42
+ ; Definitions
43
+ (struct_declaration
44
+ name: (identifier) @type)
45
+ (enum_declaration
46
+ name: (identifier) @type)
47
+ (contract_declaration
48
+ name: (identifier) @type)
49
+ (library_declaration
50
+ name: (identifier) @type)
51
+ (interface_declaration
52
+ name: (identifier) @type)
53
+ (event_definition
54
+ name: (identifier) @type)
55
+
56
+ (function_definition
57
+ name: (identifier) @function)
58
+
59
+ (modifier_definition
60
+ name: (identifier) @function)
61
+ (yul_evm_builtin) @function.builtin
62
+
63
+ ; Use constructor coloring for special functions
64
+ (constructor_definition "constructor" @constructor)
65
+ (fallback_receive_definition "receive" @constructor)
66
+ (fallback_receive_definition "fallback" @constructor)
67
+
68
+ (struct_member name: (identifier) @property)
69
+ (enum_value) @constant
70
+
71
+ ; Invocations
72
+ (emit_statement . (_) @type)
73
+ (modifier_invocation (identifier) @function)
74
+
75
+ (call_expression . (_(member_expression property: (_) @function.method)))
76
+ (call_expression . (expression(identifier)) @function)
77
+
78
+ ; Function parameters
79
+ (call_struct_argument name: (_) @field)
80
+ (event_parameter name: (identifier) @parameter)
81
+ (parameter name: (identifier) @variable.parameter)
82
+
83
+ ; Yul functions
84
+ (yul_function_call function: (yul_identifier) @function)
85
+ (yul_function_definition . (yul_identifier) @function (yul_identifier) @parameter)
86
+
87
+
88
+ ; Structs and members
89
+ (member_expression property: (identifier) @property)
90
+ (struct_expression type: ((expression(identifier)) @type .))
91
+ (struct_field_assignment name: (identifier) @property)
92
+
93
+
94
+ ; Tokens
95
+ ; -------
96
+
97
+ ; Keywords
98
+ (meta_type_expression "type" @keyword)
99
+ ; Keywords
100
+ [
101
+ "layout"
102
+ "pragma"
103
+ "contract"
104
+ "abstract"
105
+ "interface"
106
+ "library"
107
+ "is"
108
+ "struct"
109
+ "enum"
110
+ "event"
111
+ "using"
112
+ "assembly"
113
+ "emit"
114
+ "public"
115
+ "internal"
116
+ "private"
117
+ "external"
118
+ "pure"
119
+ "view"
120
+ "payable"
121
+ "modifier"
122
+ "memory"
123
+ "storage"
124
+ "calldata"
125
+ "var"
126
+ "constant"
127
+ (virtual)
128
+ (override_specifier)
129
+ (yul_leave)
130
+ ] @keyword
131
+
132
+ [
133
+ "for"
134
+ "while"
135
+ "do"
136
+ ] @repeat
137
+
138
+ [
139
+ "break"
140
+ "continue"
141
+ "if"
142
+ "else"
143
+ "switch"
144
+ "case"
145
+ "default"
146
+ ] @conditional
147
+
148
+ [
149
+ "try"
150
+ "catch"
151
+ ] @exception
152
+
153
+ [
154
+ "return"
155
+ "returns"
156
+ ] @keyword.return
157
+
158
+ "function" @keyword.function
159
+
160
+ "import" @include
161
+ (import_directive "as" @include)
162
+ (import_directive "from" @include)
163
+
164
+ (event_parameter "indexed" @keyword)
165
+
166
+ ; Punctuation
167
+
168
+ [
169
+ "("
170
+ ")"
171
+ "["
172
+ "]"
173
+ "{"
174
+ "}"
175
+ ] @punctuation.bracket
176
+
177
+
178
+ [
179
+ "."
180
+ ","
181
+ ] @punctuation.delimiter
182
+
183
+
184
+ ; Operators
185
+
186
+ [
187
+ "&&"
188
+ "||"
189
+ ">>"
190
+ "<<"
191
+ "&"
192
+ "^"
193
+ "|"
194
+ "+"
195
+ "-"
196
+ "*"
197
+ "/"
198
+ "%"
199
+ "**"
200
+ "<"
201
+ "<="
202
+ "=="
203
+ "!="
204
+ ">="
205
+ ">"
206
+ "!"
207
+ "~"
208
+ "-"
209
+ "+"
210
+ "++"
211
+ "--"
212
+ ] @operator
213
+
214
+ [
215
+ "delete"
216
+ "new"
217
+ ] @keyword.operator
@@ -0,0 +1,14 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((comment) @injection.content
5
+ (#lua-match? @injection.content "^///[^/]")
6
+ (#set! injection.language "doxygen"))
7
+
8
+ ((comment) @injection.content
9
+ (#lua-match? @injection.content "^///$")
10
+ (#set! injection.language "doxygen"))
11
+
12
+ ((comment) @injection.content
13
+ (#lua-match? @injection.content "^/[*][*][^*].*[*]/$")
14
+ (#set! injection.language "doxygen"))
@@ -0,0 +1,9 @@
1
+ (function_definition) @local.scope
2
+ (block_statement) @local.scope
3
+
4
+ (function_definition (parameter name: (_) @local.definition))
5
+
6
+ ; still have to support tuple assignments
7
+ (assignment_expression left: (_) @local.definition)
8
+
9
+ (identifier) @local.reference