ts-wasms 1.1.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 (362) hide show
  1. package/README.md +33 -9
  2. package/index.d.ts +116 -0
  3. package/index.js +48 -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/angular/folds.scm +1 -0
  12. package/out/angular/highlights.scm +178 -0
  13. package/out/angular/indents.scm +16 -0
  14. package/out/angular/injections.scm +1 -0
  15. package/out/angular/locals.scm +1 -0
  16. package/out/angular/tree-sitter-angular.wasm +0 -0
  17. package/out/arduino/folds.scm +1 -0
  18. package/out/arduino/highlights.scm +48 -0
  19. package/out/arduino/indents.scm +1 -0
  20. package/out/arduino/injections.scm +1 -0
  21. package/out/arduino/locals.scm +1 -0
  22. package/out/arduino/tags.scm +5 -0
  23. package/out/arduino/tree-sitter-arduino.wasm +0 -0
  24. package/out/asm/highlights.scm +66 -0
  25. package/out/asm/injections.scm +5 -0
  26. package/out/asm/tree-sitter-asm.wasm +0 -0
  27. package/out/astro/folds.scm +1 -0
  28. package/out/astro/highlights.scm +12 -0
  29. package/out/astro/indents.scm +1 -0
  30. package/out/astro/injections.scm +27 -0
  31. package/out/astro/locals.scm +1 -0
  32. package/out/astro/tree-sitter-astro.wasm +0 -0
  33. package/out/awk/highlights.scm +122 -0
  34. package/out/awk/injections.scm +17 -0
  35. package/out/awk/tree-sitter-awk.wasm +0 -0
  36. package/out/bash/folds.scm +9 -0
  37. package/out/bash/indents.scm +32 -0
  38. package/out/bash/injections.scm +90 -0
  39. package/out/bash/locals.scm +14 -0
  40. package/out/bibtex/folds.scm +1 -0
  41. package/out/bibtex/highlights.scm +47 -0
  42. package/out/bibtex/indents.scm +8 -0
  43. package/out/bibtex/injections.scm +2 -0
  44. package/out/bibtex/locals.scm +0 -0
  45. package/out/bibtex/tags.scm +0 -0
  46. package/out/bibtex/tree-sitter-bibtex.wasm +0 -0
  47. package/out/c/folds.scm +23 -0
  48. package/out/c/indents.scm +99 -0
  49. package/out/c/injections.scm +128 -0
  50. package/out/c/locals.scm +67 -0
  51. package/out/cairo/folds.scm +26 -0
  52. package/out/cairo/highlights.scm +372 -0
  53. package/out/cairo/indents.scm +134 -0
  54. package/out/cairo/injections.scm +3 -0
  55. package/out/cairo/locals.scm +28 -0
  56. package/out/cairo/textobjects.scm +79 -0
  57. package/out/cairo/tree-sitter-cairo.wasm +0 -0
  58. package/out/clojure/folds.scm +2 -0
  59. package/out/clojure/injections.scm +2 -0
  60. package/out/clojure/locals.scm +1 -0
  61. package/out/cmake/folds.scm +8 -0
  62. package/out/cmake/highlights.scm +221 -0
  63. package/out/cmake/indents.scm +26 -0
  64. package/out/cmake/injections.scm +5 -0
  65. package/out/cmake/tree-sitter-cmake.wasm +0 -0
  66. package/out/comment/highlights.scm +49 -0
  67. package/out/comment/tree-sitter-comment.wasm +0 -0
  68. package/out/commonlisp/folds.scm +2 -0
  69. package/out/commonlisp/injections.scm +5 -0
  70. package/out/commonlisp/locals.scm +109 -0
  71. package/out/cpp/folds.scm +14 -0
  72. package/out/cpp/indents.scm +8 -0
  73. package/out/cpp/locals.scm +78 -0
  74. package/out/css/folds.scm +10 -0
  75. package/out/css/indents.scm +11 -0
  76. package/out/css/injections.scm +2 -0
  77. package/out/csv/highlights.scm +5 -0
  78. package/out/csv/tree-sitter-csv.wasm +0 -0
  79. package/out/cuda/folds.scm +1 -0
  80. package/out/cuda/highlights.scm +17 -0
  81. package/out/cuda/indents.scm +1 -0
  82. package/out/cuda/injections.scm +1 -0
  83. package/out/cuda/locals.scm +1 -0
  84. package/out/cuda/tree-sitter-cuda.wasm +0 -0
  85. package/out/d/folds.scm +4 -0
  86. package/out/d/helix-highlights.scm +241 -0
  87. package/out/d/helix-indents.scm +17 -0
  88. package/out/d/helix-injections.scm +2 -0
  89. package/out/d/helix-textobjects.scm +9 -0
  90. package/out/d/highlights.scm +259 -0
  91. package/out/d/indents.scm +17 -0
  92. package/out/d/injections.scm +2 -0
  93. package/out/d/locals.scm +79 -0
  94. package/out/d/nova-folds.scm +6 -0
  95. package/out/d/nova-highlights.scm +283 -0
  96. package/out/d/nova-symbols.scm +23 -0
  97. package/out/d/tags.scm +28 -0
  98. package/out/d/textobjects.scm +9 -0
  99. package/out/d/tree-sitter-d.wasm +0 -0
  100. package/out/dart/indents.scm +49 -0
  101. package/out/dart/injections.scm +2 -0
  102. package/out/dart/locals.scm +32 -0
  103. package/out/desktop/folds.scm +1 -0
  104. package/out/desktop/highlights.scm +91 -0
  105. package/out/desktop/injections.scm +8 -0
  106. package/out/desktop/tree-sitter-desktop.wasm +0 -0
  107. package/out/devicetree/folds.scm +1 -0
  108. package/out/devicetree/highlights.scm +78 -0
  109. package/out/devicetree/indents.scm +12 -0
  110. package/out/devicetree/injections.scm +2 -0
  111. package/out/devicetree/locals.scm +4 -0
  112. package/out/devicetree/tree-sitter-devicetree.wasm +0 -0
  113. package/out/diff/folds.scm +5 -0
  114. package/out/diff/highlights.scm +49 -0
  115. package/out/diff/injections.scm +2 -0
  116. package/out/diff/tree-sitter-diff.wasm +0 -0
  117. package/out/dockerfile/highlights.scm +58 -0
  118. package/out/dockerfile/injections.scm +12 -0
  119. package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
  120. package/out/dtd/folds.scm +4 -0
  121. package/out/dtd/injections.scm +2 -0
  122. package/out/dtd/locals.scm +11 -0
  123. package/out/editorconfig/folds.scm +1 -0
  124. package/out/editorconfig/highlights.scm +35 -0
  125. package/out/editorconfig/injections.scm +2 -0
  126. package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
  127. package/out/elixir/folds.scm +10 -0
  128. package/out/elixir/indents.scm +25 -0
  129. package/out/elixir/locals.scm +200 -0
  130. package/out/elm/folds.scm +14 -0
  131. package/out/erlang/folds.scm +9 -0
  132. package/out/erlang/injections.scm +2 -0
  133. package/out/fish/folds.scm +8 -0
  134. package/out/fish/highlights.scm +61 -0
  135. package/out/fish/indents.scm +18 -0
  136. package/out/fish/injections.scm +2 -0
  137. package/out/fish/locals.scm +19 -0
  138. package/out/fish/tree-sitter-fish.wasm +0 -0
  139. package/out/gdscript/folds.scm +26 -0
  140. package/out/gdscript/highlights.scm +635 -0
  141. package/out/gdscript/indents.scm +78 -0
  142. package/out/gdscript/injections.scm +2 -0
  143. package/out/gdscript/locals.scm +121 -0
  144. package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
  145. package/out/gdshader/highlights.scm +256 -0
  146. package/out/gdshader/injections.scm +2 -0
  147. package/out/gdshader/locals.scm +24 -0
  148. package/out/gdshader/tags.scm +13 -0
  149. package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
  150. package/out/git_config/folds.scm +2 -0
  151. package/out/git_config/highlights.scm +28 -0
  152. package/out/git_config/injections.scm +69 -0
  153. package/out/git_config/tree-sitter-git_config.wasm +0 -0
  154. package/out/git_rebase/highlights.scm +36 -0
  155. package/out/git_rebase/injections.scm +8 -0
  156. package/out/git_rebase/tree-sitter-git_rebase.wasm +0 -0
  157. package/out/gitattributes/highlights.scm +52 -0
  158. package/out/gitattributes/injections.scm +2 -0
  159. package/out/gitattributes/locals.scm +8 -0
  160. package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
  161. package/out/gitignore/highlights.scm +36 -0
  162. package/out/gitignore/injections.scm +2 -0
  163. package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
  164. package/out/gleam/folds.scm +7 -0
  165. package/out/gleam/highlights.scm +137 -0
  166. package/out/gleam/indents.scm +28 -0
  167. package/out/gleam/injections.scm +3 -0
  168. package/out/gleam/locals.scm +17 -0
  169. package/out/gleam/tags.scm +41 -0
  170. package/out/gleam/tree-sitter-gleam.wasm +0 -0
  171. package/out/glsl/folds.scm +1 -0
  172. package/out/glsl/highlights.scm +115 -0
  173. package/out/glsl/indents.scm +1 -0
  174. package/out/glsl/injections.scm +1 -0
  175. package/out/glsl/locals.scm +1 -0
  176. package/out/glsl/tree-sitter-glsl.wasm +0 -0
  177. package/out/go/folds.scm +19 -0
  178. package/out/go/indents.scm +48 -0
  179. package/out/go/injections.scm +42 -0
  180. package/out/go/locals.scm +88 -0
  181. package/out/godot_resource/folds.scm +1 -0
  182. package/out/godot_resource/highlights.scm +49 -0
  183. package/out/godot_resource/injections.scm +2 -0
  184. package/out/godot_resource/locals.scm +1 -0
  185. package/out/godot_resource/tree-sitter-godot_resource.wasm +0 -0
  186. package/out/graphql/indents.scm +11 -0
  187. package/out/graphql/injections.scm +2 -0
  188. package/out/groovy/folds.scm +6 -0
  189. package/out/groovy/highlights.scm +148 -0
  190. package/out/groovy/indents.scm +23 -0
  191. package/out/groovy/injections.scm +5 -0
  192. package/out/groovy/locals.scm +6 -0
  193. package/out/groovy/tree-sitter-groovy.wasm +0 -0
  194. package/out/haskell/folds.scm +6 -0
  195. package/out/hcl/folds.scm +6 -0
  196. package/out/hcl/indents.scm +16 -0
  197. package/out/hcl/injections.scm +6 -0
  198. package/out/html/folds.scm +5 -0
  199. package/out/html/indents.scm +1 -0
  200. package/out/html/locals.scm +1 -0
  201. package/out/ini/folds.scm +1 -0
  202. package/out/ini/highlights.scm +16 -0
  203. package/out/ini/injections.scm +3 -0
  204. package/out/ini/tree-sitter-ini.wasm +0 -0
  205. package/out/java/folds.scm +8 -0
  206. package/out/java/indents.scm +40 -0
  207. package/out/java/injections.scm +31 -0
  208. package/out/java/locals.scm +100 -0
  209. package/out/javascript/folds.scm +1 -0
  210. package/out/javascript/indents.scm +1 -0
  211. package/out/json/folds.scm +5 -0
  212. package/out/json/indents.scm +11 -0
  213. package/out/json/injections.scm +2 -0
  214. package/out/json/locals.scm +4 -0
  215. package/out/julia/folds.scm +14 -0
  216. package/out/julia/indents.scm +52 -0
  217. package/out/kdl/folds.scm +8 -0
  218. package/out/kdl/highlights.scm +58 -0
  219. package/out/kdl/indents.scm +7 -0
  220. package/out/kdl/injections.scm +4 -0
  221. package/out/kdl/locals.scm +10 -0
  222. package/out/kdl/tree-sitter-kdl.wasm +0 -0
  223. package/out/kotlin/folds.scm +13 -0
  224. package/out/kotlin/injections.scm +52 -0
  225. package/out/kotlin/locals.scm +78 -0
  226. package/out/liquid/highlights.scm +119 -0
  227. package/out/liquid/injections.scm +22 -0
  228. package/out/liquid/tree-sitter-liquid.wasm +0 -0
  229. package/out/lua/folds.scm +12 -0
  230. package/out/lua/indents.scm +47 -0
  231. package/out/markdown/folds.scm +12 -0
  232. package/out/markdown/indents.scm +1 -0
  233. package/out/matlab/folds.scm +13 -0
  234. package/out/matlab/highlights.scm +218 -0
  235. package/out/matlab/indents.scm +40 -0
  236. package/out/matlab/injections.scm +2 -0
  237. package/out/matlab/locals.scm +33 -0
  238. package/out/matlab/tree-sitter-matlab.wasm +0 -0
  239. package/out/nim/folds.scm +41 -0
  240. package/out/nim/highlights.scm +186 -0
  241. package/out/nim/injections.scm +79 -0
  242. package/out/nim/locals.scm +328 -0
  243. package/out/nim/tree-sitter-nim.wasm +0 -0
  244. package/out/nix/folds.scm +11 -0
  245. package/out/nix/indents.scm +75 -0
  246. package/out/ocaml/folds.scm +30 -0
  247. package/out/ocaml/indents.scm +77 -0
  248. package/out/ocaml/injections.scm +2 -0
  249. package/out/ocaml_interface/folds.scm +1 -0
  250. package/out/ocaml_interface/indents.scm +1 -0
  251. package/out/ocaml_interface/injections.scm +1 -0
  252. package/out/php/folds.scm +1 -0
  253. package/out/php/indents.scm +1 -0
  254. package/out/php/locals.scm +1 -0
  255. package/out/php_only/folds.scm +19 -0
  256. package/out/php_only/indents.scm +68 -0
  257. package/out/php_only/locals.scm +84 -0
  258. package/out/prisma/folds.scm +7 -0
  259. package/out/prisma/injections.scm +5 -0
  260. package/out/psv/highlights.scm +5 -0
  261. package/out/psv/tree-sitter-psv.wasm +0 -0
  262. package/out/python/folds.scm +28 -0
  263. package/out/python/indents.scm +213 -0
  264. package/out/python/injections.scm +30 -0
  265. package/out/python/locals.scm +124 -0
  266. package/out/qmljs/folds.scm +8 -0
  267. package/out/qmljs/highlights.scm +61 -0
  268. package/out/qmljs/injections.scm +1 -0
  269. package/out/qmljs/locals.scm +6 -0
  270. package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
  271. package/out/query/folds.scm +6 -0
  272. package/out/query/indents.scm +25 -0
  273. package/out/query/injections.scm +28 -0
  274. package/out/query/locals.scm +21 -0
  275. package/out/r/indents.scm +33 -0
  276. package/out/r/injections.scm +2 -0
  277. package/out/racket/folds.scm +2 -0
  278. package/out/racket/injections.scm +5 -0
  279. package/out/ruby/folds.scm +12 -0
  280. package/out/ruby/indents.scm +43 -0
  281. package/out/ruby/injections.scm +34 -0
  282. package/out/rust/folds.scm +25 -0
  283. package/out/rust/indents.scm +133 -0
  284. package/out/rust/locals.scm +98 -0
  285. package/out/scala/folds.scm +16 -0
  286. package/out/scala/injections.scm +5 -0
  287. package/out/scheme/folds.scm +2 -0
  288. package/out/scheme/injections.scm +2 -0
  289. package/out/scss/folds.scm +1 -0
  290. package/out/scss/indents.scm +7 -0
  291. package/out/scss/injections.scm +2 -0
  292. package/out/solidity/folds.scm +20 -0
  293. package/out/solidity/highlights-nvim.scm +309 -0
  294. package/out/solidity/highlights.scm +217 -0
  295. package/out/solidity/injections.scm +14 -0
  296. package/out/solidity/locals.scm +9 -0
  297. package/out/solidity/tags.scm +43 -0
  298. package/out/solidity/tree-sitter-solidity.wasm +0 -0
  299. package/out/sql/folds.scm +1 -0
  300. package/out/sql/injections.scm +5 -0
  301. package/out/terraform/folds.scm +1 -0
  302. package/out/terraform/indents.scm +1 -0
  303. package/out/terraform/injections.scm +1 -0
  304. package/out/toml/folds.scm +5 -0
  305. package/out/toml/indents.scm +11 -0
  306. package/out/toml/injections.scm +2 -0
  307. package/out/toml/locals.scm +4 -0
  308. package/out/tsv/highlights.scm +4 -0
  309. package/out/tsv/tree-sitter-tsv.wasm +0 -0
  310. package/out/tsx/folds.scm +1 -0
  311. package/out/tsx/indents.scm +1 -0
  312. package/out/tsx/injections.scm +1 -0
  313. package/out/typescript/folds.scm +8 -0
  314. package/out/typescript/indents.scm +7 -0
  315. package/out/typescript/injections.scm +28 -0
  316. package/out/vim/folds.scm +4 -0
  317. package/out/vim/highlights.scm +362 -0
  318. package/out/vim/injections.scm +44 -0
  319. package/out/vim/locals.scm +19 -0
  320. package/out/vim/tree-sitter-vim.wasm +0 -0
  321. package/out/vimdoc/injections.scm +4 -0
  322. package/out/vue/folds.scm +6 -0
  323. package/out/vue/highlights.scm +54 -0
  324. package/out/vue/indents.scm +7 -0
  325. package/out/vue/injections.scm +78 -0
  326. package/out/vue/tree-sitter-vue.wasm +0 -0
  327. package/out/xml/folds.scm +5 -0
  328. package/out/xml/indents.scm +16 -0
  329. package/out/xml/injections.scm +32 -0
  330. package/out/xml/locals.scm +35 -0
  331. package/out/yaml/folds.scm +4 -0
  332. package/out/yaml/highlights.scm +79 -0
  333. package/out/yaml/indents.scm +7 -0
  334. package/out/yaml/injections.scm +81 -0
  335. package/out/yaml/locals.scm +9 -0
  336. package/out/yaml/tree-sitter-yaml.wasm +0 -0
  337. package/out/zig/locals.scm +96 -0
  338. package/package.json +65 -17
  339. /package/out/{c-sharp → c_sharp_c_sharp}/highlights.scm +0 -0
  340. /package/out/{c-sharp → c_sharp_c_sharp}/tags.scm +0 -0
  341. /package/out/{c-sharp/tree-sitter-c-sharp.wasm → c_sharp_c_sharp/tree-sitter-c_sharp_c_sharp.wasm} +0 -0
  342. /package/out/{embedded-template → embedded_template_embedded_template}/highlights.scm +0 -0
  343. /package/out/{embedded-template → embedded_template_embedded_template}/injections-ejs.scm +0 -0
  344. /package/out/{embedded-template → embedded_template_embedded_template}/injections-erb.scm +0 -0
  345. /package/out/{embedded-template → embedded_template_embedded_template}/injections-etlua.scm +0 -0
  346. /package/out/{embedded-template/tree-sitter-embedded-template.wasm → embedded_template_embedded_template/tree-sitter-embedded_template_embedded_template.wasm} +0 -0
  347. /package/out/{markdown-inline → markdown_inline}/highlights.scm +0 -0
  348. /package/out/{markdown-inline → markdown_inline}/injections.scm +0 -0
  349. /package/out/{markdown-inline/tree-sitter-markdown-inline.wasm → markdown_inline/tree-sitter-markdown_inline.wasm} +0 -0
  350. /package/out/{ocaml-interface → ocaml_interface}/highlights.scm +0 -0
  351. /package/out/{ocaml-interface → ocaml_interface}/locals.scm +0 -0
  352. /package/out/{ocaml-interface → ocaml_interface}/tags.scm +0 -0
  353. /package/out/{ocaml-interface/tree-sitter-ocaml-interface.wasm → ocaml_interface/tree-sitter-ocaml_interface.wasm} +0 -0
  354. /package/out/{ocaml-type → ocaml_type}/highlights.scm +0 -0
  355. /package/out/{ocaml-type → ocaml_type}/locals.scm +0 -0
  356. /package/out/{ocaml-type → ocaml_type}/tags.scm +0 -0
  357. /package/out/{ocaml-type/tree-sitter-ocaml-type.wasm → ocaml_type/tree-sitter-ocaml_type.wasm} +0 -0
  358. /package/out/{php-only → php_only}/highlights.scm +0 -0
  359. /package/out/{php-only → php_only}/injections-text.scm +0 -0
  360. /package/out/{php-only → php_only}/injections.scm +0 -0
  361. /package/out/{php-only → php_only}/tags.scm +0 -0
  362. /package/out/{php-only/tree-sitter-php-only.wasm → php_only/tree-sitter-php_only.wasm} +0 -0
@@ -0,0 +1,124 @@
1
+ ; Program structure
2
+ (module) @local.scope
3
+
4
+ (class_definition
5
+ body: (block
6
+ (expression_statement
7
+ (assignment
8
+ left: (identifier) @local.definition.field)))) @local.scope
9
+
10
+ (class_definition
11
+ body: (block
12
+ (expression_statement
13
+ (assignment
14
+ left: (_
15
+ (identifier) @local.definition.field))))) @local.scope
16
+
17
+ ; Imports
18
+ (aliased_import
19
+ alias: (identifier) @local.definition.import) @local.scope
20
+
21
+ (import_statement
22
+ name: (dotted_name
23
+ (identifier) @local.definition.import)) @local.scope
24
+
25
+ (import_from_statement
26
+ name: (dotted_name
27
+ (identifier) @local.definition.import)) @local.scope
28
+
29
+ ; Function with parameters, defines parameters
30
+ (parameters
31
+ (identifier) @local.definition.parameter)
32
+
33
+ (default_parameter
34
+ (identifier) @local.definition.parameter)
35
+
36
+ (typed_parameter
37
+ (identifier) @local.definition.parameter)
38
+
39
+ (typed_default_parameter
40
+ (identifier) @local.definition.parameter)
41
+
42
+ ; *args parameter
43
+ (parameters
44
+ (list_splat_pattern
45
+ (identifier) @local.definition.parameter))
46
+
47
+ ; **kwargs parameter
48
+ (parameters
49
+ (dictionary_splat_pattern
50
+ (identifier) @local.definition.parameter))
51
+
52
+ ; Function defines function and scope
53
+ ((function_definition
54
+ name: (identifier) @local.definition.function) @local.scope
55
+ (#set! definition.function.scope "parent"))
56
+
57
+ ((class_definition
58
+ name: (identifier) @local.definition.type) @local.scope
59
+ (#set! definition.type.scope "parent"))
60
+
61
+ (class_definition
62
+ body: (block
63
+ (function_definition
64
+ name: (identifier) @local.definition.method)))
65
+
66
+ ; Loops
67
+ ; not a scope!
68
+ (for_statement
69
+ left: (pattern_list
70
+ (identifier) @local.definition.var))
71
+
72
+ (for_statement
73
+ left: (tuple_pattern
74
+ (identifier) @local.definition.var))
75
+
76
+ (for_statement
77
+ left: (identifier) @local.definition.var)
78
+
79
+ ; not a scope!
80
+ ;(while_statement) @local.scope
81
+ ; for in list comprehension
82
+ (for_in_clause
83
+ left: (identifier) @local.definition.var)
84
+
85
+ (for_in_clause
86
+ left: (tuple_pattern
87
+ (identifier) @local.definition.var))
88
+
89
+ (for_in_clause
90
+ left: (pattern_list
91
+ (identifier) @local.definition.var))
92
+
93
+ (dictionary_comprehension) @local.scope
94
+
95
+ (list_comprehension) @local.scope
96
+
97
+ (set_comprehension) @local.scope
98
+
99
+ ; Assignments
100
+ (assignment
101
+ left: (identifier) @local.definition.var)
102
+
103
+ (assignment
104
+ left: (pattern_list
105
+ (identifier) @local.definition.var))
106
+
107
+ (assignment
108
+ left: (tuple_pattern
109
+ (identifier) @local.definition.var))
110
+
111
+ (assignment
112
+ left: (attribute
113
+ (identifier)
114
+ (identifier) @local.definition.field))
115
+
116
+ ; Walrus operator x := 1
117
+ (named_expression
118
+ (identifier) @local.definition.var)
119
+
120
+ (as_pattern
121
+ alias: (as_pattern_target) @local.definition.var)
122
+
123
+ ; REFERENCES
124
+ (identifier) @local.reference
@@ -0,0 +1,8 @@
1
+ [
2
+ (ui_object_definition)
3
+ (function_declaration)
4
+ (statement_block)
5
+ (if_statement)
6
+ (ui_binding)
7
+ (comment)
8
+ ] @fold
@@ -0,0 +1,61 @@
1
+ ;;; Annotations
2
+
3
+ (ui_annotation
4
+ "@" @operator
5
+ type_name: [
6
+ (identifier) @attribute
7
+ (nested_identifier (identifier) @attribute)
8
+ ])
9
+
10
+ ;;; Properties
11
+
12
+ (ui_object_definition_binding
13
+ name: [
14
+ (identifier) @property
15
+ (nested_identifier (identifier) @property)
16
+ ])
17
+
18
+ (ui_binding
19
+ name: [
20
+ (identifier) @property
21
+ (nested_identifier (identifier) @property)
22
+ ])
23
+
24
+ ;; locals query appears not working unless id: <ref> isn't a parameter.
25
+ (ui_binding
26
+ name: (identifier) @property
27
+ (#eq? @property "id")
28
+ value: (expression_statement (identifier) @variable.parameter))
29
+
30
+ (ui_property
31
+ name: (identifier) @property)
32
+
33
+ (ui_required
34
+ name: (identifier) @property)
35
+
36
+ (ui_list_property_type
37
+ ["<" ">"] @punctuation.bracket)
38
+
39
+ ;;; Signals
40
+
41
+ (ui_signal
42
+ name: (identifier) @function.signal)
43
+
44
+ (ui_signal_parameter
45
+ (identifier) @variable.parameter)
46
+
47
+ ;;; Keywords
48
+
49
+ [
50
+ "as"
51
+ "component"
52
+ "default"
53
+ "final"
54
+ "import"
55
+ "on"
56
+ "pragma"
57
+ "property"
58
+ "readonly"
59
+ "required"
60
+ "signal"
61
+ ] @keyword
@@ -0,0 +1 @@
1
+ ; inherits: ecma
@@ -0,0 +1,6 @@
1
+ ;;; Definitions
2
+
3
+ (ui_binding
4
+ name: (identifier) @property
5
+ (#eq? @property "id")
6
+ value: (expression_statement (identifier) @local.definition))
Binary file
@@ -0,0 +1,6 @@
1
+ [
2
+ (named_node)
3
+ (predicate)
4
+ (grouping)
5
+ (list)
6
+ ] @fold
@@ -0,0 +1,25 @@
1
+ [
2
+ (list)
3
+ (named_node)
4
+ (grouping)
5
+ (predicate)
6
+ "["
7
+ ] @indent.begin
8
+
9
+ ; ERROR node indents
10
+ (ERROR
11
+ "(") @indent.begin
12
+
13
+ "]" @indent.branch @indent.end
14
+
15
+ [
16
+ ")"
17
+ "?"
18
+ "*"
19
+ "+"
20
+ ] @indent.end
21
+
22
+ ; Captures always mark the end of a node
23
+ ; Because of that, mark it as indent.end
24
+ (capture
25
+ name: (identifier) @indent.end)
@@ -0,0 +1,28 @@
1
+ ((predicate
2
+ name: (identifier) @_name
3
+ parameters: (parameters
4
+ (string
5
+ (string_content) @injection.content)))
6
+ (#any-of? @_name "match" "not-match" "any-match" "vim-match" "not-vim-match" "any-vim-match")
7
+ (#set! injection.language "regex"))
8
+
9
+ ((predicate
10
+ name: (identifier) @_name
11
+ parameters: (parameters
12
+ (string
13
+ (string_content) @injection.content)))
14
+ (#any-of? @_name "lua-match" "not-lua-match" "any-lua-match")
15
+ (#set! injection.language "luap"))
16
+
17
+ ((predicate
18
+ name: (identifier) @_name
19
+ parameters: (parameters
20
+ (string
21
+ (string_content) @injection.content)
22
+ .
23
+ (string) .))
24
+ (#any-of? @_name "gsub" "not-gsub")
25
+ (#set! injection.language "luap"))
26
+
27
+ ((comment) @injection.content
28
+ (#set! injection.language "comment"))
@@ -0,0 +1,21 @@
1
+ (program) @local.scope
2
+
3
+ (program
4
+ (named_node) @local.scope)
5
+
6
+ (program
7
+ (anonymous_node) @local.scope)
8
+
9
+ (program
10
+ (grouping) @local.scope)
11
+
12
+ (identifier) @local.reference
13
+
14
+ (named_node
15
+ (capture) @local.definition.var)
16
+
17
+ (anonymous_node
18
+ (capture) @local.definition.var)
19
+
20
+ (grouping
21
+ (capture) @local.definition.var)
@@ -0,0 +1,33 @@
1
+ [
2
+ (braced_expression)
3
+ (parenthesized_expression)
4
+ (call)
5
+ "if"
6
+ "else"
7
+ "while"
8
+ "repeat"
9
+ "for"
10
+ ] @indent.begin
11
+
12
+ (binary_operator
13
+ rhs: (_) @_no_indent
14
+ (#not-kind-eq? @_no_indent function_definition)) @indent.begin
15
+
16
+ [
17
+ "}"
18
+ ")"
19
+ ] @indent.branch
20
+
21
+ ((parameters
22
+ .
23
+ (parameter
24
+ name: (identifier))) @indent.align
25
+ (#set! indent.open_delimiter "(")
26
+ (#set! indent.close_delimiter ")"))
27
+
28
+ [
29
+ ")"
30
+ "}"
31
+ ] @indent.end
32
+
33
+ (comment) @indent.ignore
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,2 @@
1
+ (program
2
+ (list) @fold)
@@ -0,0 +1,5 @@
1
+ ([
2
+ (comment)
3
+ (block_comment)
4
+ ] @injection.content
5
+ (#set! injection.language "comment"))
@@ -0,0 +1,12 @@
1
+ [
2
+ (method)
3
+ (singleton_method)
4
+ (class)
5
+ (module)
6
+ (if)
7
+ (else)
8
+ (case)
9
+ (do_block)
10
+ (singleton_class)
11
+ (lambda)
12
+ ] @fold
@@ -0,0 +1,43 @@
1
+ [
2
+ (class)
3
+ (singleton_class)
4
+ (method)
5
+ (singleton_method)
6
+ (module)
7
+ (call)
8
+ (if)
9
+ (block)
10
+ (do_block)
11
+ (hash)
12
+ (array)
13
+ (argument_list)
14
+ (case)
15
+ (while)
16
+ (until)
17
+ (for)
18
+ (begin)
19
+ (unless)
20
+ (assignment)
21
+ (parenthesized_statements)
22
+ ] @indent.begin
23
+
24
+ [
25
+ "end"
26
+ ")"
27
+ "}"
28
+ "]"
29
+ ] @indent.end
30
+
31
+ [
32
+ "end"
33
+ ")"
34
+ "}"
35
+ "]"
36
+ (when)
37
+ (elsif)
38
+ (else)
39
+ (rescue)
40
+ (ensure)
41
+ ] @indent.branch
42
+
43
+ (comment) @indent.ignore
@@ -0,0 +1,34 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((comment) @injection.content
5
+ (#lua-match? @injection.content "^#:")
6
+ (#set! injection.language "rbs"))
7
+
8
+ ((comment) @injection.content
9
+ (#lua-match? @injection.content "^#%s+@rbs")
10
+ (#set! injection.language "rbs"))
11
+
12
+ ((comment) @injection.content
13
+ (#lua-match? @injection.content "^#%s+|")
14
+ (#set! injection.language "rbs"))
15
+
16
+ (heredoc_body
17
+ (heredoc_content) @injection.content
18
+ (heredoc_end) @injection.language)
19
+
20
+ (regex
21
+ (string_content) @injection.content
22
+ (#set! injection.language "regex"))
23
+
24
+ ((call
25
+ receiver: (identifier) @_receiver
26
+ method: (identifier) @_method
27
+ arguments: (argument_list
28
+ (pair
29
+ key: (hash_key_symbol)
30
+ value: (string
31
+ (string_content) @injection.content))))
32
+ (#eq? @_receiver "binding")
33
+ (#any-of? @_method "b" "break")
34
+ (#set! injection.self))
@@ -0,0 +1,25 @@
1
+ [
2
+ (mod_item)
3
+ (foreign_mod_item)
4
+ (function_item)
5
+ (struct_item)
6
+ (trait_item)
7
+ (enum_item)
8
+ (impl_item)
9
+ (type_item)
10
+ (union_item)
11
+ (const_item)
12
+ (let_declaration)
13
+ (loop_expression)
14
+ (for_expression)
15
+ (while_expression)
16
+ (if_expression)
17
+ (match_expression)
18
+ (call_expression)
19
+ (array_expression)
20
+ (macro_definition)
21
+ (macro_invocation)
22
+ (attribute_item)
23
+ (block)
24
+ (use_declaration)+
25
+ ] @fold
@@ -0,0 +1,133 @@
1
+ [
2
+ (mod_item)
3
+ (struct_item)
4
+ (enum_item)
5
+ (impl_item)
6
+ (struct_expression)
7
+ (struct_pattern)
8
+ (tuple_struct_pattern)
9
+ (tuple_expression)
10
+ (tuple_type)
11
+ (tuple_pattern)
12
+ (match_block)
13
+ (call_expression)
14
+ (assignment_expression)
15
+ (arguments)
16
+ (block)
17
+ (where_clause)
18
+ (use_list)
19
+ (array_expression)
20
+ (ordered_field_declaration_list)
21
+ (field_declaration_list)
22
+ (enum_variant_list)
23
+ (parameters)
24
+ (token_tree)
25
+ (token_repetition)
26
+ (macro_definition)
27
+ ] @indent.begin
28
+
29
+ (trait_item
30
+ body: (_) @indent.begin)
31
+
32
+ (string_literal
33
+ (escape_sequence)) @indent.begin
34
+
35
+ ; Typing in "(" inside macro definitions breaks the tree entirely
36
+ ; Making macro_definition becoming errors
37
+ ; Offset this by adding back one indent for start of macro rules
38
+ (ERROR
39
+ .
40
+ "macro_rules!"
41
+ [
42
+ "("
43
+ "{"
44
+ "["
45
+ ] @indent.begin
46
+ (#set! indent.immediate)
47
+ (#set! indent.start_at_same_line))
48
+
49
+ (macro_definition
50
+ [
51
+ ")"
52
+ "}"
53
+ "]"
54
+ ] @indent.end)
55
+
56
+ (trait_item
57
+ body: (_) @indent.begin)
58
+
59
+ (string_literal
60
+ (escape_sequence)) @indent.begin
61
+
62
+ (block
63
+ "}" @indent.end)
64
+
65
+ (enum_item
66
+ body: (enum_variant_list
67
+ "}" @indent.end))
68
+
69
+ (impl_item
70
+ body: (declaration_list
71
+ "}" @indent.end))
72
+
73
+ (match_expression
74
+ body: (match_block
75
+ "}" @indent.end))
76
+
77
+ (mod_item
78
+ body: (declaration_list
79
+ "}" @indent.end))
80
+
81
+ (struct_item
82
+ body: (field_declaration_list
83
+ "}" @indent.end))
84
+
85
+ (struct_expression
86
+ body: (field_initializer_list
87
+ "}" @indent.end))
88
+
89
+ (struct_pattern
90
+ "}" @indent.end)
91
+
92
+ (tuple_struct_pattern
93
+ ")" @indent.end)
94
+
95
+ ; Typing in "(" inside macro definitions breaks the tree entirely
96
+ ; Making macro_definition becoming errors
97
+ ; Offset this by adding back one indent for start of macro rules
98
+ (ERROR
99
+ .
100
+ "macro_rules!"
101
+ "(" @indent.begin
102
+ (#set! indent.immediate)
103
+ (#set! indent.start_at_same_line))
104
+
105
+ (tuple_type
106
+ ")" @indent.end)
107
+
108
+ (tuple_pattern
109
+ ")" @indent.end)
110
+
111
+ (trait_item
112
+ body: (declaration_list
113
+ "}" @indent.end))
114
+
115
+ (impl_item
116
+ (where_clause) @indent.dedent)
117
+
118
+ [
119
+ "where"
120
+ ")"
121
+ "]"
122
+ "}"
123
+ ] @indent.branch
124
+
125
+ (impl_item
126
+ (declaration_list) @indent.branch)
127
+
128
+ [
129
+ (line_comment)
130
+ (string_literal)
131
+ ] @indent.ignore
132
+
133
+ (raw_string_literal) @indent.auto
@@ -0,0 +1,98 @@
1
+ ; Imports
2
+ (extern_crate_declaration
3
+ name: (identifier) @local.definition.import)
4
+
5
+ (use_declaration
6
+ argument: (scoped_identifier
7
+ name: (identifier) @local.definition.import))
8
+
9
+ (use_as_clause
10
+ alias: (identifier) @local.definition.import)
11
+
12
+ (use_list
13
+ (identifier) @local.definition.import) ; use std::process::{Child, Command, Stdio};
14
+
15
+ ; Functions
16
+ (function_item
17
+ name: (identifier) @local.definition.function)
18
+
19
+ (function_item
20
+ name: (identifier) @local.definition.method
21
+ parameters: (parameters
22
+ (self_parameter)))
23
+
24
+ ; Variables
25
+ (parameter
26
+ pattern: (identifier) @local.definition.var)
27
+
28
+ (let_declaration
29
+ pattern: (identifier) @local.definition.var)
30
+
31
+ (const_item
32
+ name: (identifier) @local.definition.var)
33
+
34
+ (tuple_pattern
35
+ (identifier) @local.definition.var)
36
+
37
+ (let_condition
38
+ pattern: (_
39
+ (identifier) @local.definition.var))
40
+
41
+ (tuple_struct_pattern
42
+ (identifier) @local.definition.var)
43
+
44
+ (closure_parameters
45
+ (identifier) @local.definition.var)
46
+
47
+ (self_parameter
48
+ (self) @local.definition.var)
49
+
50
+ (for_expression
51
+ pattern: (identifier) @local.definition.var)
52
+
53
+ ; Types
54
+ (struct_item
55
+ name: (type_identifier) @local.definition.type)
56
+
57
+ (enum_item
58
+ name: (type_identifier) @local.definition.type)
59
+
60
+ ; Fields
61
+ (field_declaration
62
+ name: (field_identifier) @local.definition.field)
63
+
64
+ (enum_variant
65
+ name: (identifier) @local.definition.field)
66
+
67
+ ; References
68
+ (identifier) @local.reference
69
+
70
+ ((type_identifier) @local.reference
71
+ (#set! reference.kind "type"))
72
+
73
+ ((field_identifier) @local.reference
74
+ (#set! reference.kind "field"))
75
+
76
+ ; Macros
77
+ (macro_definition
78
+ name: (identifier) @local.definition.macro)
79
+
80
+ ; Module
81
+ (mod_item
82
+ name: (identifier) @local.definition.namespace)
83
+
84
+ ; Scopes
85
+ [
86
+ (block)
87
+ (function_item)
88
+ (closure_expression)
89
+ (while_expression)
90
+ (for_expression)
91
+ (loop_expression)
92
+ (if_expression)
93
+ (match_expression)
94
+ (match_arm)
95
+ (struct_item)
96
+ (enum_item)
97
+ (impl_item)
98
+ ] @local.scope
@@ -0,0 +1,16 @@
1
+ (call_expression
2
+ (block) @fold)
3
+
4
+ [
5
+ (class_definition)
6
+ (trait_definition)
7
+ (object_definition)
8
+ (function_definition)
9
+ (val_definition)
10
+ (import_declaration)
11
+ (while_expression)
12
+ (do_while_expression)
13
+ (for_expression)
14
+ (try_expression)
15
+ (match_expression)
16
+ ] @fold