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,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,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,16 @@
1
+ [
2
+ (block)
3
+ (object)
4
+ (tuple)
5
+ (function_call)
6
+ ] @indent.begin
7
+
8
+ [
9
+ "]"
10
+ ")"
11
+ "}"
12
+ ] @indent.branch @indent.end
13
+
14
+ (comment) @indent.auto
15
+
16
+ (ERROR) @indent.auto
@@ -0,0 +1,6 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ (heredoc_template
5
+ (template_literal) @injection.content
6
+ (heredoc_identifier) @injection.language)
@@ -0,0 +1,5 @@
1
+ [
2
+ (element)
3
+ (style_element)
4
+ (script_element)
5
+ ] @fold
@@ -0,0 +1 @@
1
+ ; inherits: html_tags
@@ -0,0 +1 @@
1
+ (element) @local.scope
@@ -0,0 +1 @@
1
+ (section) @fold
@@ -0,0 +1,16 @@
1
+ (section_name
2
+ (text) @type) ; consistency with toml
3
+
4
+ (comment) @comment @spell
5
+
6
+ [
7
+ "["
8
+ "]"
9
+ ] @punctuation.bracket
10
+
11
+ "=" @operator
12
+
13
+ (setting
14
+ (setting_name) @property)
15
+
16
+ ; (setting_value) @none ; grammar does not support subtypes
@@ -0,0 +1,3 @@
1
+ ((comment
2
+ (text) @injection.content)
3
+ (#set! injection.language "comment"))
Binary file
@@ -0,0 +1,8 @@
1
+ [
2
+ (block)
3
+ (class_body)
4
+ (constructor_declaration)
5
+ (argument_list)
6
+ (annotation_argument_list)
7
+ (import_declaration)+
8
+ ] @fold
@@ -0,0 +1,40 @@
1
+ ; format-ignore
2
+ [
3
+ ; ... refers to the portion that this indent query will have effects on
4
+ (class_body) ; { ... } of `class X`
5
+ (enum_body) ; { ... } of `enum X`
6
+ (interface_body) ; { ... } of `interface X`
7
+ (constructor_body) ; { `modifier` X() {...} } inside `class X`
8
+ (annotation_type_body) ; { ... } of `@interface X`
9
+ (block) ; { ... } that's not mentioned in this scope
10
+ (switch_block) ; { ... } in `switch X`
11
+ (array_initializer) ; [1, 2]
12
+ (argument_list) ; foo(...)
13
+ (formal_parameters) ; method foo(...)
14
+ (annotation_argument_list) ; @Annotation(...)
15
+ (element_value_array_initializer) ; { a, b } inside @Annotation()
16
+ ] @indent.begin
17
+
18
+ (expression_statement
19
+ (method_invocation) @indent.begin)
20
+
21
+ [
22
+ "("
23
+ ")"
24
+ "{"
25
+ "}"
26
+ "["
27
+ "]"
28
+ ] @indent.branch
29
+
30
+ (annotation_argument_list
31
+ ")" @indent.end) ; This should be a special cased as `()` here doesn't have ending `;`
32
+
33
+ "}" @indent.end
34
+
35
+ (line_comment) @indent.ignore
36
+
37
+ [
38
+ (ERROR)
39
+ (block_comment)
40
+ ] @indent.auto
@@ -0,0 +1,31 @@
1
+ ([
2
+ (block_comment)
3
+ (line_comment)
4
+ ] @injection.content
5
+ (#set! injection.language "comment"))
6
+
7
+ ((block_comment) @injection.content
8
+ (#lua-match? @injection.content "/[*][*][%s]")
9
+ (#set! injection.language "javadoc"))
10
+
11
+ ; markdown-style javadocs https://openjdk.org/jeps/467
12
+ ((line_comment) @injection.content
13
+ (#lua-match? @injection.content "^///%s")
14
+ (#set! injection.language "javadoc"))
15
+
16
+ ((method_invocation
17
+ name: (identifier) @_method
18
+ arguments: (argument_list
19
+ .
20
+ (string_literal
21
+ .
22
+ (_) @injection.content)))
23
+ (#any-of? @_method "format" "printf")
24
+ (#set! injection.language "printf"))
25
+
26
+ ((method_invocation
27
+ object: (string_literal
28
+ (string_fragment) @injection.content)
29
+ name: (identifier) @_method)
30
+ (#eq? @_method "formatted")
31
+ (#set! injection.language "printf"))
@@ -0,0 +1,100 @@
1
+ ; SCOPES
2
+ ; declarations
3
+ (program) @local.scope
4
+
5
+ (class_declaration
6
+ body: (_) @local.scope)
7
+
8
+ (record_declaration
9
+ body: (_) @local.scope)
10
+
11
+ (enum_declaration
12
+ body: (_) @local.scope)
13
+
14
+ (lambda_expression) @local.scope
15
+
16
+ (enhanced_for_statement) @local.scope
17
+
18
+ ; block
19
+ (block) @local.scope
20
+
21
+ ; if/else
22
+ (if_statement) @local.scope ; if+else
23
+
24
+ (if_statement
25
+ consequence: (_) @local.scope) ; if body in case there are no braces
26
+
27
+ (if_statement
28
+ alternative: (_) @local.scope) ; else body in case there are no braces
29
+
30
+ ; try/catch
31
+ (try_statement) @local.scope ; covers try+catch, individual try and catch are covered by (block)
32
+
33
+ (catch_clause) @local.scope ; needed because `Exception` variable
34
+
35
+ ; loops
36
+ (for_statement) @local.scope ; whole for_statement because loop iterator variable
37
+
38
+ (for_statement
39
+ ; "for" body in case there are no braces
40
+ body: (_) @local.scope)
41
+
42
+ (do_statement
43
+ body: (_) @local.scope)
44
+
45
+ (while_statement
46
+ body: (_) @local.scope)
47
+
48
+ ; Functions
49
+ (constructor_declaration) @local.scope
50
+
51
+ (method_declaration) @local.scope
52
+
53
+ ; DEFINITIONS
54
+ (package_declaration
55
+ (identifier) @local.definition.namespace)
56
+
57
+ (class_declaration
58
+ name: (identifier) @local.definition.type)
59
+
60
+ (record_declaration
61
+ name: (identifier) @local.definition.type)
62
+
63
+ (enum_declaration
64
+ name: (identifier) @local.definition.enum)
65
+
66
+ (method_declaration
67
+ name: (identifier) @local.definition.method)
68
+
69
+ (local_variable_declaration
70
+ declarator: (variable_declarator
71
+ name: (identifier) @local.definition.var))
72
+
73
+ (enhanced_for_statement
74
+ ; for (var item : items) {
75
+ name: (identifier) @local.definition.var)
76
+
77
+ (formal_parameter
78
+ name: (identifier) @local.definition.parameter)
79
+
80
+ (catch_formal_parameter
81
+ name: (identifier) @local.definition.parameter)
82
+
83
+ (inferred_parameters
84
+ (identifier) @local.definition.parameter) ; (x,y) -> ...
85
+
86
+ (lambda_expression
87
+ parameters: (identifier) @local.definition.parameter) ; x -> ...
88
+
89
+ ((scoped_identifier
90
+ (identifier) @local.definition.import)
91
+ (#has-ancestor? @local.definition.import import_declaration))
92
+
93
+ (field_declaration
94
+ declarator: (variable_declarator
95
+ name: (identifier) @local.definition.field))
96
+
97
+ ; REFERENCES
98
+ (identifier) @local.reference
99
+
100
+ (type_identifier) @local.reference
@@ -0,0 +1 @@
1
+ ; inherits: ecma,jsx
@@ -0,0 +1 @@
1
+ ; inherits: ecma,jsx
@@ -0,0 +1,5 @@
1
+ [
2
+ (pair)
3
+ (object)
4
+ (array)
5
+ ] @fold