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.
Files changed (234) hide show
  1. package/README.md +26 -9
  2. package/index.d.ts +102 -0
  3. package/index.js +27 -0
  4. package/out/angular/folds.scm +1 -0
  5. package/out/angular/highlights.scm +178 -0
  6. package/out/angular/indents.scm +16 -0
  7. package/out/angular/injections.scm +1 -0
  8. package/out/angular/locals.scm +1 -0
  9. package/out/angular/tree-sitter-angular.wasm +0 -0
  10. package/out/asm/highlights.scm +66 -0
  11. package/out/asm/injections.scm +5 -0
  12. package/out/asm/tree-sitter-asm.wasm +0 -0
  13. package/out/astro/folds.scm +1 -0
  14. package/out/astro/highlights.scm +12 -0
  15. package/out/astro/indents.scm +1 -0
  16. package/out/astro/injections.scm +27 -0
  17. package/out/astro/locals.scm +1 -0
  18. package/out/astro/tree-sitter-astro.wasm +0 -0
  19. package/out/bash/folds.scm +9 -0
  20. package/out/bash/indents.scm +32 -0
  21. package/out/bash/injections.scm +90 -0
  22. package/out/bash/locals.scm +14 -0
  23. package/out/c/folds.scm +23 -0
  24. package/out/c/indents.scm +99 -0
  25. package/out/c/injections.scm +128 -0
  26. package/out/c/locals.scm +67 -0
  27. package/out/clojure/folds.scm +2 -0
  28. package/out/clojure/injections.scm +2 -0
  29. package/out/clojure/locals.scm +1 -0
  30. package/out/cmake/folds.scm +8 -0
  31. package/out/cmake/highlights.scm +221 -0
  32. package/out/cmake/indents.scm +26 -0
  33. package/out/cmake/injections.scm +5 -0
  34. package/out/cmake/tree-sitter-cmake.wasm +0 -0
  35. package/out/comment/highlights.scm +49 -0
  36. package/out/comment/tree-sitter-comment.wasm +0 -0
  37. package/out/commonlisp/folds.scm +2 -0
  38. package/out/commonlisp/injections.scm +5 -0
  39. package/out/commonlisp/locals.scm +109 -0
  40. package/out/cpp/folds.scm +14 -0
  41. package/out/cpp/indents.scm +8 -0
  42. package/out/cpp/locals.scm +78 -0
  43. package/out/css/folds.scm +10 -0
  44. package/out/css/indents.scm +11 -0
  45. package/out/css/injections.scm +2 -0
  46. package/out/csv/highlights.scm +5 -0
  47. package/out/csv/tree-sitter-csv.wasm +0 -0
  48. package/out/csv-psv/highlights.scm +5 -0
  49. package/out/csv-psv/tree-sitter-csv-psv.wasm +0 -0
  50. package/out/csv-tsv/highlights.scm +4 -0
  51. package/out/csv-tsv/tree-sitter-csv-tsv.wasm +0 -0
  52. package/out/dart/indents.scm +49 -0
  53. package/out/dart/injections.scm +2 -0
  54. package/out/dart/locals.scm +32 -0
  55. package/out/diff/folds.scm +5 -0
  56. package/out/diff/highlights.scm +49 -0
  57. package/out/diff/injections.scm +2 -0
  58. package/out/diff/tree-sitter-diff.wasm +0 -0
  59. package/out/dockerfile/highlights.scm +58 -0
  60. package/out/dockerfile/injections.scm +12 -0
  61. package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
  62. package/out/dtd/folds.scm +4 -0
  63. package/out/dtd/injections.scm +2 -0
  64. package/out/dtd/locals.scm +11 -0
  65. package/out/editorconfig/folds.scm +1 -0
  66. package/out/editorconfig/highlights.scm +35 -0
  67. package/out/editorconfig/injections.scm +2 -0
  68. package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
  69. package/out/elixir/folds.scm +10 -0
  70. package/out/elixir/indents.scm +25 -0
  71. package/out/elixir/locals.scm +200 -0
  72. package/out/elm/folds.scm +14 -0
  73. package/out/erlang/folds.scm +9 -0
  74. package/out/erlang/injections.scm +2 -0
  75. package/out/fish/folds.scm +8 -0
  76. package/out/fish/highlights.scm +61 -0
  77. package/out/fish/indents.scm +18 -0
  78. package/out/fish/injections.scm +2 -0
  79. package/out/fish/locals.scm +19 -0
  80. package/out/fish/tree-sitter-fish.wasm +0 -0
  81. package/out/gdscript/folds.scm +26 -0
  82. package/out/gdscript/highlights.scm +635 -0
  83. package/out/gdscript/indents.scm +78 -0
  84. package/out/gdscript/injections.scm +2 -0
  85. package/out/gdscript/locals.scm +121 -0
  86. package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
  87. package/out/gdshader/highlights.scm +256 -0
  88. package/out/gdshader/injections.scm +2 -0
  89. package/out/gdshader/locals.scm +24 -0
  90. package/out/gdshader/tags.scm +13 -0
  91. package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
  92. package/out/git-config/highlights.scm +28 -0
  93. package/out/git-config/tree-sitter-git-config.wasm +0 -0
  94. package/out/git-rebase/highlights.scm +36 -0
  95. package/out/git-rebase/tree-sitter-git-rebase.wasm +0 -0
  96. package/out/gitattributes/highlights.scm +52 -0
  97. package/out/gitattributes/injections.scm +2 -0
  98. package/out/gitattributes/locals.scm +8 -0
  99. package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
  100. package/out/gitignore/highlights.scm +36 -0
  101. package/out/gitignore/injections.scm +2 -0
  102. package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
  103. package/out/go/folds.scm +19 -0
  104. package/out/go/indents.scm +48 -0
  105. package/out/go/injections.scm +42 -0
  106. package/out/go/locals.scm +88 -0
  107. package/out/godot-resource/tree-sitter-godot-resource.wasm +0 -0
  108. package/out/graphql/indents.scm +11 -0
  109. package/out/graphql/injections.scm +2 -0
  110. package/out/groovy/folds.scm +6 -0
  111. package/out/groovy/highlights.scm +148 -0
  112. package/out/groovy/indents.scm +23 -0
  113. package/out/groovy/injections.scm +5 -0
  114. package/out/groovy/locals.scm +6 -0
  115. package/out/groovy/tree-sitter-groovy.wasm +0 -0
  116. package/out/haskell/folds.scm +6 -0
  117. package/out/hcl/folds.scm +6 -0
  118. package/out/hcl/indents.scm +16 -0
  119. package/out/hcl/injections.scm +6 -0
  120. package/out/html/folds.scm +5 -0
  121. package/out/html/indents.scm +1 -0
  122. package/out/html/locals.scm +1 -0
  123. package/out/ini/folds.scm +1 -0
  124. package/out/ini/highlights.scm +16 -0
  125. package/out/ini/injections.scm +3 -0
  126. package/out/ini/tree-sitter-ini.wasm +0 -0
  127. package/out/java/folds.scm +8 -0
  128. package/out/java/indents.scm +40 -0
  129. package/out/java/injections.scm +31 -0
  130. package/out/java/locals.scm +100 -0
  131. package/out/javascript/folds.scm +1 -0
  132. package/out/javascript/indents.scm +1 -0
  133. package/out/json/folds.scm +5 -0
  134. package/out/json/indents.scm +11 -0
  135. package/out/json/injections.scm +2 -0
  136. package/out/json/locals.scm +4 -0
  137. package/out/julia/folds.scm +14 -0
  138. package/out/julia/indents.scm +52 -0
  139. package/out/kotlin/folds.scm +13 -0
  140. package/out/kotlin/injections.scm +52 -0
  141. package/out/kotlin/locals.scm +78 -0
  142. package/out/lua/folds.scm +12 -0
  143. package/out/lua/indents.scm +47 -0
  144. package/out/markdown/folds.scm +12 -0
  145. package/out/markdown/indents.scm +1 -0
  146. package/out/matlab/folds.scm +13 -0
  147. package/out/matlab/highlights.scm +218 -0
  148. package/out/matlab/indents.scm +40 -0
  149. package/out/matlab/injections.scm +2 -0
  150. package/out/matlab/locals.scm +33 -0
  151. package/out/matlab/tree-sitter-matlab.wasm +0 -0
  152. package/out/nim/folds.scm +41 -0
  153. package/out/nim/highlights.scm +186 -0
  154. package/out/nim/injections.scm +79 -0
  155. package/out/nim/locals.scm +328 -0
  156. package/out/nim/tree-sitter-nim.wasm +0 -0
  157. package/out/nix/folds.scm +11 -0
  158. package/out/nix/indents.scm +75 -0
  159. package/out/ocaml/folds.scm +30 -0
  160. package/out/ocaml/indents.scm +77 -0
  161. package/out/ocaml/injections.scm +2 -0
  162. package/out/php/folds.scm +1 -0
  163. package/out/php/indents.scm +1 -0
  164. package/out/php/locals.scm +1 -0
  165. package/out/prisma/folds.scm +7 -0
  166. package/out/prisma/injections.scm +5 -0
  167. package/out/python/folds.scm +28 -0
  168. package/out/python/indents.scm +213 -0
  169. package/out/python/injections.scm +30 -0
  170. package/out/python/locals.scm +124 -0
  171. package/out/qmljs/folds.scm +8 -0
  172. package/out/qmljs/highlights.scm +61 -0
  173. package/out/qmljs/injections.scm +1 -0
  174. package/out/qmljs/locals.scm +6 -0
  175. package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
  176. package/out/query/folds.scm +6 -0
  177. package/out/query/indents.scm +25 -0
  178. package/out/query/injections.scm +28 -0
  179. package/out/query/locals.scm +21 -0
  180. package/out/r/indents.scm +33 -0
  181. package/out/r/injections.scm +2 -0
  182. package/out/racket/folds.scm +2 -0
  183. package/out/racket/injections.scm +5 -0
  184. package/out/ruby/folds.scm +12 -0
  185. package/out/ruby/indents.scm +43 -0
  186. package/out/ruby/injections.scm +34 -0
  187. package/out/rust/folds.scm +25 -0
  188. package/out/rust/indents.scm +133 -0
  189. package/out/rust/locals.scm +98 -0
  190. package/out/scala/folds.scm +16 -0
  191. package/out/scala/injections.scm +5 -0
  192. package/out/scheme/folds.scm +2 -0
  193. package/out/scheme/injections.scm +2 -0
  194. package/out/scss/folds.scm +1 -0
  195. package/out/scss/indents.scm +7 -0
  196. package/out/scss/injections.scm +2 -0
  197. package/out/sql/folds.scm +1 -0
  198. package/out/sql/injections.scm +5 -0
  199. package/out/terraform/folds.scm +1 -0
  200. package/out/terraform/indents.scm +1 -0
  201. package/out/terraform/injections.scm +1 -0
  202. package/out/toml/folds.scm +5 -0
  203. package/out/toml/indents.scm +11 -0
  204. package/out/toml/injections.scm +2 -0
  205. package/out/toml/locals.scm +4 -0
  206. package/out/tsx/folds.scm +1 -0
  207. package/out/tsx/indents.scm +1 -0
  208. package/out/tsx/injections.scm +1 -0
  209. package/out/typescript/folds.scm +8 -0
  210. package/out/typescript/indents.scm +7 -0
  211. package/out/typescript/injections.scm +28 -0
  212. package/out/vim/folds.scm +4 -0
  213. package/out/vim/highlights.scm +362 -0
  214. package/out/vim/injections.scm +44 -0
  215. package/out/vim/locals.scm +19 -0
  216. package/out/vim/tree-sitter-vim.wasm +0 -0
  217. package/out/vimdoc/injections.scm +4 -0
  218. package/out/vue/folds.scm +6 -0
  219. package/out/vue/highlights.scm +54 -0
  220. package/out/vue/indents.scm +7 -0
  221. package/out/vue/injections.scm +78 -0
  222. package/out/vue/tree-sitter-vue.wasm +0 -0
  223. package/out/xml/folds.scm +5 -0
  224. package/out/xml/indents.scm +16 -0
  225. package/out/xml/injections.scm +32 -0
  226. package/out/xml/locals.scm +35 -0
  227. package/out/yaml/folds.scm +4 -0
  228. package/out/yaml/highlights.scm +79 -0
  229. package/out/yaml/indents.scm +7 -0
  230. package/out/yaml/injections.scm +81 -0
  231. package/out/yaml/locals.scm +9 -0
  232. package/out/yaml/tree-sitter-yaml.wasm +0 -0
  233. package/out/zig/locals.scm +96 -0
  234. package/package.json +49 -17
@@ -0,0 +1,11 @@
1
+ [
2
+ (object)
3
+ (array)
4
+ ] @indent.begin
5
+
6
+ [
7
+ "}"
8
+ "]"
9
+ ] @indent.branch
10
+
11
+ (comment) @indent.ignore
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,4 @@
1
+ [
2
+ (object)
3
+ (array)
4
+ ] @local.scope
@@ -0,0 +1,14 @@
1
+ [
2
+ (module_definition)
3
+ (struct_definition)
4
+ (macro_definition)
5
+ (function_definition)
6
+ (if_statement)
7
+ (try_statement)
8
+ (for_statement)
9
+ (while_statement)
10
+ (let_statement)
11
+ (quote_statement)
12
+ (do_clause)
13
+ (compound_statement)
14
+ ] @fold
@@ -0,0 +1,52 @@
1
+ [
2
+ (struct_definition)
3
+ (macro_definition)
4
+ (function_definition)
5
+ (compound_statement)
6
+ (if_statement)
7
+ (try_statement)
8
+ (for_statement)
9
+ (while_statement)
10
+ (let_statement)
11
+ (quote_statement)
12
+ (do_clause)
13
+ (assignment)
14
+ (for_binding)
15
+ (call_expression)
16
+ (parenthesized_expression)
17
+ (tuple_expression)
18
+ (comprehension_expression)
19
+ (matrix_expression)
20
+ (vector_expression)
21
+ ] @indent.begin
22
+
23
+ [
24
+ "end"
25
+ ")"
26
+ "]"
27
+ "}"
28
+ ] @indent.end
29
+
30
+ [
31
+ "end"
32
+ ")"
33
+ "]"
34
+ "}"
35
+ (else_clause)
36
+ (elseif_clause)
37
+ (catch_clause)
38
+ (finally_clause)
39
+ ] @indent.branch
40
+
41
+ [
42
+ (line_comment)
43
+ (block_comment)
44
+ ] @indent.ignore
45
+
46
+ ((argument_list) @indent.align
47
+ (#set! indent.open_delimiter "(")
48
+ (#set! indent.close_delimiter ")"))
49
+
50
+ ((curly_expression) @indent.align
51
+ (#set! indent.open_delimiter "{")
52
+ (#set! indent.close_delimiter "}"))
@@ -0,0 +1,13 @@
1
+ [
2
+ (import_list)
3
+ (when_expression)
4
+ (control_structure_body)
5
+ (lambda_literal)
6
+ (function_body)
7
+ (primary_constructor)
8
+ (secondary_constructor)
9
+ (anonymous_initializer)
10
+ (class_body)
11
+ (enum_class_body)
12
+ (interpolated_expression)
13
+ ] @fold
@@ -0,0 +1,52 @@
1
+ ([
2
+ (line_comment)
3
+ (multiline_comment)
4
+ ] @injection.content
5
+ (#set! injection.language "comment"))
6
+
7
+ ; There are 3 ways to define a regex
8
+ ; - "[abc]?".toRegex()
9
+ (call_expression
10
+ (navigation_expression
11
+ ((string_literal
12
+ (string_content) @injection.content)
13
+ (#set! injection.language "regex"))
14
+ (navigation_suffix
15
+ ((simple_identifier) @_function
16
+ (#eq? @_function "toRegex")))))
17
+
18
+ ; - Regex("[abc]?")
19
+ (call_expression
20
+ ((simple_identifier) @_function
21
+ (#eq? @_function "Regex"))
22
+ (call_suffix
23
+ (value_arguments
24
+ (value_argument
25
+ (string_literal
26
+ (string_content) @injection.content)
27
+ (#set! injection.language "regex")))))
28
+
29
+ ; - Regex.fromLiteral("[abc]?")
30
+ (call_expression
31
+ (navigation_expression
32
+ ((simple_identifier) @_class
33
+ (#eq? @_class "Regex"))
34
+ (navigation_suffix
35
+ ((simple_identifier) @_function
36
+ (#eq? @_function "fromLiteral"))))
37
+ (call_suffix
38
+ (value_arguments
39
+ (value_argument
40
+ (string_literal
41
+ (string_content) @injection.content)
42
+ (#set! injection.language "regex")))))
43
+
44
+ ; "pi = %.2f".format(3.14159)
45
+ ((call_expression
46
+ (navigation_expression
47
+ (string_literal
48
+ (string_content) @injection.content)
49
+ (navigation_suffix
50
+ (simple_identifier) @_method)))
51
+ (#eq? @_method "format")
52
+ (#set! injection.language "printf"))
@@ -0,0 +1,78 @@
1
+ ; Imports
2
+ (package_header
3
+ .
4
+ (identifier) @local.definition.namespace)
5
+
6
+ (import_header
7
+ (identifier
8
+ (simple_identifier) @local.definition.import .)
9
+ (import_alias
10
+ (type_identifier) @local.definition.import)?)
11
+
12
+ ; Functions
13
+ (function_declaration
14
+ .
15
+ (simple_identifier) @local.definition.function
16
+ (#set! definition.function.scope "parent"))
17
+
18
+ (class_body
19
+ (function_declaration
20
+ .
21
+ (simple_identifier) @local.definition.method)
22
+ (#set! definition.method.scope "parent"))
23
+
24
+ ; Variables
25
+ (function_declaration
26
+ (function_value_parameters
27
+ (parameter
28
+ (simple_identifier) @local.definition.parameter)))
29
+
30
+ (lambda_literal
31
+ (lambda_parameters
32
+ (variable_declaration
33
+ (simple_identifier) @local.definition.parameter)))
34
+
35
+ ; NOTE: temporary fix for treesitter bug that causes delay in file opening
36
+ ;(class_body
37
+ ; (property_declaration
38
+ ; (variable_declaration
39
+ ; (simple_identifier) @local.definition.field)))
40
+ (class_declaration
41
+ (primary_constructor
42
+ (class_parameter
43
+ (simple_identifier) @local.definition.field)))
44
+
45
+ (enum_class_body
46
+ (enum_entry
47
+ (simple_identifier) @local.definition.field))
48
+
49
+ (variable_declaration
50
+ (simple_identifier) @local.definition.var)
51
+
52
+ ; Types
53
+ (class_declaration
54
+ (type_identifier) @local.definition.type
55
+ (#set! definition.type.scope "parent"))
56
+
57
+ (type_alias
58
+ (type_identifier) @local.definition.type
59
+ (#set! definition.type.scope "parent"))
60
+
61
+ ; Scopes
62
+ [
63
+ (if_expression)
64
+ (when_expression)
65
+ (when_entry)
66
+ (for_statement)
67
+ (while_statement)
68
+ (do_while_statement)
69
+ (lambda_literal)
70
+ (function_declaration)
71
+ (primary_constructor)
72
+ (secondary_constructor)
73
+ (anonymous_initializer)
74
+ (class_declaration)
75
+ (enum_class_body)
76
+ (enum_entry)
77
+ (interpolated_expression)
78
+ ] @local.scope
@@ -0,0 +1,12 @@
1
+ [
2
+ (do_statement)
3
+ (while_statement)
4
+ (repeat_statement)
5
+ (if_statement)
6
+ (for_statement)
7
+ (function_declaration)
8
+ (function_definition)
9
+ (parameters)
10
+ (arguments)
11
+ (table_constructor)
12
+ ] @fold
@@ -0,0 +1,47 @@
1
+ [
2
+ (function_definition)
3
+ (function_declaration)
4
+ (field)
5
+ (do_statement)
6
+ (method_index_expression)
7
+ (while_statement)
8
+ (repeat_statement)
9
+ (if_statement)
10
+ "then"
11
+ (for_statement)
12
+ (return_statement)
13
+ (table_constructor)
14
+ (arguments)
15
+ ] @indent.begin
16
+
17
+ [
18
+ "end"
19
+ "}"
20
+ "]]"
21
+ ] @indent.end
22
+
23
+ (")" @indent.end
24
+ (#not-has-parent? @indent.end parameters))
25
+
26
+ (return_statement
27
+ (expression_list
28
+ (function_call))) @indent.dedent
29
+
30
+ [
31
+ "end"
32
+ "then"
33
+ "until"
34
+ "}"
35
+ ")"
36
+ "elseif"
37
+ (elseif_statement)
38
+ "else"
39
+ (else_statement)
40
+ ] @indent.branch
41
+
42
+ (comment) @indent.auto
43
+
44
+ (string) @indent.auto
45
+
46
+ (ERROR
47
+ "function") @indent.begin
@@ -0,0 +1,12 @@
1
+ ([
2
+ (fenced_code_block)
3
+ (indented_code_block)
4
+ (list_item
5
+ (list))
6
+ (section)
7
+ ] @fold
8
+ (#trim! @fold))
9
+
10
+ (section
11
+ (list) @fold
12
+ (#trim! @fold))
@@ -0,0 +1 @@
1
+ (list_item) @indent.auto
@@ -0,0 +1,13 @@
1
+ [
2
+ (if_statement)
3
+ (for_statement)
4
+ (while_statement)
5
+ (switch_statement)
6
+ (try_statement)
7
+ (function_definition)
8
+ (class_definition)
9
+ (enumeration)
10
+ (events)
11
+ (methods)
12
+ (properties)
13
+ ] @fold
@@ -0,0 +1,218 @@
1
+ ; Includes
2
+ ((command_name) @keyword.import
3
+ (#eq? @keyword.import "import"))
4
+
5
+ ; Keywords
6
+ [
7
+ "arguments"
8
+ "end"
9
+ "events"
10
+ "global"
11
+ "methods"
12
+ "persistent"
13
+ "properties"
14
+ ] @keyword
15
+
16
+ "enumeration" @keyword.type
17
+
18
+ (class_definition
19
+ [
20
+ "classdef"
21
+ "end"
22
+ ] @keyword.type)
23
+
24
+ ; Conditionals
25
+ (if_statement
26
+ [
27
+ "if"
28
+ "end"
29
+ ] @keyword.conditional)
30
+
31
+ (elseif_clause
32
+ "elseif" @keyword.conditional)
33
+
34
+ (else_clause
35
+ "else" @keyword.conditional)
36
+
37
+ (switch_statement
38
+ [
39
+ "switch"
40
+ "end"
41
+ ] @keyword.conditional)
42
+
43
+ (case_clause
44
+ "case" @keyword.conditional)
45
+
46
+ (otherwise_clause
47
+ "otherwise" @keyword.conditional)
48
+
49
+ (break_statement) @keyword.conditional
50
+
51
+ ; Repeats
52
+ (for_statement
53
+ [
54
+ "for"
55
+ "parfor"
56
+ "end"
57
+ ] @keyword.repeat)
58
+
59
+ (while_statement
60
+ [
61
+ "while"
62
+ "end"
63
+ ] @keyword.repeat)
64
+
65
+ (continue_statement) @keyword.repeat
66
+
67
+ ; Exceptions
68
+ (try_statement
69
+ [
70
+ "try"
71
+ "end"
72
+ ] @keyword.exception)
73
+
74
+ (catch_clause
75
+ "catch" @keyword.exception)
76
+
77
+ ; Variables
78
+ (identifier) @variable
79
+
80
+ ; Constants
81
+ (events
82
+ (identifier) @constant)
83
+
84
+ (attribute
85
+ (identifier) @constant)
86
+
87
+ "~" @constant.builtin
88
+
89
+ ; Fields/Properties
90
+ (field_expression
91
+ field: (identifier) @variable.member)
92
+
93
+ (superclass
94
+ "."
95
+ (identifier) @variable.member)
96
+
97
+ (property_name
98
+ "."
99
+ (identifier) @variable.member)
100
+
101
+ (property
102
+ name: (identifier) @variable.member)
103
+
104
+ ; Types
105
+ (class_definition
106
+ name: (identifier) @type)
107
+
108
+ (attributes
109
+ (identifier) @constant)
110
+
111
+ (enum
112
+ .
113
+ (identifier) @type)
114
+
115
+ ((identifier) @type
116
+ (#lua-match? @type "^_*[A-Z][a-zA-Z0-9_]+$"))
117
+
118
+ ; Functions
119
+ (function_definition
120
+ "function" @keyword.function
121
+ name: (identifier) @function
122
+ [
123
+ "end"
124
+ "endfunction"
125
+ ]? @keyword.function)
126
+
127
+ (function_signature
128
+ name: (identifier) @function)
129
+
130
+ (function_call
131
+ name: (identifier) @function.call)
132
+
133
+ (handle_operator
134
+ (identifier) @function)
135
+
136
+ (validation_functions
137
+ (identifier) @function)
138
+
139
+ (command
140
+ (command_name) @function.call)
141
+
142
+ (command_argument) @variable.parameter
143
+
144
+ (return_statement) @keyword.return
145
+
146
+ ; Parameters
147
+ (function_arguments
148
+ (identifier) @variable.parameter)
149
+
150
+ ; Punctuation
151
+ [
152
+ ";"
153
+ ","
154
+ "."
155
+ ] @punctuation.delimiter
156
+
157
+ [
158
+ "("
159
+ ")"
160
+ "["
161
+ "]"
162
+ "{"
163
+ "}"
164
+ ] @punctuation.bracket
165
+
166
+ ; Operators
167
+ [
168
+ "+"
169
+ ".+"
170
+ "-"
171
+ ".*"
172
+ "*"
173
+ "/"
174
+ "./"
175
+ "\\"
176
+ ".\\"
177
+ "^"
178
+ ".^"
179
+ "'"
180
+ ".'"
181
+ "|"
182
+ "&"
183
+ "?"
184
+ "@"
185
+ "<"
186
+ "<="
187
+ ">"
188
+ ">="
189
+ "=="
190
+ "~="
191
+ "="
192
+ "&&"
193
+ "||"
194
+ ":"
195
+ ] @operator
196
+
197
+ ; Literals
198
+ (string) @string
199
+
200
+ (escape_sequence) @string.escape
201
+
202
+ (formatting_sequence) @string.special
203
+
204
+ (number) @number
205
+
206
+ ((identifier) @boolean
207
+ (#eq? @boolean "true"))
208
+
209
+ ((identifier) @boolean
210
+ (#eq? @boolean "false"))
211
+
212
+ ; Comments
213
+ (comment) @comment @spell
214
+
215
+ (line_continuation) @punctuation.special
216
+
217
+ ((comment) @keyword.directive
218
+ (#lua-match? @keyword.directive "^%%%% "))
@@ -0,0 +1,40 @@
1
+ "end" @indent.end @indent.branch
2
+
3
+ [
4
+ (arguments_statement)
5
+ (if_statement)
6
+ (for_statement)
7
+ (while_statement)
8
+ (switch_statement)
9
+ (try_statement)
10
+ (function_definition)
11
+ (class_definition)
12
+ (enumeration)
13
+ (events)
14
+ (methods)
15
+ (properties)
16
+ ] @indent.begin
17
+
18
+ [
19
+ "elseif"
20
+ "else"
21
+ "case"
22
+ "otherwise"
23
+ "catch"
24
+ ] @indent.branch
25
+
26
+ ((matrix
27
+ (row) @indent.align)
28
+ (#set! indent.open_delimiter "[")
29
+ (#set! indent.close_delimiter "]"))
30
+
31
+ ((cell
32
+ (row) @indent.align)
33
+ (#set! indent.open_delimiter "{")
34
+ (#set! indent.close_delimiter "}"))
35
+
36
+ ((parenthesis) @indent.align
37
+ (#set! indent.open_delimiter "(")
38
+ (#set! indent.close_delimiter ")"))
39
+
40
+ (comment) @indent.auto
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,33 @@
1
+ ; References
2
+ (identifier) @local.reference
3
+
4
+ ; Definitions
5
+ (function_definition
6
+ name: (identifier) @local.definition.function
7
+ (function_arguments
8
+ (identifier)* @local.definition.parameter
9
+ (","
10
+ (identifier) @local.definition.parameter)*)?) @local.scope
11
+
12
+ (assignment
13
+ left: (identifier) @local.definition.var)
14
+
15
+ (multioutput_variable
16
+ (identifier) @local.definition.var)
17
+
18
+ (iterator
19
+ .
20
+ (identifier) @local.definition.var)
21
+
22
+ (lambda
23
+ (arguments
24
+ (identifier) @local.definition.parameter))
25
+
26
+ (global_operator
27
+ (identifier) @local.definition.var)
28
+
29
+ (persistent_operator
30
+ (identifier) @local.definition.var)
31
+
32
+ (catch_clause
33
+ (identifier) @local.definition)
@@ -0,0 +1,41 @@
1
+ [
2
+ (const_section)
3
+ (var_section)
4
+ (let_section)
5
+ (type_section)
6
+ (using_section)
7
+ (object_declaration)
8
+ (tuple_type)
9
+ (enum_declaration)
10
+ (case)
11
+ (if)
12
+ (when)
13
+ (conditional_declaration)
14
+ (variant_declaration)
15
+ (of_branch)
16
+ (elif_branch)
17
+ (else_branch)
18
+ (for)
19
+ (while)
20
+ (block)
21
+ (static_statement)
22
+ (pragma_statement)
23
+ (try)
24
+ (except_branch)
25
+ (finally_branch)
26
+ (do_block)
27
+ (call
28
+ (argument_list
29
+ (statement_list)))
30
+ (proc_declaration)
31
+ (func_declaration)
32
+ (method_declaration)
33
+ (iterator_declaration)
34
+ (converter_declaration)
35
+ (template_declaration)
36
+ (macro_declaration)
37
+ (proc_expression)
38
+ (func_expression)
39
+ (iterator_expression)
40
+ (concept_declaration)
41
+ ] @fold