ts-wasms 1.0.6 → 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 (247) 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/highlights.scm +314 -0
  39. package/out/commonlisp/injections.scm +5 -0
  40. package/out/commonlisp/locals.scm +109 -0
  41. package/out/cpp/folds.scm +14 -0
  42. package/out/cpp/indents.scm +8 -0
  43. package/out/cpp/locals.scm +78 -0
  44. package/out/css/folds.scm +10 -0
  45. package/out/css/indents.scm +11 -0
  46. package/out/css/injections.scm +2 -0
  47. package/out/csv/highlights.scm +5 -0
  48. package/out/csv/tree-sitter-csv.wasm +0 -0
  49. package/out/csv-psv/highlights.scm +5 -0
  50. package/out/csv-psv/tree-sitter-csv-psv.wasm +0 -0
  51. package/out/csv-tsv/highlights.scm +4 -0
  52. package/out/csv-tsv/tree-sitter-csv-tsv.wasm +0 -0
  53. package/out/dart/indents.scm +49 -0
  54. package/out/dart/injections.scm +2 -0
  55. package/out/dart/locals.scm +32 -0
  56. package/out/diff/folds.scm +5 -0
  57. package/out/diff/highlights.scm +49 -0
  58. package/out/diff/injections.scm +2 -0
  59. package/out/diff/tree-sitter-diff.wasm +0 -0
  60. package/out/dockerfile/highlights.scm +58 -0
  61. package/out/dockerfile/injections.scm +12 -0
  62. package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
  63. package/out/dtd/folds.scm +4 -0
  64. package/out/dtd/highlights.scm +148 -0
  65. package/out/dtd/injections.scm +2 -0
  66. package/out/dtd/locals.scm +11 -0
  67. package/out/editorconfig/folds.scm +1 -0
  68. package/out/editorconfig/highlights.scm +35 -0
  69. package/out/editorconfig/injections.scm +2 -0
  70. package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
  71. package/out/elixir/folds.scm +10 -0
  72. package/out/elixir/indents.scm +25 -0
  73. package/out/elixir/locals.scm +200 -0
  74. package/out/elm/folds.scm +14 -0
  75. package/out/erlang/folds.scm +9 -0
  76. package/out/erlang/injections.scm +2 -0
  77. package/out/fish/folds.scm +8 -0
  78. package/out/fish/highlights.scm +61 -0
  79. package/out/fish/indents.scm +18 -0
  80. package/out/fish/injections.scm +2 -0
  81. package/out/fish/locals.scm +19 -0
  82. package/out/fish/tree-sitter-fish.wasm +0 -0
  83. package/out/gdscript/folds.scm +26 -0
  84. package/out/gdscript/highlights.scm +635 -0
  85. package/out/gdscript/indents.scm +78 -0
  86. package/out/gdscript/injections.scm +2 -0
  87. package/out/gdscript/locals.scm +121 -0
  88. package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
  89. package/out/gdshader/highlights.scm +256 -0
  90. package/out/gdshader/injections.scm +2 -0
  91. package/out/gdshader/locals.scm +24 -0
  92. package/out/gdshader/tags.scm +13 -0
  93. package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
  94. package/out/git-config/highlights.scm +28 -0
  95. package/out/git-config/tree-sitter-git-config.wasm +0 -0
  96. package/out/git-rebase/highlights.scm +36 -0
  97. package/out/git-rebase/tree-sitter-git-rebase.wasm +0 -0
  98. package/out/gitattributes/highlights.scm +52 -0
  99. package/out/gitattributes/injections.scm +2 -0
  100. package/out/gitattributes/locals.scm +8 -0
  101. package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
  102. package/out/gitignore/highlights.scm +36 -0
  103. package/out/gitignore/injections.scm +2 -0
  104. package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
  105. package/out/go/folds.scm +19 -0
  106. package/out/go/indents.scm +48 -0
  107. package/out/go/injections.scm +42 -0
  108. package/out/go/locals.scm +88 -0
  109. package/out/godot-resource/tree-sitter-godot-resource.wasm +0 -0
  110. package/out/graphql/highlights.scm +163 -0
  111. package/out/graphql/indents.scm +11 -0
  112. package/out/graphql/injections.scm +2 -0
  113. package/out/groovy/folds.scm +6 -0
  114. package/out/groovy/highlights.scm +148 -0
  115. package/out/groovy/indents.scm +23 -0
  116. package/out/groovy/injections.scm +5 -0
  117. package/out/groovy/locals.scm +6 -0
  118. package/out/groovy/tree-sitter-groovy.wasm +0 -0
  119. package/out/haskell/folds.scm +6 -0
  120. package/out/hcl/folds.scm +6 -0
  121. package/out/hcl/highlights.scm +118 -0
  122. package/out/hcl/indents.scm +16 -0
  123. package/out/hcl/injections.scm +6 -0
  124. package/out/html/folds.scm +5 -0
  125. package/out/html/indents.scm +1 -0
  126. package/out/html/locals.scm +1 -0
  127. package/out/ini/folds.scm +1 -0
  128. package/out/ini/highlights.scm +16 -0
  129. package/out/ini/injections.scm +3 -0
  130. package/out/ini/tree-sitter-ini.wasm +0 -0
  131. package/out/java/folds.scm +8 -0
  132. package/out/java/indents.scm +40 -0
  133. package/out/java/injections.scm +31 -0
  134. package/out/java/locals.scm +100 -0
  135. package/out/javascript/folds.scm +1 -0
  136. package/out/javascript/indents.scm +1 -0
  137. package/out/json/folds.scm +5 -0
  138. package/out/json/indents.scm +11 -0
  139. package/out/json/injections.scm +2 -0
  140. package/out/json/locals.scm +4 -0
  141. package/out/julia/folds.scm +14 -0
  142. package/out/julia/indents.scm +52 -0
  143. package/out/kotlin/folds.scm +13 -0
  144. package/out/kotlin/injections.scm +52 -0
  145. package/out/kotlin/locals.scm +78 -0
  146. package/out/lua/folds.scm +12 -0
  147. package/out/lua/indents.scm +47 -0
  148. package/out/markdown/folds.scm +12 -0
  149. package/out/markdown/indents.scm +1 -0
  150. package/out/matlab/folds.scm +13 -0
  151. package/out/matlab/highlights.scm +218 -0
  152. package/out/matlab/indents.scm +40 -0
  153. package/out/matlab/injections.scm +2 -0
  154. package/out/matlab/locals.scm +33 -0
  155. package/out/matlab/tree-sitter-matlab.wasm +0 -0
  156. package/out/nim/folds.scm +41 -0
  157. package/out/nim/highlights.scm +186 -0
  158. package/out/nim/injections.scm +79 -0
  159. package/out/nim/locals.scm +328 -0
  160. package/out/nim/tree-sitter-nim.wasm +0 -0
  161. package/out/nix/folds.scm +11 -0
  162. package/out/nix/indents.scm +75 -0
  163. package/out/ocaml/folds.scm +30 -0
  164. package/out/ocaml/indents.scm +77 -0
  165. package/out/ocaml/injections.scm +2 -0
  166. package/out/php/folds.scm +1 -0
  167. package/out/php/indents.scm +1 -0
  168. package/out/php/locals.scm +1 -0
  169. package/out/prisma/folds.scm +7 -0
  170. package/out/prisma/injections.scm +5 -0
  171. package/out/python/folds.scm +28 -0
  172. package/out/python/indents.scm +213 -0
  173. package/out/python/injections.scm +30 -0
  174. package/out/python/locals.scm +124 -0
  175. package/out/qmljs/folds.scm +8 -0
  176. package/out/qmljs/highlights.scm +61 -0
  177. package/out/qmljs/injections.scm +1 -0
  178. package/out/qmljs/locals.scm +6 -0
  179. package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
  180. package/out/query/folds.scm +6 -0
  181. package/out/query/highlights.scm +102 -0
  182. package/out/query/indents.scm +25 -0
  183. package/out/query/injections.scm +28 -0
  184. package/out/query/locals.scm +21 -0
  185. package/out/r/indents.scm +33 -0
  186. package/out/r/injections.scm +2 -0
  187. package/out/racket/folds.scm +2 -0
  188. package/out/racket/injections.scm +5 -0
  189. package/out/ruby/folds.scm +12 -0
  190. package/out/ruby/indents.scm +43 -0
  191. package/out/ruby/injections.scm +34 -0
  192. package/out/rust/folds.scm +25 -0
  193. package/out/rust/indents.scm +133 -0
  194. package/out/rust/locals.scm +98 -0
  195. package/out/scala/folds.scm +16 -0
  196. package/out/scala/injections.scm +5 -0
  197. package/out/scheme/folds.scm +2 -0
  198. package/out/scheme/injections.scm +2 -0
  199. package/out/scss/folds.scm +1 -0
  200. package/out/scss/indents.scm +7 -0
  201. package/out/scss/injections.scm +2 -0
  202. package/out/sql/folds.scm +1 -0
  203. package/out/sql/highlights.scm +445 -0
  204. package/out/sql/indents.scm +27 -0
  205. package/out/sql/injections.scm +5 -0
  206. package/out/sql/tree-sitter-sql.wasm +0 -0
  207. package/out/terraform/folds.scm +1 -0
  208. package/out/terraform/highlights.scm +41 -0
  209. package/out/terraform/indents.scm +1 -0
  210. package/out/terraform/injections.scm +1 -0
  211. package/out/toml/folds.scm +5 -0
  212. package/out/toml/indents.scm +11 -0
  213. package/out/toml/injections.scm +2 -0
  214. package/out/toml/locals.scm +4 -0
  215. package/out/tsx/folds.scm +1 -0
  216. package/out/tsx/indents.scm +1 -0
  217. package/out/tsx/injections.scm +1 -0
  218. package/out/typescript/folds.scm +8 -0
  219. package/out/typescript/indents.scm +7 -0
  220. package/out/typescript/injections.scm +28 -0
  221. package/out/vim/folds.scm +4 -0
  222. package/out/vim/highlights.scm +362 -0
  223. package/out/vim/injections.scm +44 -0
  224. package/out/vim/locals.scm +19 -0
  225. package/out/vim/tree-sitter-vim.wasm +0 -0
  226. package/out/vimdoc/highlights.scm +74 -0
  227. package/out/vimdoc/injections.scm +4 -0
  228. package/out/vue/folds.scm +6 -0
  229. package/out/vue/highlights.scm +54 -0
  230. package/out/vue/indents.scm +7 -0
  231. package/out/vue/injections.scm +78 -0
  232. package/out/vue/tree-sitter-vue.wasm +0 -0
  233. package/out/xml/folds.scm +5 -0
  234. package/out/xml/highlights.scm +198 -0
  235. package/out/xml/indents.scm +16 -0
  236. package/out/xml/injections.scm +32 -0
  237. package/out/xml/locals.scm +35 -0
  238. package/out/yaml/folds.scm +4 -0
  239. package/out/yaml/highlights.scm +79 -0
  240. package/out/yaml/indents.scm +7 -0
  241. package/out/yaml/injections.scm +81 -0
  242. package/out/yaml/locals.scm +9 -0
  243. package/out/yaml/tree-sitter-yaml.wasm +0 -0
  244. package/out/zig/locals.scm +96 -0
  245. package/package.json +61 -19
  246. package/out/clojurescript/highlights.scm +0 -29
  247. package/out/clojurescript/tree-sitter-clojurescript.wasm +0 -0
@@ -0,0 +1,19 @@
1
+ [
2
+ (const_declaration)
3
+ (expression_switch_statement)
4
+ (expression_case)
5
+ (default_case)
6
+ (type_switch_statement)
7
+ (type_case)
8
+ (for_statement)
9
+ (func_literal)
10
+ (function_declaration)
11
+ (if_statement)
12
+ (import_declaration)
13
+ (method_declaration)
14
+ (type_declaration)
15
+ (var_declaration)
16
+ (composite_literal)
17
+ (literal_element)
18
+ (block)
19
+ ] @fold
@@ -0,0 +1,48 @@
1
+ [
2
+ (import_declaration)
3
+ (const_declaration)
4
+ (var_declaration)
5
+ (type_declaration)
6
+ (func_literal)
7
+ (literal_value)
8
+ (expression_case)
9
+ (communication_case)
10
+ (type_case)
11
+ (default_case)
12
+ (block)
13
+ (call_expression)
14
+ (parameter_list)
15
+ (field_declaration_list)
16
+ (interface_type)
17
+ ] @indent.begin
18
+
19
+ (literal_value
20
+ "}" @indent.branch)
21
+
22
+ (block
23
+ "}" @indent.branch)
24
+
25
+ (field_declaration_list
26
+ "}" @indent.branch)
27
+
28
+ (interface_type
29
+ "}" @indent.branch)
30
+
31
+ (const_declaration
32
+ ")" @indent.branch)
33
+
34
+ (import_spec_list
35
+ ")" @indent.branch)
36
+
37
+ (var_spec_list
38
+ ")" @indent.branch)
39
+
40
+ [
41
+ "}"
42
+ ")"
43
+ ] @indent.end
44
+
45
+ (parameter_list
46
+ ")" @indent.branch)
47
+
48
+ (comment) @indent.ignore
@@ -0,0 +1,42 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ (call_expression
5
+ (selector_expression) @_function
6
+ (#any-of? @_function
7
+ "regexp.Match" "regexp.MatchReader" "regexp.MatchString" "regexp.Compile" "regexp.CompilePOSIX"
8
+ "regexp.MustCompile" "regexp.MustCompilePOSIX")
9
+ (argument_list
10
+ .
11
+ [
12
+ (raw_string_literal
13
+ (raw_string_literal_content) @injection.content)
14
+ (interpreted_string_literal
15
+ (interpreted_string_literal_content) @injection.content)
16
+ ]
17
+ (#set! injection.language "regex")))
18
+
19
+ ((comment) @injection.content
20
+ (#match? @injection.content "/\\*!([a-zA-Z]+:)?re2c")
21
+ (#set! injection.language "re2c"))
22
+
23
+ ((call_expression
24
+ function: (selector_expression
25
+ field: (field_identifier) @_method)
26
+ arguments: (argument_list
27
+ .
28
+ (interpreted_string_literal
29
+ (interpreted_string_literal_content) @injection.content)))
30
+ (#any-of? @_method "Printf" "Sprintf" "Fatalf" "Scanf" "Errorf" "Skipf" "Logf")
31
+ (#set! injection.language "printf"))
32
+
33
+ ((call_expression
34
+ function: (selector_expression
35
+ field: (field_identifier) @_method)
36
+ arguments: (argument_list
37
+ (_)
38
+ .
39
+ (interpreted_string_literal
40
+ (interpreted_string_literal_content) @injection.content)))
41
+ (#any-of? @_method "Fprintf" "Fscanf" "Appendf" "Sscanf")
42
+ (#set! injection.language "printf"))
@@ -0,0 +1,88 @@
1
+ ((function_declaration
2
+ name: (identifier) @local.definition.function) ; @function
3
+ )
4
+
5
+ ((method_declaration
6
+ name: (field_identifier) @local.definition.method) ; @function.method
7
+ )
8
+
9
+ (short_var_declaration
10
+ left: (expression_list
11
+ (identifier) @local.definition.var))
12
+
13
+ (var_spec
14
+ name: (identifier) @local.definition.var)
15
+
16
+ (parameter_declaration
17
+ (identifier) @local.definition.var)
18
+
19
+ (variadic_parameter_declaration
20
+ (identifier) @local.definition.var)
21
+
22
+ (for_statement
23
+ (range_clause
24
+ left: (expression_list
25
+ (identifier) @local.definition.var)))
26
+
27
+ (const_declaration
28
+ (const_spec
29
+ name: (identifier) @local.definition.var))
30
+
31
+ (type_declaration
32
+ (type_spec
33
+ name: (type_identifier) @local.definition.type))
34
+
35
+ ; reference
36
+ (identifier) @local.reference
37
+
38
+ (type_identifier) @local.reference
39
+
40
+ (field_identifier) @local.reference
41
+
42
+ ((package_identifier) @local.reference
43
+ (#set! reference.kind "namespace"))
44
+
45
+ (package_clause
46
+ (package_identifier) @local.definition.namespace)
47
+
48
+ (import_spec_list
49
+ (import_spec
50
+ name: (package_identifier) @local.definition.namespace))
51
+
52
+ ; Call references
53
+ ((call_expression
54
+ function: (identifier) @local.reference)
55
+ (#set! reference.kind "call"))
56
+
57
+ ((call_expression
58
+ function: (selector_expression
59
+ field: (field_identifier) @local.reference))
60
+ (#set! reference.kind "call"))
61
+
62
+ ((call_expression
63
+ function: (parenthesized_expression
64
+ (identifier) @local.reference))
65
+ (#set! reference.kind "call"))
66
+
67
+ ((call_expression
68
+ function: (parenthesized_expression
69
+ (selector_expression
70
+ field: (field_identifier) @local.reference)))
71
+ (#set! reference.kind "call"))
72
+
73
+ ; Scopes
74
+ (func_literal) @local.scope
75
+
76
+ (source_file) @local.scope
77
+
78
+ (function_declaration) @local.scope
79
+
80
+ (if_statement) @local.scope
81
+
82
+ (block) @local.scope
83
+
84
+ (expression_switch_statement) @local.scope
85
+
86
+ (for_statement) @local.scope
87
+
88
+ (method_declaration) @local.scope
@@ -0,0 +1,163 @@
1
+ ; Types
2
+ ;------
3
+ (scalar_type_definition
4
+ (name) @type)
5
+
6
+ (object_type_definition
7
+ (name) @type)
8
+
9
+ (interface_type_definition
10
+ (name) @type)
11
+
12
+ (union_type_definition
13
+ (name) @type)
14
+
15
+ (enum_type_definition
16
+ (name) @type)
17
+
18
+ (input_object_type_definition
19
+ (name) @type)
20
+
21
+ (scalar_type_extension
22
+ (name) @type)
23
+
24
+ (object_type_extension
25
+ (name) @type)
26
+
27
+ (interface_type_extension
28
+ (name) @type)
29
+
30
+ (union_type_extension
31
+ (name) @type)
32
+
33
+ (enum_type_extension
34
+ (name) @type)
35
+
36
+ (input_object_type_extension
37
+ (name) @type)
38
+
39
+ (named_type
40
+ (name) @type)
41
+
42
+ ; Directives
43
+ ;-----------
44
+ (directive_definition
45
+ "@" @attribute
46
+ (name) @attribute)
47
+
48
+ (directive) @attribute
49
+
50
+ ; Properties
51
+ ;-----------
52
+ (field
53
+ (name) @property)
54
+
55
+ (field
56
+ (alias
57
+ (name) @property))
58
+
59
+ (field_definition
60
+ (name) @property)
61
+
62
+ (object_value
63
+ (object_field
64
+ (name) @property))
65
+
66
+ (enum_value
67
+ (name) @property)
68
+
69
+ ; Variable Definitions and Arguments
70
+ ;-----------------------------------
71
+ (operation_definition
72
+ (name) @variable)
73
+
74
+ (fragment_name
75
+ (name) @variable)
76
+
77
+ (input_fields_definition
78
+ (input_value_definition
79
+ (name) @variable.parameter))
80
+
81
+ (argument
82
+ (name) @variable.parameter)
83
+
84
+ (arguments_definition
85
+ (input_value_definition
86
+ (name) @variable.parameter))
87
+
88
+ (variable_definition
89
+ (variable) @variable.parameter)
90
+
91
+ (argument
92
+ (value
93
+ (variable) @variable))
94
+
95
+ ; Constants
96
+ ;----------
97
+ (string_value) @string
98
+
99
+ (int_value) @number
100
+
101
+ (float_value) @number.float
102
+
103
+ (boolean_value) @boolean
104
+
105
+ ; Literals
106
+ ;---------
107
+ (description
108
+ (string_value) @string.documentation @spell)
109
+
110
+ (comment) @comment @spell
111
+
112
+ (directive_location
113
+ (executable_directive_location) @type.builtin)
114
+
115
+ (directive_location
116
+ (type_system_directive_location) @type.builtin)
117
+
118
+ ; Keywords
119
+ ;----------
120
+ [
121
+ "query"
122
+ "mutation"
123
+ "subscription"
124
+ "fragment"
125
+ "scalar"
126
+ "input"
127
+ "extend"
128
+ "directive"
129
+ "schema"
130
+ "on"
131
+ "repeatable"
132
+ "implements"
133
+ ] @keyword
134
+
135
+ [
136
+ "enum"
137
+ "union"
138
+ "type"
139
+ "interface"
140
+ ] @keyword.type
141
+
142
+ ; Punctuation
143
+ ;------------
144
+ [
145
+ "("
146
+ ")"
147
+ "["
148
+ "]"
149
+ "{"
150
+ "}"
151
+ ] @punctuation.bracket
152
+
153
+ "=" @operator
154
+
155
+ "|" @punctuation.delimiter
156
+
157
+ "&" @punctuation.delimiter
158
+
159
+ ":" @punctuation.delimiter
160
+
161
+ "..." @punctuation.special
162
+
163
+ "!" @punctuation.special
@@ -0,0 +1,11 @@
1
+ [
2
+ (definition)
3
+ (selection)
4
+ ] @indent.begin
5
+
6
+ [
7
+ "{"
8
+ "}"
9
+ ] @indent.branch
10
+
11
+ "}" @indent.end
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,6 @@
1
+ [
2
+ (argument_list)
3
+ (closure)
4
+ (list)
5
+ (map)
6
+ ] @fold
@@ -0,0 +1,148 @@
1
+ [
2
+ "!in"
3
+ "!instanceof"
4
+ "as"
5
+ "assert"
6
+ "case"
7
+ "catch"
8
+ "class"
9
+ "def"
10
+ "default"
11
+ "else"
12
+ "extends"
13
+ "finally"
14
+ "for"
15
+ "if"
16
+ "import"
17
+ "in"
18
+ "instanceof"
19
+ "package"
20
+ "pipeline"
21
+ "return"
22
+ "switch"
23
+ "try"
24
+ "while"
25
+ (break)
26
+ (continue)
27
+ ] @keyword
28
+
29
+ [
30
+ "true"
31
+ "false"
32
+ ] @boolean
33
+
34
+ (null) @constant
35
+ "this" @variable.builtin
36
+
37
+ [
38
+ "int"
39
+ "char"
40
+ "short"
41
+ "long"
42
+ "boolean"
43
+ "float"
44
+ "double"
45
+ "void"
46
+ ] @type.builtin
47
+
48
+ [
49
+ "final"
50
+ "private"
51
+ "protected"
52
+ "public"
53
+ "static"
54
+ "synchronized"
55
+ ] @type.qualifier
56
+
57
+ (comment) @comment
58
+ (shebang) @comment
59
+
60
+ (string) @string
61
+ (string (escape_sequence) @operator)
62
+ (string (interpolation ([ "$" ]) @operator))
63
+
64
+ ("(") @punctuation.bracket
65
+ (")") @punctuation.bracket
66
+ ("[") @punctuation.bracket
67
+ ("]") @punctuation.bracket
68
+ ("{") @punctuation.bracket
69
+ ("}") @punctuation.bracket
70
+ (":") @punctuation.delimiter
71
+ (",") @punctuation.delimiter
72
+ (".") @punctuation.delimiter
73
+
74
+ (number_literal) @number
75
+ (identifier) @variable
76
+ ((identifier) @variable.parameter
77
+ (#is? @variable.parameter "local.parameter"))
78
+
79
+ ((identifier) @constant
80
+ (#match? @constant "^[A-Z][A-Z_]+"))
81
+
82
+ [
83
+ "%" "*" "/" "+" "-" "<<" ">>" ">>>" ".." "..<" "<..<" "<.." "<"
84
+ "<=" ">" ">=" "==" "!=" "<=>" "===" "!==" "=~" "==~" "&" "^" "|"
85
+ "&&" "||" "?:" "+" "*" ".&" ".@" "?." "*." "*" "*:" "++" "--" "!"
86
+ ] @operator
87
+
88
+ (string ("/") @string)
89
+
90
+ (ternary_op ([ "?" ":" ]) @operator)
91
+
92
+ (map (map_item key: (identifier) @variable.parameter))
93
+
94
+ (parameter type: (identifier) @type name: (identifier) @variable.parameter)
95
+ (generic_param name: (identifier) @variable.parameter)
96
+
97
+ (declaration type: (identifier) @type)
98
+ (function_definition type: (identifier) @type)
99
+ (function_declaration type: (identifier) @type)
100
+ (class_definition name: (identifier) @type)
101
+ (class_definition superclass: (identifier) @type)
102
+ (generic_param superclass: (identifier) @type)
103
+
104
+ (type_with_generics (identifier) @type)
105
+ (type_with_generics (generics (identifier) @type))
106
+ (generics [ "<" ">" ] @punctuation.bracket)
107
+ (generic_parameters [ "<" ">" ] @punctuation.bracket)
108
+ ; TODO: Class literals with PascalCase
109
+
110
+ (declaration ("=") @operator)
111
+ (assignment ("=") @operator)
112
+
113
+
114
+ (function_call
115
+ function: (identifier) @function)
116
+ (function_call
117
+ function: (dotted_identifier
118
+ (identifier) @function . ))
119
+ (function_call (argument_list
120
+ (map_item key: (identifier) @variable.parameter)))
121
+ (juxt_function_call
122
+ function: (identifier) @function)
123
+ (juxt_function_call
124
+ function: (dotted_identifier
125
+ (identifier) @function . ))
126
+ (juxt_function_call (argument_list
127
+ (map_item key: (identifier) @variable.parameter)))
128
+
129
+ (function_definition
130
+ function: (identifier) @function)
131
+ (function_declaration
132
+ function: (identifier) @function)
133
+
134
+ (annotation) @function.macro
135
+ (annotation (identifier) @function.macro)
136
+ "@interface" @function.macro
137
+
138
+ "pipeline" @keyword
139
+
140
+ (groovy_doc) @comment.documentation
141
+ (groovy_doc
142
+ [
143
+ (groovy_doc_param)
144
+ (groovy_doc_throws)
145
+ (groovy_doc_tag)
146
+ ] @string.special)
147
+ (groovy_doc (groovy_doc_param (identifier) @variable.parameter))
148
+ (groovy_doc (groovy_doc_throws (identifier) @type))
@@ -0,0 +1,23 @@
1
+ [
2
+ (closure)
3
+ (map)
4
+ (list)
5
+ (argument_list)
6
+ (parameter_list)
7
+ (for_parameters)
8
+ ] @indent.begin
9
+
10
+ ; (function_definition "(" @indent.begin)
11
+
12
+ (closure "}" @indent.end)
13
+ (argument_list ")" @indent.end)
14
+ (for_parameters ")" @indent.end)
15
+ ((for_loop
16
+ body: (_) @_body) @indent.begin
17
+ (#not-has-type? @_body closure))
18
+ ; TODO: while, try
19
+
20
+ (list "]" @indent.end)
21
+ (map "]" @indent.end)
22
+
23
+ [ "}" ")" "]" ] @indent.branch
@@ -0,0 +1,5 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((groovy_doc) @injection.content
5
+ (#set! injection.language "comment"))
@@ -0,0 +1,6 @@
1
+ [
2
+ (function_definition)
3
+ ] @local.scope
4
+ (parameter name: (identifier) @local.definition.parameter)
5
+
6
+ (identifier) @local.reference
@@ -0,0 +1,6 @@
1
+ [
2
+ (apply)
3
+ (do)
4
+ (function)
5
+ (import)+
6
+ ] @fold
@@ -0,0 +1,6 @@
1
+ [
2
+ (comment)
3
+ (block)
4
+ (heredoc_template)
5
+ (object)
6
+ ] @fold
@@ -0,0 +1,118 @@
1
+ ; highlights.scm
2
+ [
3
+ "!"
4
+ "*"
5
+ "/"
6
+ "%"
7
+ "+"
8
+ "-"
9
+ ">"
10
+ ">="
11
+ "<"
12
+ "<="
13
+ "=="
14
+ "!="
15
+ "&&"
16
+ "||"
17
+ ] @operator
18
+
19
+ [
20
+ "{"
21
+ "}"
22
+ "["
23
+ "]"
24
+ "("
25
+ ")"
26
+ ] @punctuation.bracket
27
+
28
+ [
29
+ "."
30
+ ".*"
31
+ ","
32
+ "[*]"
33
+ ] @punctuation.delimiter
34
+
35
+ [
36
+ (ellipsis)
37
+ "?"
38
+ "=>"
39
+ ] @punctuation.special
40
+
41
+ [
42
+ ":"
43
+ "="
44
+ ] @none
45
+
46
+ [
47
+ "for"
48
+ "endfor"
49
+ "in"
50
+ ] @keyword.repeat
51
+
52
+ [
53
+ "if"
54
+ "else"
55
+ "endif"
56
+ ] @keyword.conditional
57
+
58
+ [
59
+ (quoted_template_start) ; "
60
+ (quoted_template_end) ; "
61
+ (template_literal) ; non-interpolation/directive content
62
+ ] @string
63
+
64
+ [
65
+ (heredoc_identifier) ; END
66
+ (heredoc_start) ; << or <<-
67
+ ] @punctuation.delimiter
68
+
69
+ [
70
+ (template_interpolation_start) ; ${
71
+ (template_interpolation_end) ; }
72
+ (template_directive_start) ; %{
73
+ (template_directive_end) ; }
74
+ (strip_marker) ; ~
75
+ ] @punctuation.special
76
+
77
+ (numeric_lit) @number
78
+
79
+ (bool_lit) @boolean
80
+
81
+ (null_lit) @constant
82
+
83
+ (comment) @comment @spell
84
+
85
+ (identifier) @variable
86
+
87
+ (body
88
+ (block
89
+ (identifier) @keyword))
90
+
91
+ (body
92
+ (block
93
+ (body
94
+ (block
95
+ (identifier) @type))))
96
+
97
+ (function_call
98
+ (identifier) @function)
99
+
100
+ (attribute
101
+ (identifier) @variable.member)
102
+
103
+ ; { key: val }
104
+ ;
105
+ ; highlight identifier keys as though they were block attributes
106
+ (object_elem
107
+ key: (expression
108
+ (variable_expr
109
+ (identifier) @variable.member)))
110
+
111
+ ; var.foo, data.bar
112
+ ;
113
+ ; first element in get_attr is a variable.builtin or a reference to a variable.builtin
114
+ (expression
115
+ (variable_expr
116
+ (identifier) @variable.builtin)
117
+ (get_attr
118
+ (identifier) @variable.member))