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
package/README.md CHANGED
@@ -1,16 +1,36 @@
1
- # ts-wasms
2
- Prebuilt WASM binaries for tree-sitter's language parsers.
3
- You can find a list of supported packages [here](https://app.unpkg.com/ts-wasms/files/out)
1
+ # ts-wasms [![npm version](https://img.shields.io/npm/v/ts-wasms.svg?style=flat-square)](https://www.npmjs.com/package/ts-wasms)
2
+ Prebuilt WASM binaries and query files(`.scm`) for tree-sitter's language parsers.
3
+ You can find a list of supported languages [here](https://app.unpkg.com/ts-wasms/files/out)
4
4
 
5
5
  ## Installation
6
6
  ```bash
7
+ npm install ts-wasms
8
+ # or
7
9
  pnpm add ts-wasms
10
+ # or
11
+ yarn add ts-wasms
12
+ # or
13
+ bun install ts-wasms
8
14
  ```
9
15
 
10
16
  ## Usage
11
- ```ts
12
- import pythonWasm from "ts-wasms/out/python/tree-sitter-python.wasm"
13
- import pythonHighlights from "ts-wasms/out/python/highlights.scm"
17
+ A type-safe API is provided for accessing grammars and queries at runtime
18
+ ```typescript
19
+ import { getWasmPath, getQueryPath } from "ts-wasms";
20
+
21
+ const wasmPath = getWasmPath("python");
22
+ const queryPath = getQueryPath("python", "highlights");
23
+ const pythonQueries = getAvailableQueries("python");
24
+ ```
25
+
26
+ You can also import the assets directly via your bundler
27
+ ```typescript
28
+ import wasmUrl from "ts-wasms/python/tree-sitter-python.wasm?url";
29
+ import wasmHighlights from "ts-wasms/python/highlights.scm?raw";
30
+
31
+ // This JSON object acts as table of content for all available languages
32
+ // and their queries.
33
+ import manifest from "ts-wasms/manifest.json"
14
34
  ```
15
35
 
16
36
  Each language directory includes a `tree-sitter-<lang>.wasm` file but may also include:
@@ -20,14 +40,18 @@ Each language directory includes a `tree-sitter-<lang>.wasm` file but may also i
20
40
  - `tags.scm`
21
41
  - `folds.scm`
22
42
  - `indents.scm`
43
+ Certain languages also contain special queries like: `nova-symbols`, please refer to the manifest.json or to the out dir in unpkg.
23
44
 
24
45
  ```txt
25
- out/python/
46
+ python/
26
47
  ├── tree-sitter-python.wasm
27
48
  ├── highlights.scm
28
49
  └── tags.scm
29
50
  ```
30
51
 
52
+
31
53
  ## Licenses
32
- Licenses belong to their respective upstream grammar authors, however this repo is MIT licensed.
33
- (If you have a problem with this licensing, please open an issue.)
54
+ The licenses for the generated .wasm and .scm files belong to their respective upstream grammar authors and can be found on their github repos.
55
+
56
+ The code in this repository is licensed under MIT.
57
+ If you maintain an upstream grammar and have a problem with this licensing, please open an issue.
package/index.d.ts ADDED
@@ -0,0 +1,116 @@
1
+ /** Standard Tree-sitter query categories mapped per language */
2
+ export type QueryMap = {
3
+ "ada": "folds" | "highlights" | "injections" | "locals" | "textobjects";
4
+ "angular": "folds" | "highlights" | "indents" | "injections" | "locals";
5
+ "arduino": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
6
+ "asm": "highlights" | "injections";
7
+ "astro": "folds" | "highlights" | "indents" | "injections" | "locals";
8
+ "awk": "highlights" | "injections";
9
+ "bash": "folds" | "highlights" | "indents" | "injections" | "locals";
10
+ "bibtex": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
11
+ "c": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
12
+ "c_sharp_c_sharp": "highlights" | "tags";
13
+ "cairo": "folds" | "highlights" | "indents" | "injections" | "locals" | "textobjects";
14
+ "clojure": "folds" | "highlights" | "injections" | "locals";
15
+ "cmake": "folds" | "highlights" | "indents" | "injections";
16
+ "comment": "highlights";
17
+ "commonlisp": "folds" | "highlights" | "injections" | "locals" | "tags";
18
+ "cpp": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
19
+ "css": "folds" | "highlights" | "indents" | "injections";
20
+ "csv": "highlights";
21
+ "cuda": "folds" | "highlights" | "indents" | "injections" | "locals";
22
+ "d": "folds" | "helix-highlights" | "helix-indents" | "helix-injections" | "helix-textobjects" | "highlights" | "indents" | "injections" | "locals" | "nova-folds" | "nova-highlights" | "nova-symbols" | "tags" | "textobjects";
23
+ "dart": "folds" | "highlights" | "indents" | "injections" | "locals";
24
+ "desktop": "folds" | "highlights" | "injections";
25
+ "devicetree": "folds" | "highlights" | "indents" | "injections" | "locals";
26
+ "diff": "folds" | "highlights" | "injections";
27
+ "dockerfile": "highlights" | "injections";
28
+ "dtd": "folds" | "highlights" | "injections" | "locals";
29
+ "editorconfig": "folds" | "highlights" | "injections";
30
+ "elisp": "highlights" | "tags";
31
+ "elixir": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
32
+ "elm": "folds" | "highlights" | "injections" | "locals" | "tags";
33
+ "embedded_template_embedded_template": "highlights" | "injections-ejs" | "injections-erb" | "injections-etlua";
34
+ "erlang": "folds" | "highlights" | "injections";
35
+ "fish": "folds" | "highlights" | "indents" | "injections" | "locals";
36
+ "gdscript": "folds" | "highlights" | "indents" | "injections" | "locals";
37
+ "gdshader": "highlights" | "injections" | "locals" | "tags";
38
+ "git_config": "folds" | "highlights" | "injections";
39
+ "git_rebase": "highlights" | "injections";
40
+ "gitattributes": "highlights" | "injections" | "locals";
41
+ "gitignore": "highlights" | "injections";
42
+ "gleam": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
43
+ "glsl": "folds" | "highlights" | "indents" | "injections" | "locals";
44
+ "go": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
45
+ "godot_resource": "folds" | "highlights" | "injections" | "locals";
46
+ "graphql": "highlights" | "indents" | "injections";
47
+ "groovy": "folds" | "highlights" | "indents" | "injections" | "locals";
48
+ "haskell": "folds" | "highlights" | "injections" | "locals";
49
+ "hcl": "folds" | "highlights" | "indents" | "injections";
50
+ "html": "folds" | "highlights" | "indents" | "injections" | "locals";
51
+ "ini": "folds" | "highlights" | "injections";
52
+ "java": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
53
+ "javascript": "folds" | "highlights" | "highlights-jsx" | "highlights-params" | "indents" | "injections" | "locals" | "tags";
54
+ "json": "folds" | "highlights" | "indents" | "injections" | "locals";
55
+ "julia": "folds" | "highlights" | "indents" | "injections" | "locals";
56
+ "kdl": "folds" | "highlights" | "indents" | "injections" | "locals";
57
+ "kotlin": "folds" | "highlights" | "injections" | "locals";
58
+ "liquid": "highlights" | "injections";
59
+ "lua": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
60
+ "markdown": "folds" | "highlights" | "indents" | "injections";
61
+ "markdown_inline": "highlights" | "injections";
62
+ "matlab": "folds" | "highlights" | "indents" | "injections" | "locals";
63
+ "nim": "folds" | "highlights" | "injections" | "locals";
64
+ "nix": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
65
+ "objc": "folds" | "highlights" | "indents" | "injections" | "locals";
66
+ "ocaml": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
67
+ "ocaml_interface": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
68
+ "ocaml_type": "highlights" | "locals" | "tags";
69
+ "perl": "folds" | "highlights" | "injections" | "matchup";
70
+ "php": "folds" | "highlights" | "indents" | "injections" | "injections-text" | "locals" | "tags";
71
+ "php_only": "folds" | "highlights" | "indents" | "injections" | "injections-text" | "locals" | "tags";
72
+ "prisma": "folds" | "highlights" | "injections";
73
+ "psv": "highlights";
74
+ "python": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
75
+ "qmljs": "folds" | "highlights" | "injections" | "locals";
76
+ "query": "folds" | "highlights" | "indents" | "injections" | "locals";
77
+ "r": "highlights" | "indents" | "injections" | "locals" | "tags";
78
+ "racket": "folds" | "highlights" | "injections" | "locals" | "tags";
79
+ "regex": "highlights";
80
+ "ruby": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
81
+ "rust": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
82
+ "scala": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
83
+ "scheme": "folds" | "highlights" | "injections";
84
+ "scss": "folds" | "highlights" | "indents" | "injections";
85
+ "solidity": "folds" | "highlights" | "highlights-nvim" | "injections" | "locals" | "tags";
86
+ "sql": "folds" | "highlights" | "indents" | "injections";
87
+ "swift": "folds" | "highlights" | "indents" | "injections" | "locals" | "outline" | "tags" | "textobjects";
88
+ "terraform": "folds" | "highlights" | "indents" | "injections";
89
+ "toml": "folds" | "highlights" | "indents" | "injections" | "locals";
90
+ "tsv": "highlights";
91
+ "tsx": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
92
+ "typescript": "folds" | "highlights" | "indents" | "injections" | "locals" | "tags";
93
+ "vim": "folds" | "highlights" | "injections" | "locals";
94
+ "vimdoc": "highlights" | "injections";
95
+ "vue": "folds" | "highlights" | "indents" | "injections";
96
+ "xml": "folds" | "highlights" | "indents" | "injections" | "locals";
97
+ "yaml": "folds" | "highlights" | "indents" | "injections" | "locals";
98
+ "zig": "folds" | "highlights" | "indents" | "injections" | "locals";
99
+ };
100
+
101
+ /** Supported language identifiers compiled during build step */
102
+ export type SupportedLanguage = keyof QueryMap;
103
+
104
+ /** Resolves the absolute path to a specific language's WASM file. */
105
+ export declare function getWasmPath(lang: SupportedLanguage): string;
106
+
107
+ /** Resolves the absolute path to a specific language's query file. */
108
+ export declare function getQueryPath<L extends SupportedLanguage>(
109
+ lang: L,
110
+ query: QueryMap[L],
111
+ ): string;
112
+
113
+ /** Returns an object mapping available query types to their absolute file paths. */
114
+ export declare function getAvailableQueries<L extends SupportedLanguage>(
115
+ lang: L,
116
+ ): Record<QueryMap[L], string>;
package/index.js ADDED
@@ -0,0 +1,48 @@
1
+ import fs from "node:fs";
2
+ import { fileURLToPath } from "node:url";
3
+
4
+ const manifestUrl = new URL("./manifest.json", import.meta.url);
5
+ const manifest = JSON.parse(
6
+ fs.readFileSync(fileURLToPath(manifestUrl), "utf8"),
7
+ );
8
+
9
+ /**
10
+ * Resolves the absolute path to a specific language's WASM file.
11
+ *
12
+ * @param {string} lang
13
+ * @returns {string}
14
+ */
15
+ export function getWasmPath(lang) {
16
+ const url = new URL(
17
+ `./out/${lang}/tree-sitter-${lang}.wasm`,
18
+ import.meta.url,
19
+ );
20
+ return fileURLToPath(url);
21
+ }
22
+
23
+ /**
24
+ * Resolves the absolute path to a specific language's query file.
25
+ *
26
+ * @param {string} lang
27
+ * @param {string} query
28
+ * @returns {string}
29
+ */
30
+ export function getQueryPath(lang, query) {
31
+ const url = new URL(`./out/${lang}/${query}.scm`, import.meta.url);
32
+ return fileURLToPath(url);
33
+ }
34
+
35
+ /**
36
+ * Returns an object mapping available query types to their absolute file paths.
37
+ *
38
+ * @param {string} lang
39
+ * @returns {Record<string, string>}
40
+ */
41
+ export function getAvailableQueries(lang) {
42
+ const queries = manifest[lang] || [];
43
+ const result = {};
44
+ for (const query of queries) {
45
+ result[query] = getQueryPath(lang, query);
46
+ }
47
+ return result;
48
+ }