tree-sitter-wasm 1.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 (576) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/index.d.ts +120 -0
  4. package/index.js +48 -0
  5. package/manifest.json +677 -0
  6. package/out/ada/folds.scm +15 -0
  7. package/out/ada/highlights.scm +196 -0
  8. package/out/ada/injections.scm +2 -0
  9. package/out/ada/locals.scm +33 -0
  10. package/out/ada/textobjects.scm +23 -0
  11. package/out/ada/tree-sitter-ada.wasm +0 -0
  12. package/out/angular/folds.scm +1 -0
  13. package/out/angular/highlights.scm +178 -0
  14. package/out/angular/indents.scm +16 -0
  15. package/out/angular/injections.scm +1 -0
  16. package/out/angular/locals.scm +1 -0
  17. package/out/angular/tree-sitter-angular.wasm +0 -0
  18. package/out/arduino/folds.scm +1 -0
  19. package/out/arduino/highlights.scm +48 -0
  20. package/out/arduino/indents.scm +1 -0
  21. package/out/arduino/injections.scm +1 -0
  22. package/out/arduino/locals.scm +1 -0
  23. package/out/arduino/tags.scm +5 -0
  24. package/out/arduino/tree-sitter-arduino.wasm +0 -0
  25. package/out/asm/highlights.scm +66 -0
  26. package/out/asm/injections.scm +5 -0
  27. package/out/asm/tree-sitter-asm.wasm +0 -0
  28. package/out/astro/folds.scm +1 -0
  29. package/out/astro/highlights.scm +12 -0
  30. package/out/astro/indents.scm +1 -0
  31. package/out/astro/injections.scm +27 -0
  32. package/out/astro/locals.scm +1 -0
  33. package/out/astro/tree-sitter-astro.wasm +0 -0
  34. package/out/awk/highlights.scm +122 -0
  35. package/out/awk/injections.scm +17 -0
  36. package/out/awk/tree-sitter-awk.wasm +0 -0
  37. package/out/bash/folds.scm +9 -0
  38. package/out/bash/highlights.scm +56 -0
  39. package/out/bash/indents.scm +32 -0
  40. package/out/bash/injections.scm +90 -0
  41. package/out/bash/locals.scm +14 -0
  42. package/out/bash/tree-sitter-bash.wasm +0 -0
  43. package/out/bibtex/folds.scm +1 -0
  44. package/out/bibtex/highlights.scm +47 -0
  45. package/out/bibtex/indents.scm +8 -0
  46. package/out/bibtex/injections.scm +2 -0
  47. package/out/bibtex/locals.scm +0 -0
  48. package/out/bibtex/tags.scm +0 -0
  49. package/out/bibtex/tree-sitter-bibtex.wasm +0 -0
  50. package/out/c/folds.scm +23 -0
  51. package/out/c/highlights.scm +81 -0
  52. package/out/c/indents.scm +99 -0
  53. package/out/c/injections.scm +128 -0
  54. package/out/c/locals.scm +67 -0
  55. package/out/c/tags.scm +9 -0
  56. package/out/c/tree-sitter-c.wasm +0 -0
  57. package/out/c_sharp/folds.scm +17 -0
  58. package/out/c_sharp/highlights.scm +213 -0
  59. package/out/c_sharp/injections.scm +2 -0
  60. package/out/c_sharp/locals.scm +42 -0
  61. package/out/c_sharp/tags.scm +23 -0
  62. package/out/c_sharp/tree-sitter-c_sharp.wasm +0 -0
  63. package/out/cairo/folds.scm +26 -0
  64. package/out/cairo/highlights.scm +372 -0
  65. package/out/cairo/indents.scm +134 -0
  66. package/out/cairo/injections.scm +3 -0
  67. package/out/cairo/locals.scm +28 -0
  68. package/out/cairo/textobjects.scm +79 -0
  69. package/out/cairo/tree-sitter-cairo.wasm +0 -0
  70. package/out/clojure/folds.scm +2 -0
  71. package/out/clojure/highlights.scm +29 -0
  72. package/out/clojure/injections.scm +2 -0
  73. package/out/clojure/locals.scm +1 -0
  74. package/out/clojure/tree-sitter-clojure.wasm +0 -0
  75. package/out/cmake/folds.scm +8 -0
  76. package/out/cmake/highlights.scm +221 -0
  77. package/out/cmake/indents.scm +26 -0
  78. package/out/cmake/injections.scm +5 -0
  79. package/out/cmake/tree-sitter-cmake.wasm +0 -0
  80. package/out/comment/highlights.scm +49 -0
  81. package/out/comment/tree-sitter-comment.wasm +0 -0
  82. package/out/commonlisp/folds.scm +2 -0
  83. package/out/commonlisp/highlights.scm +314 -0
  84. package/out/commonlisp/injections.scm +5 -0
  85. package/out/commonlisp/locals.scm +109 -0
  86. package/out/commonlisp/tags.scm +122 -0
  87. package/out/commonlisp/tree-sitter-commonlisp.wasm +0 -0
  88. package/out/cpp/folds.scm +14 -0
  89. package/out/cpp/highlights.scm +70 -0
  90. package/out/cpp/indents.scm +8 -0
  91. package/out/cpp/injections.scm +3 -0
  92. package/out/cpp/locals.scm +78 -0
  93. package/out/cpp/tags.scm +15 -0
  94. package/out/cpp/tree-sitter-cpp.wasm +0 -0
  95. package/out/css/folds.scm +10 -0
  96. package/out/css/highlights.scm +76 -0
  97. package/out/css/indents.scm +11 -0
  98. package/out/css/injections.scm +2 -0
  99. package/out/css/tree-sitter-css.wasm +0 -0
  100. package/out/csv/highlights.scm +5 -0
  101. package/out/csv/tree-sitter-csv.wasm +0 -0
  102. package/out/cuda/folds.scm +1 -0
  103. package/out/cuda/highlights.scm +17 -0
  104. package/out/cuda/indents.scm +1 -0
  105. package/out/cuda/injections.scm +1 -0
  106. package/out/cuda/locals.scm +1 -0
  107. package/out/cuda/tree-sitter-cuda.wasm +0 -0
  108. package/out/d/folds.scm +4 -0
  109. package/out/d/helix-highlights.scm +241 -0
  110. package/out/d/helix-indents.scm +17 -0
  111. package/out/d/helix-injections.scm +2 -0
  112. package/out/d/helix-textobjects.scm +9 -0
  113. package/out/d/highlights.scm +259 -0
  114. package/out/d/indents.scm +17 -0
  115. package/out/d/injections.scm +2 -0
  116. package/out/d/locals.scm +79 -0
  117. package/out/d/nova-folds.scm +6 -0
  118. package/out/d/nova-highlights.scm +283 -0
  119. package/out/d/nova-symbols.scm +23 -0
  120. package/out/d/tags.scm +28 -0
  121. package/out/d/textobjects.scm +9 -0
  122. package/out/d/tree-sitter-d.wasm +0 -0
  123. package/out/dart/folds.scm +8 -0
  124. package/out/dart/highlights.scm +224 -0
  125. package/out/dart/indents.scm +49 -0
  126. package/out/dart/injections.scm +2 -0
  127. package/out/dart/locals.scm +32 -0
  128. package/out/dart/tree-sitter-dart.wasm +0 -0
  129. package/out/desktop/folds.scm +1 -0
  130. package/out/desktop/highlights.scm +91 -0
  131. package/out/desktop/injections.scm +8 -0
  132. package/out/desktop/tree-sitter-desktop.wasm +0 -0
  133. package/out/devicetree/folds.scm +1 -0
  134. package/out/devicetree/highlights.scm +78 -0
  135. package/out/devicetree/indents.scm +12 -0
  136. package/out/devicetree/injections.scm +2 -0
  137. package/out/devicetree/locals.scm +4 -0
  138. package/out/devicetree/tree-sitter-devicetree.wasm +0 -0
  139. package/out/diff/folds.scm +5 -0
  140. package/out/diff/highlights.scm +49 -0
  141. package/out/diff/injections.scm +2 -0
  142. package/out/diff/tree-sitter-diff.wasm +0 -0
  143. package/out/dockerfile/highlights.scm +58 -0
  144. package/out/dockerfile/injections.scm +12 -0
  145. package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
  146. package/out/dtd/folds.scm +4 -0
  147. package/out/dtd/highlights.scm +148 -0
  148. package/out/dtd/injections.scm +2 -0
  149. package/out/dtd/locals.scm +11 -0
  150. package/out/dtd/tree-sitter-dtd.wasm +0 -0
  151. package/out/editorconfig/folds.scm +1 -0
  152. package/out/editorconfig/highlights.scm +35 -0
  153. package/out/editorconfig/injections.scm +2 -0
  154. package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
  155. package/out/elisp/highlights.scm +72 -0
  156. package/out/elisp/tags.scm +5 -0
  157. package/out/elisp/tree-sitter-elisp.wasm +0 -0
  158. package/out/elixir/folds.scm +10 -0
  159. package/out/elixir/highlights.scm +223 -0
  160. package/out/elixir/indents.scm +25 -0
  161. package/out/elixir/injections.scm +55 -0
  162. package/out/elixir/locals.scm +200 -0
  163. package/out/elixir/tags.scm +54 -0
  164. package/out/elixir/tree-sitter-elixir.wasm +0 -0
  165. package/out/elm/folds.scm +14 -0
  166. package/out/elm/highlights.scm +76 -0
  167. package/out/elm/injections.scm +4 -0
  168. package/out/elm/locals.scm +15 -0
  169. package/out/elm/tags.scm +19 -0
  170. package/out/elm/tree-sitter-elm.wasm +0 -0
  171. package/out/embedded_template/highlights.scm +12 -0
  172. package/out/embedded_template/injections-ejs.scm +7 -0
  173. package/out/embedded_template/injections-erb.scm +7 -0
  174. package/out/embedded_template/injections-etlua.scm +7 -0
  175. package/out/embedded_template/injections.scm +7 -0
  176. package/out/embedded_template/tree-sitter-embedded_template.wasm +0 -0
  177. package/out/erlang/folds.scm +9 -0
  178. package/out/erlang/highlights.scm +230 -0
  179. package/out/erlang/injections.scm +2 -0
  180. package/out/erlang/tree-sitter-erlang.wasm +0 -0
  181. package/out/fish/folds.scm +8 -0
  182. package/out/fish/highlights.scm +61 -0
  183. package/out/fish/indents.scm +18 -0
  184. package/out/fish/injections.scm +2 -0
  185. package/out/fish/locals.scm +19 -0
  186. package/out/fish/tree-sitter-fish.wasm +0 -0
  187. package/out/gdscript/folds.scm +26 -0
  188. package/out/gdscript/highlights.scm +635 -0
  189. package/out/gdscript/indents.scm +78 -0
  190. package/out/gdscript/injections.scm +2 -0
  191. package/out/gdscript/locals.scm +121 -0
  192. package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
  193. package/out/gdshader/highlights.scm +256 -0
  194. package/out/gdshader/injections.scm +2 -0
  195. package/out/gdshader/locals.scm +24 -0
  196. package/out/gdshader/tags.scm +13 -0
  197. package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
  198. package/out/git_config/folds.scm +2 -0
  199. package/out/git_config/highlights.scm +28 -0
  200. package/out/git_config/injections.scm +69 -0
  201. package/out/git_config/tree-sitter-git_config.wasm +0 -0
  202. package/out/git_rebase/highlights.scm +36 -0
  203. package/out/git_rebase/injections.scm +8 -0
  204. package/out/git_rebase/tree-sitter-git_rebase.wasm +0 -0
  205. package/out/gitattributes/highlights.scm +52 -0
  206. package/out/gitattributes/injections.scm +2 -0
  207. package/out/gitattributes/locals.scm +8 -0
  208. package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
  209. package/out/gitignore/highlights.scm +36 -0
  210. package/out/gitignore/injections.scm +2 -0
  211. package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
  212. package/out/gleam/folds.scm +7 -0
  213. package/out/gleam/highlights.scm +137 -0
  214. package/out/gleam/indents.scm +28 -0
  215. package/out/gleam/injections.scm +3 -0
  216. package/out/gleam/locals.scm +17 -0
  217. package/out/gleam/tags.scm +41 -0
  218. package/out/gleam/tree-sitter-gleam.wasm +0 -0
  219. package/out/glsl/folds.scm +1 -0
  220. package/out/glsl/highlights.scm +115 -0
  221. package/out/glsl/indents.scm +1 -0
  222. package/out/glsl/injections.scm +1 -0
  223. package/out/glsl/locals.scm +1 -0
  224. package/out/glsl/tree-sitter-glsl.wasm +0 -0
  225. package/out/go/folds.scm +19 -0
  226. package/out/go/highlights.scm +123 -0
  227. package/out/go/indents.scm +48 -0
  228. package/out/go/injections.scm +42 -0
  229. package/out/go/locals.scm +88 -0
  230. package/out/go/tags.scm +42 -0
  231. package/out/go/tree-sitter-go.wasm +0 -0
  232. package/out/godot_resource/folds.scm +1 -0
  233. package/out/godot_resource/highlights.scm +49 -0
  234. package/out/godot_resource/injections.scm +2 -0
  235. package/out/godot_resource/locals.scm +1 -0
  236. package/out/godot_resource/tree-sitter-godot_resource.wasm +0 -0
  237. package/out/graphql/highlights.scm +163 -0
  238. package/out/graphql/indents.scm +11 -0
  239. package/out/graphql/injections.scm +2 -0
  240. package/out/graphql/tree-sitter-graphql.wasm +0 -0
  241. package/out/groovy/folds.scm +6 -0
  242. package/out/groovy/highlights.scm +148 -0
  243. package/out/groovy/indents.scm +23 -0
  244. package/out/groovy/injections.scm +5 -0
  245. package/out/groovy/locals.scm +6 -0
  246. package/out/groovy/tree-sitter-groovy.wasm +0 -0
  247. package/out/haskell/folds.scm +6 -0
  248. package/out/haskell/highlights.scm +443 -0
  249. package/out/haskell/injections.scm +76 -0
  250. package/out/haskell/locals.scm +4 -0
  251. package/out/haskell/tree-sitter-haskell.wasm +0 -0
  252. package/out/hcl/folds.scm +6 -0
  253. package/out/hcl/highlights.scm +118 -0
  254. package/out/hcl/indents.scm +16 -0
  255. package/out/hcl/injections.scm +6 -0
  256. package/out/hcl/tree-sitter-hcl.wasm +0 -0
  257. package/out/html/folds.scm +5 -0
  258. package/out/html/highlights.scm +13 -0
  259. package/out/html/indents.scm +1 -0
  260. package/out/html/injections.scm +7 -0
  261. package/out/html/locals.scm +1 -0
  262. package/out/html/tree-sitter-html.wasm +0 -0
  263. package/out/ini/folds.scm +1 -0
  264. package/out/ini/highlights.scm +16 -0
  265. package/out/ini/injections.scm +3 -0
  266. package/out/ini/tree-sitter-ini.wasm +0 -0
  267. package/out/java/folds.scm +8 -0
  268. package/out/java/highlights.scm +149 -0
  269. package/out/java/indents.scm +40 -0
  270. package/out/java/injections.scm +31 -0
  271. package/out/java/locals.scm +100 -0
  272. package/out/java/tags.scm +20 -0
  273. package/out/java/tree-sitter-java.wasm +0 -0
  274. package/out/javascript/folds.scm +1 -0
  275. package/out/javascript/highlights-jsx.scm +8 -0
  276. package/out/javascript/highlights-params.scm +12 -0
  277. package/out/javascript/highlights.scm +204 -0
  278. package/out/javascript/indents.scm +1 -0
  279. package/out/javascript/injections.scm +31 -0
  280. package/out/javascript/locals.scm +23 -0
  281. package/out/javascript/tags.scm +99 -0
  282. package/out/javascript/tree-sitter-javascript.wasm +0 -0
  283. package/out/jq/highlights.scm +158 -0
  284. package/out/jq/injections.scm +23 -0
  285. package/out/jq/locals.scm +10 -0
  286. package/out/jq/tree-sitter-jq.wasm +0 -0
  287. package/out/json/folds.scm +5 -0
  288. package/out/json/highlights.scm +16 -0
  289. package/out/json/indents.scm +11 -0
  290. package/out/json/injections.scm +2 -0
  291. package/out/json/locals.scm +4 -0
  292. package/out/json/tree-sitter-json.wasm +0 -0
  293. package/out/julia/folds.scm +14 -0
  294. package/out/julia/highlights.scm +375 -0
  295. package/out/julia/indents.scm +52 -0
  296. package/out/julia/injections.scm +42 -0
  297. package/out/julia/locals.scm +71 -0
  298. package/out/julia/tree-sitter-julia.wasm +0 -0
  299. package/out/just/folds.scm +6 -0
  300. package/out/just/highlights.scm +139 -0
  301. package/out/just/indents.scm +14 -0
  302. package/out/just/injections.scm +44 -0
  303. package/out/just/locals.scm +35 -0
  304. package/out/just/tree-sitter-just.wasm +0 -0
  305. package/out/kdl/folds.scm +8 -0
  306. package/out/kdl/highlights.scm +58 -0
  307. package/out/kdl/indents.scm +7 -0
  308. package/out/kdl/injections.scm +4 -0
  309. package/out/kdl/locals.scm +10 -0
  310. package/out/kdl/tree-sitter-kdl.wasm +0 -0
  311. package/out/kotlin/folds.scm +13 -0
  312. package/out/kotlin/highlights.scm +380 -0
  313. package/out/kotlin/injections.scm +52 -0
  314. package/out/kotlin/locals.scm +78 -0
  315. package/out/kotlin/tree-sitter-kotlin.wasm +0 -0
  316. package/out/liquid/highlights.scm +119 -0
  317. package/out/liquid/injections.scm +22 -0
  318. package/out/liquid/tree-sitter-liquid.wasm +0 -0
  319. package/out/lua/folds.scm +12 -0
  320. package/out/lua/highlights.scm +201 -0
  321. package/out/lua/indents.scm +47 -0
  322. package/out/lua/injections.scm +12 -0
  323. package/out/lua/locals.scm +32 -0
  324. package/out/lua/tags.scm +36 -0
  325. package/out/lua/tree-sitter-lua.wasm +0 -0
  326. package/out/make/folds.scm +6 -0
  327. package/out/make/highlights.scm +172 -0
  328. package/out/make/injections.scm +5 -0
  329. package/out/make/tree-sitter-make.wasm +0 -0
  330. package/out/markdown/folds.scm +12 -0
  331. package/out/markdown/highlights.scm +52 -0
  332. package/out/markdown/indents.scm +1 -0
  333. package/out/markdown/injections.scm +12 -0
  334. package/out/markdown/tree-sitter-markdown.wasm +0 -0
  335. package/out/markdown_inline/highlights.scm +37 -0
  336. package/out/markdown_inline/injections.scm +2 -0
  337. package/out/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
  338. package/out/matlab/folds.scm +13 -0
  339. package/out/matlab/highlights.scm +218 -0
  340. package/out/matlab/indents.scm +40 -0
  341. package/out/matlab/injections.scm +2 -0
  342. package/out/matlab/locals.scm +33 -0
  343. package/out/matlab/tree-sitter-matlab.wasm +0 -0
  344. package/out/nginx/folds.scm +1 -0
  345. package/out/nginx/highlights.scm +59 -0
  346. package/out/nginx/injections.scm +2 -0
  347. package/out/nginx/tree-sitter-nginx.wasm +0 -0
  348. package/out/nim/folds.scm +41 -0
  349. package/out/nim/highlights.scm +186 -0
  350. package/out/nim/injections.scm +79 -0
  351. package/out/nim/locals.scm +328 -0
  352. package/out/nim/tree-sitter-nim.wasm +0 -0
  353. package/out/nix/folds.scm +11 -0
  354. package/out/nix/highlights.scm +99 -0
  355. package/out/nix/indents.scm +75 -0
  356. package/out/nix/injections.scm +39 -0
  357. package/out/nix/locals.scm +33 -0
  358. package/out/nix/tags.scm +16 -0
  359. package/out/nix/tree-sitter-nix.wasm +0 -0
  360. package/out/objc/folds.scm +20 -0
  361. package/out/objc/highlights.scm +216 -0
  362. package/out/objc/indents.scm +1 -0
  363. package/out/objc/injections.scm +10 -0
  364. package/out/objc/locals.scm +1 -0
  365. package/out/objc/tree-sitter-objc.wasm +0 -0
  366. package/out/ocaml/folds.scm +30 -0
  367. package/out/ocaml/highlights.scm +148 -0
  368. package/out/ocaml/indents.scm +77 -0
  369. package/out/ocaml/injections.scm +2 -0
  370. package/out/ocaml/locals.scm +24 -0
  371. package/out/ocaml/tags.scm +170 -0
  372. package/out/ocaml/tree-sitter-ocaml.wasm +0 -0
  373. package/out/ocaml_interface/folds.scm +1 -0
  374. package/out/ocaml_interface/highlights.scm +148 -0
  375. package/out/ocaml_interface/indents.scm +1 -0
  376. package/out/ocaml_interface/injections.scm +1 -0
  377. package/out/ocaml_interface/locals.scm +24 -0
  378. package/out/ocaml_interface/tags.scm +170 -0
  379. package/out/ocaml_interface/tree-sitter-ocaml_interface.wasm +0 -0
  380. package/out/ocaml_type/highlights.scm +148 -0
  381. package/out/ocaml_type/locals.scm +24 -0
  382. package/out/ocaml_type/tags.scm +170 -0
  383. package/out/ocaml_type/tree-sitter-ocaml_type.wasm +0 -0
  384. package/out/perl/folds.scm +27 -0
  385. package/out/perl/highlights.scm +162 -0
  386. package/out/perl/injections.scm +14 -0
  387. package/out/perl/matchup.scm +30 -0
  388. package/out/perl/tree-sitter-perl.wasm +0 -0
  389. package/out/php/folds.scm +1 -0
  390. package/out/php/highlights.scm +203 -0
  391. package/out/php/indents.scm +1 -0
  392. package/out/php/injections-text.scm +3 -0
  393. package/out/php/injections.scm +10 -0
  394. package/out/php/locals.scm +1 -0
  395. package/out/php/tags.scm +40 -0
  396. package/out/php/tree-sitter-php.wasm +0 -0
  397. package/out/php_only/folds.scm +19 -0
  398. package/out/php_only/highlights.scm +203 -0
  399. package/out/php_only/indents.scm +68 -0
  400. package/out/php_only/injections-text.scm +3 -0
  401. package/out/php_only/injections.scm +10 -0
  402. package/out/php_only/locals.scm +84 -0
  403. package/out/php_only/tags.scm +40 -0
  404. package/out/php_only/tree-sitter-php_only.wasm +0 -0
  405. package/out/powershell/folds.scm +13 -0
  406. package/out/powershell/highlights.scm +128 -0
  407. package/out/powershell/indents.scm +41 -0
  408. package/out/powershell/injections.scm +27 -0
  409. package/out/powershell/locals.scm +85 -0
  410. package/out/powershell/tree-sitter-powershell.wasm +0 -0
  411. package/out/prisma/folds.scm +7 -0
  412. package/out/prisma/highlights.scm +39 -0
  413. package/out/prisma/injections.scm +5 -0
  414. package/out/prisma/tree-sitter-prisma.wasm +0 -0
  415. package/out/proto/folds.scm +9 -0
  416. package/out/proto/highlights.scm +151 -0
  417. package/out/proto/indents.scm +11 -0
  418. package/out/proto/injections.scm +2 -0
  419. package/out/proto/tree-sitter-proto.wasm +0 -0
  420. package/out/psv/highlights.scm +5 -0
  421. package/out/psv/tree-sitter-psv.wasm +0 -0
  422. package/out/python/folds.scm +28 -0
  423. package/out/python/highlights.scm +137 -0
  424. package/out/python/indents.scm +213 -0
  425. package/out/python/injections.scm +30 -0
  426. package/out/python/locals.scm +124 -0
  427. package/out/python/tags.scm +14 -0
  428. package/out/python/tree-sitter-python.wasm +0 -0
  429. package/out/qmljs/folds.scm +8 -0
  430. package/out/qmljs/highlights.scm +61 -0
  431. package/out/qmljs/injections.scm +1 -0
  432. package/out/qmljs/locals.scm +6 -0
  433. package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
  434. package/out/query/folds.scm +6 -0
  435. package/out/query/highlights.scm +102 -0
  436. package/out/query/indents.scm +25 -0
  437. package/out/query/injections.scm +28 -0
  438. package/out/query/locals.scm +21 -0
  439. package/out/query/tree-sitter-query.wasm +0 -0
  440. package/out/r/highlights.scm +112 -0
  441. package/out/r/indents.scm +33 -0
  442. package/out/r/injections.scm +2 -0
  443. package/out/r/locals.scm +18 -0
  444. package/out/r/tags.scm +21 -0
  445. package/out/r/tree-sitter-r.wasm +0 -0
  446. package/out/racket/folds.scm +2 -0
  447. package/out/racket/highlights.scm +108 -0
  448. package/out/racket/injections.scm +5 -0
  449. package/out/racket/locals.scm +34 -0
  450. package/out/racket/tags.scm +12 -0
  451. package/out/racket/tree-sitter-racket.wasm +0 -0
  452. package/out/regex/highlights.scm +63 -0
  453. package/out/regex/tree-sitter-regex.wasm +0 -0
  454. package/out/requirements/highlights.scm +45 -0
  455. package/out/requirements/injections.scm +2 -0
  456. package/out/requirements/tree-sitter-requirements.wasm +0 -0
  457. package/out/ruby/folds.scm +12 -0
  458. package/out/ruby/highlights.scm +154 -0
  459. package/out/ruby/indents.scm +43 -0
  460. package/out/ruby/injections.scm +34 -0
  461. package/out/ruby/locals.scm +27 -0
  462. package/out/ruby/tags.scm +64 -0
  463. package/out/ruby/tree-sitter-ruby.wasm +0 -0
  464. package/out/rust/folds.scm +25 -0
  465. package/out/rust/highlights.scm +161 -0
  466. package/out/rust/indents.scm +133 -0
  467. package/out/rust/injections.scm +9 -0
  468. package/out/rust/locals.scm +98 -0
  469. package/out/rust/tags.scm +60 -0
  470. package/out/rust/tree-sitter-rust.wasm +0 -0
  471. package/out/scala/folds.scm +16 -0
  472. package/out/scala/highlights.scm +260 -0
  473. package/out/scala/indents.scm +30 -0
  474. package/out/scala/injections.scm +5 -0
  475. package/out/scala/locals.scm +30 -0
  476. package/out/scala/tags.scm +66 -0
  477. package/out/scala/tree-sitter-scala.wasm +0 -0
  478. package/out/scheme/folds.scm +2 -0
  479. package/out/scheme/highlights.scm +84 -0
  480. package/out/scheme/injections.scm +2 -0
  481. package/out/scheme/tree-sitter-scheme.wasm +0 -0
  482. package/out/scss/folds.scm +1 -0
  483. package/out/scss/highlights.scm +69 -0
  484. package/out/scss/indents.scm +7 -0
  485. package/out/scss/injections.scm +2 -0
  486. package/out/scss/tree-sitter-scss.wasm +0 -0
  487. package/out/solidity/folds.scm +20 -0
  488. package/out/solidity/highlights-nvim.scm +309 -0
  489. package/out/solidity/highlights.scm +217 -0
  490. package/out/solidity/injections.scm +14 -0
  491. package/out/solidity/locals.scm +9 -0
  492. package/out/solidity/tags.scm +43 -0
  493. package/out/solidity/tree-sitter-solidity.wasm +0 -0
  494. package/out/sql/folds.scm +1 -0
  495. package/out/sql/highlights.scm +445 -0
  496. package/out/sql/indents.scm +27 -0
  497. package/out/sql/injections.scm +5 -0
  498. package/out/sql/tree-sitter-sql.wasm +0 -0
  499. package/out/ssh_config/folds.scm +4 -0
  500. package/out/ssh_config/highlights.scm +81 -0
  501. package/out/ssh_config/indents.scm +12 -0
  502. package/out/ssh_config/injections.scm +15 -0
  503. package/out/ssh_config/locals.scm +7 -0
  504. package/out/ssh_config/tree-sitter-ssh_config.wasm +0 -0
  505. package/out/swift/folds.scm +35 -0
  506. package/out/swift/highlights.scm +336 -0
  507. package/out/swift/indents.scm +123 -0
  508. package/out/swift/injections.scm +10 -0
  509. package/out/swift/locals.scm +23 -0
  510. package/out/swift/outline.scm +66 -0
  511. package/out/swift/tags.scm +51 -0
  512. package/out/swift/textobjects.scm +19 -0
  513. package/out/swift/tree-sitter-swift.wasm +0 -0
  514. package/out/templ/folds.scm +15 -0
  515. package/out/templ/highlights.scm +60 -0
  516. package/out/templ/injections.scm +13 -0
  517. package/out/templ/tree-sitter-templ.wasm +0 -0
  518. package/out/terraform/folds.scm +1 -0
  519. package/out/terraform/highlights.scm +41 -0
  520. package/out/terraform/indents.scm +1 -0
  521. package/out/terraform/injections.scm +1 -0
  522. package/out/terraform/tree-sitter-terraform.wasm +0 -0
  523. package/out/toml/folds.scm +5 -0
  524. package/out/toml/highlights.scm +53 -0
  525. package/out/toml/indents.scm +11 -0
  526. package/out/toml/injections.scm +2 -0
  527. package/out/toml/locals.scm +4 -0
  528. package/out/toml/tree-sitter-toml.wasm +0 -0
  529. package/out/tsv/highlights.scm +4 -0
  530. package/out/tsv/tree-sitter-tsv.wasm +0 -0
  531. package/out/tsx/folds.scm +1 -0
  532. package/out/tsx/highlights.scm +35 -0
  533. package/out/tsx/indents.scm +1 -0
  534. package/out/tsx/injections.scm +1 -0
  535. package/out/tsx/locals.scm +2 -0
  536. package/out/tsx/tags.scm +23 -0
  537. package/out/tsx/tree-sitter-tsx.wasm +0 -0
  538. package/out/typescript/folds.scm +8 -0
  539. package/out/typescript/highlights.scm +35 -0
  540. package/out/typescript/indents.scm +7 -0
  541. package/out/typescript/injections.scm +28 -0
  542. package/out/typescript/locals.scm +2 -0
  543. package/out/typescript/tags.scm +23 -0
  544. package/out/typescript/tree-sitter-typescript.wasm +0 -0
  545. package/out/vim/folds.scm +4 -0
  546. package/out/vim/highlights.scm +362 -0
  547. package/out/vim/injections.scm +44 -0
  548. package/out/vim/locals.scm +19 -0
  549. package/out/vim/tree-sitter-vim.wasm +0 -0
  550. package/out/vimdoc/highlights.scm +74 -0
  551. package/out/vimdoc/injections.scm +4 -0
  552. package/out/vimdoc/tree-sitter-vimdoc.wasm +0 -0
  553. package/out/vue/folds.scm +6 -0
  554. package/out/vue/highlights.scm +54 -0
  555. package/out/vue/indents.scm +7 -0
  556. package/out/vue/injections.scm +78 -0
  557. package/out/vue/tree-sitter-vue.wasm +0 -0
  558. package/out/xml/folds.scm +5 -0
  559. package/out/xml/highlights.scm +198 -0
  560. package/out/xml/indents.scm +16 -0
  561. package/out/xml/injections.scm +32 -0
  562. package/out/xml/locals.scm +35 -0
  563. package/out/xml/tree-sitter-xml.wasm +0 -0
  564. package/out/yaml/folds.scm +4 -0
  565. package/out/yaml/highlights.scm +79 -0
  566. package/out/yaml/indents.scm +7 -0
  567. package/out/yaml/injections.scm +81 -0
  568. package/out/yaml/locals.scm +9 -0
  569. package/out/yaml/tree-sitter-yaml.wasm +0 -0
  570. package/out/zig/folds.scm +23 -0
  571. package/out/zig/highlights.scm +291 -0
  572. package/out/zig/indents.scm +22 -0
  573. package/out/zig/injections.scm +10 -0
  574. package/out/zig/locals.scm +96 -0
  575. package/out/zig/tree-sitter-zig.wasm +0 -0
  576. package/package.json +152 -0
@@ -0,0 +1,223 @@
1
+ ; Punctuation
2
+
3
+ [
4
+ "%"
5
+ ] @punctuation
6
+
7
+ [
8
+ ","
9
+ ";"
10
+ ] @punctuation.delimiter
11
+
12
+ [
13
+ "("
14
+ ")"
15
+ "["
16
+ "]"
17
+ "{"
18
+ "}"
19
+ "<<"
20
+ ">>"
21
+ ] @punctuation.bracket
22
+
23
+ ; Literals
24
+
25
+ [
26
+ (boolean)
27
+ (nil)
28
+ ] @constant
29
+
30
+ [
31
+ (integer)
32
+ (float)
33
+ ] @number
34
+
35
+ (char) @constant
36
+
37
+ ; Identifiers
38
+
39
+ ; * regular
40
+ (identifier) @variable
41
+
42
+ ; * unused
43
+ (
44
+ (identifier) @comment.unused
45
+ (#match? @comment.unused "^_")
46
+ )
47
+
48
+ ; * special
49
+ (
50
+ (identifier) @constant.builtin
51
+ (#any-of? @constant.builtin "__MODULE__" "__DIR__" "__ENV__" "__CALLER__" "__STACKTRACE__")
52
+ )
53
+
54
+ ; Comment
55
+
56
+ (comment) @comment
57
+
58
+ ; Quoted content
59
+
60
+ (interpolation "#{" @punctuation.special "}" @punctuation.special) @embedded
61
+
62
+ (escape_sequence) @string.escape
63
+
64
+ [
65
+ (string)
66
+ (charlist)
67
+ ] @string
68
+
69
+ [
70
+ (atom)
71
+ (quoted_atom)
72
+ (keyword)
73
+ (quoted_keyword)
74
+ ] @string.special.symbol
75
+
76
+ ; Note that we explicitly target sigil quoted start/end, so they are not overridden by delimiters
77
+
78
+ (sigil
79
+ (sigil_name) @__name__
80
+ quoted_start: _ @string.special
81
+ quoted_end: _ @string.special) @string.special
82
+
83
+ (sigil
84
+ (sigil_name) @__name__
85
+ quoted_start: _ @string
86
+ quoted_end: _ @string
87
+ (#match? @__name__ "^[sS]$")) @string
88
+
89
+ (sigil
90
+ (sigil_name) @__name__
91
+ quoted_start: _ @string.regex
92
+ quoted_end: _ @string.regex
93
+ (#match? @__name__ "^[rR]$")) @string.regex
94
+
95
+ ; Calls
96
+
97
+ ; * local function call
98
+ (call
99
+ target: (identifier) @function)
100
+
101
+ ; * remote function call
102
+ (call
103
+ target: (dot
104
+ right: (identifier) @function))
105
+
106
+ ; * field without parentheses or block
107
+ (call
108
+ target: (dot
109
+ right: (identifier) @property)
110
+ .)
111
+
112
+ ; * remote call without parentheses or block (overrides above)
113
+ (call
114
+ target: (dot
115
+ left: [
116
+ (alias)
117
+ (atom)
118
+ ]
119
+ right: (identifier) @function)
120
+ .)
121
+
122
+ ; * definition keyword
123
+ (call
124
+ target: (identifier) @keyword
125
+ (#any-of? @keyword "def" "defdelegate" "defexception" "defguard" "defguardp" "defimpl" "defmacro" "defmacrop" "defmodule" "defn" "defnp" "defoverridable" "defp" "defprotocol" "defstruct"))
126
+
127
+ ; * kernel or special forms keyword
128
+ (call
129
+ target: (identifier) @keyword
130
+ (#any-of? @keyword "alias" "case" "cond" "for" "if" "import" "quote" "raise" "receive" "require" "reraise" "super" "throw" "try" "unless" "unquote" "unquote_splicing" "use" "with"))
131
+
132
+ ; * just identifier in function definition
133
+ (call
134
+ target: (identifier) @keyword
135
+ (arguments
136
+ [
137
+ (identifier) @function
138
+ (binary_operator
139
+ left: (identifier) @function
140
+ operator: "when")
141
+ ])
142
+ (#any-of? @keyword "def" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp" "defp"))
143
+
144
+ ; * pipe into identifier (function call)
145
+ (binary_operator
146
+ operator: "|>"
147
+ right: (identifier) @function)
148
+
149
+ ; * pipe into identifier (definition)
150
+ (call
151
+ target: (identifier) @keyword
152
+ (arguments
153
+ (binary_operator
154
+ operator: "|>"
155
+ right: (identifier) @variable))
156
+ (#any-of? @keyword "def" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp" "defp"))
157
+
158
+ ; * pipe into field without parentheses (function call)
159
+ (binary_operator
160
+ operator: "|>"
161
+ right: (call
162
+ target: (dot
163
+ right: (identifier) @function)))
164
+
165
+ ; Operators
166
+
167
+ ; * capture operand
168
+ (unary_operator
169
+ operator: "&"
170
+ operand: (integer) @operator)
171
+
172
+ (operator_identifier) @operator
173
+
174
+ (unary_operator
175
+ operator: _ @operator)
176
+
177
+ (binary_operator
178
+ operator: _ @operator)
179
+
180
+ (dot
181
+ operator: _ @operator)
182
+
183
+ (stab_clause
184
+ operator: _ @operator)
185
+
186
+ ; * module attribute
187
+ (unary_operator
188
+ operator: "@" @attribute
189
+ operand: [
190
+ (identifier) @attribute
191
+ (call
192
+ target: (identifier) @attribute)
193
+ (boolean) @attribute
194
+ (nil) @attribute
195
+ ])
196
+
197
+ ; * doc string
198
+ (unary_operator
199
+ operator: "@" @comment.doc
200
+ operand: (call
201
+ target: (identifier) @comment.doc.__attribute__
202
+ (arguments
203
+ [
204
+ (string) @comment.doc
205
+ (charlist) @comment.doc
206
+ (sigil
207
+ quoted_start: _ @comment.doc
208
+ quoted_end: _ @comment.doc) @comment.doc
209
+ (boolean) @comment.doc
210
+ ]))
211
+ (#any-of? @comment.doc.__attribute__ "moduledoc" "typedoc" "doc"))
212
+
213
+ ; Module
214
+
215
+ (alias) @module
216
+
217
+ (call
218
+ target: (dot
219
+ left: (atom) @module))
220
+
221
+ ; Reserved keywords
222
+
223
+ ["when" "and" "or" "not" "in" "not in" "fn" "do" "end" "catch" "rescue" "after" "else"] @keyword
@@ -0,0 +1,25 @@
1
+ [
2
+ (block)
3
+ (do_block)
4
+ (list)
5
+ (map)
6
+ (stab_clause)
7
+ (tuple)
8
+ (arguments)
9
+ ] @indent.begin
10
+
11
+ [
12
+ ")"
13
+ "]"
14
+ "after"
15
+ "catch"
16
+ "else"
17
+ "rescue"
18
+ "}"
19
+ "end"
20
+ ] @indent.end @indent.branch
21
+
22
+ ; Elixir pipelines are not indented, but other binary operator chains are
23
+ ((binary_operator
24
+ operator: _ @_operator) @indent.begin
25
+ (#not-eq? @_operator "|>"))
@@ -0,0 +1,55 @@
1
+ ; Phoenix HTML template
2
+ ((sigil
3
+ (sigil_name) @_sigil_name
4
+ (quoted_content) @injection.content)
5
+ (#any-of? @_sigil_name "H" "LVN" "HOLO")
6
+ (#set! injection.language "heex")
7
+ (#set! injection.combined))
8
+
9
+ ; Regex
10
+ ((sigil
11
+ (sigil_name) @_sigil_name
12
+ (quoted_content) @injection.content)
13
+ (#any-of? @_sigil_name "r" "R")
14
+ (#set! injection.language "regex")
15
+ (#set! injection.combined))
16
+
17
+ ; SQL injection
18
+ ((sigil
19
+ (sigil_name) @_sigil_name
20
+ (quoted_content) @injection.content)
21
+ (#eq? @_sigil_name "SQL")
22
+ (#set! injection.language "sql")
23
+ (#set! injection.combined))
24
+
25
+ ; Markdown
26
+ ((sigil
27
+ (sigil_name) @_sigil_name
28
+ (quoted_content) @injection.content)
29
+ (#eq? @_sigil_name "MD")
30
+ (#set! injection.language "markdown")
31
+ (#set! injection.combined))
32
+
33
+ ; Python
34
+ ((sigil
35
+ (sigil_name) @_sigil_name
36
+ (quoted_content) @injection.content)
37
+ (#eq? @_sigil_name "PY")
38
+ (#set! injection.language "python")
39
+ (#set! injection.combined))
40
+
41
+ ; JavaScript
42
+ ((sigil
43
+ (sigil_name) @_sigil_name
44
+ (quoted_content) @injection.content)
45
+ (#eq? @_sigil_name "JS")
46
+ (#set! injection.language "javascript")
47
+ (#set! injection.combined))
48
+
49
+ ; Vue
50
+ ((sigil
51
+ (sigil_name) @_sigil_name
52
+ (quoted_content) @injection.content)
53
+ (#eq? @_sigil_name "VUE")
54
+ (#set! injection.language "vue")
55
+ (#set! injection.combined))
@@ -0,0 +1,200 @@
1
+ ; References
2
+ (identifier) @local.reference
3
+
4
+ (alias) @local.reference
5
+
6
+ ; Module Definitions
7
+ (call
8
+ target: ((identifier) @_identifier
9
+ (#eq? @_identifier "defmodule"))
10
+ (arguments
11
+ (alias) @local.definition.type))
12
+
13
+ ; Pattern Match Definitions
14
+ (binary_operator
15
+ ; format-ignore
16
+ left:
17
+ [
18
+ (identifier) @local.definition.var
19
+ (_ (identifier) @local.definition.var)
20
+ (_ (_ (identifier) @local.definition.var))
21
+ (_ (_ (_ (identifier) @local.definition.var)))
22
+ (_ (_ (_ (_ (identifier) @local.definition.var))))
23
+ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))
24
+ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))
25
+ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))
26
+ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))
27
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))
28
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))
29
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))
30
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))
31
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))
32
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))
33
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))
34
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))
35
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))))
36
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))))
37
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))))))
38
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))))))
39
+ ]
40
+ operator: "=")
41
+
42
+ ; Stab Clause Definitions
43
+ ; format-ignore
44
+ (stab_clause
45
+ left:
46
+ [
47
+ (arguments
48
+ [
49
+ (identifier) @local.definition.var
50
+ (_ (identifier) @local.definition.var)
51
+ (_ (_ (identifier) @local.definition.var))
52
+ (_ (_ (_ (identifier) @local.definition.var)))
53
+ (_ (_ (_ (_ (identifier) @local.definition.var))))
54
+ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))
55
+ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))
56
+ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))
57
+ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))
58
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))
59
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))
60
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))
61
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))
62
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))
63
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))
64
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))
65
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))
66
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))))
67
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))))
68
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))))))
69
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))))))
70
+ ])
71
+
72
+ (binary_operator
73
+ left:
74
+ (arguments
75
+ ; format-ignore
76
+ [
77
+ (identifier) @local.definition.var
78
+ (_ (identifier) @local.definition.var)
79
+ (_ (_ (identifier) @local.definition.var))
80
+ (_ (_ (_ (identifier) @local.definition.var)))
81
+ (_ (_ (_ (_ (identifier) @local.definition.var))))
82
+ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))
83
+ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))
84
+ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))
85
+ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))
86
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))
87
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))
88
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))
89
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))
90
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))
91
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))
92
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))
93
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))
94
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))))
95
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))))
96
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var)))))))))))))))))))
97
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.var))))))))))))))))))))
98
+ ])
99
+ operator: "when")
100
+ ])
101
+
102
+ ; Aliases
103
+ ; format-ignore
104
+ (call
105
+ target:
106
+ ((identifier) @_identifier
107
+ (#any-of? @_identifier "require" "alias" "use" "import"))
108
+ (arguments
109
+ [
110
+ (alias) @local.definition.import
111
+ (_ (alias) @local.definition.import)
112
+ (_ (_ (alias) @local.definition.import))
113
+ (_ (_ (_ (alias) @local.definition.import)))
114
+ (_ (_ (_ (_ (alias) @local.definition.import))))
115
+ ]))
116
+
117
+ ; Local Function Definitions & Scopes
118
+ ; format-ignore
119
+ (call
120
+ target:
121
+ ((identifier) @_identifier
122
+ (#any-of? @_identifier "def" "defp" "defmacro" "defmacrop" "defguard" "defguardp" "defn" "defnp" "for"))
123
+ (arguments
124
+ [
125
+ (identifier) @local.definition.function
126
+ (binary_operator
127
+ left: (identifier) @local.definition.function
128
+ operator: "when")
129
+ (binary_operator
130
+ (identifier) @local.definition.parameter)
131
+ (call
132
+ target: (identifier) @local.definition.function
133
+ (arguments
134
+ [
135
+ (identifier) @local.definition.parameter
136
+ (_ (identifier) @local.definition.parameter)
137
+ (_ (_ (identifier) @local.definition.parameter))
138
+ (_ (_ (_ (identifier) @local.definition.parameter)))
139
+ (_ (_ (_ (_ (identifier) @local.definition.parameter))))
140
+ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))
141
+ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))
142
+ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))
143
+ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))
144
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))
145
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))
146
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))
147
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))
148
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))
149
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))
150
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))))
151
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))))
152
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))))))
153
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))))))
154
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))))))))
155
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))))))))
156
+ ]))
157
+ ]?)
158
+ (#set! definition.function.scope parent)(do_block)?) @local.scope
159
+
160
+ ; ExUnit Test Definitions & Scopes
161
+ ; format-ignore
162
+ (call
163
+ target:
164
+ ((identifier) @_identifier
165
+ (#eq? @_identifier "test"))
166
+ (arguments
167
+ [
168
+ (string)
169
+ ((string)
170
+ .
171
+ ","
172
+ .
173
+ [
174
+ (identifier) @local.definition.parameter
175
+ (_ (identifier) @local.definition.parameter)
176
+ (_ (_ (identifier) @local.definition.parameter))
177
+ (_ (_ (_ (identifier) @local.definition.parameter)))
178
+ (_ (_ (_ (_ (identifier) @local.definition.parameter))))
179
+ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))
180
+ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))
181
+ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))
182
+ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))
183
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))
184
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))
185
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))
186
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))
187
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))
188
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))
189
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))))
190
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))))
191
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))))))
192
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))))))
193
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter)))))))))))))))))))
194
+ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @local.definition.parameter))))))))))))))))))))
195
+ ])
196
+ ])
197
+ (do_block)?) @local.scope
198
+
199
+ ; Stab Clause Scopes
200
+ (stab_clause) @local.scope
@@ -0,0 +1,54 @@
1
+ ; Definitions
2
+
3
+ ; * modules and protocols
4
+ (call
5
+ target: (identifier) @ignore
6
+ (arguments (alias) @name)
7
+ (#any-of? @ignore "defmodule" "defprotocol")) @definition.module
8
+
9
+ ; * functions/macros
10
+ (call
11
+ target: (identifier) @ignore
12
+ (arguments
13
+ [
14
+ ; zero-arity functions with no parentheses
15
+ (identifier) @name
16
+ ; regular function clause
17
+ (call target: (identifier) @name)
18
+ ; function clause with a guard clause
19
+ (binary_operator
20
+ left: (call target: (identifier) @name)
21
+ operator: "when")
22
+ ])
23
+ (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp")) @definition.function
24
+
25
+ ; References
26
+
27
+ ; ignore calls to kernel/special-forms keywords
28
+ (call
29
+ target: (identifier) @ignore
30
+ (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp" "defmodule" "defprotocol" "defimpl" "defstruct" "defexception" "defoverridable" "alias" "case" "cond" "else" "for" "if" "import" "quote" "raise" "receive" "require" "reraise" "super" "throw" "try" "unless" "unquote" "unquote_splicing" "use" "with"))
31
+
32
+ ; ignore module attributes
33
+ (unary_operator
34
+ operator: "@"
35
+ operand: (call
36
+ target: (identifier) @ignore))
37
+
38
+ ; * function call
39
+ (call
40
+ target: [
41
+ ; local
42
+ (identifier) @name
43
+ ; remote
44
+ (dot
45
+ right: (identifier) @name)
46
+ ]) @reference.call
47
+
48
+ ; * pipe into function call
49
+ (binary_operator
50
+ operator: "|>"
51
+ right: (identifier) @name) @reference.call
52
+
53
+ ; * modules
54
+ (alias) @name @reference.module
@@ -0,0 +1,14 @@
1
+ ((function_call_expr) @_fn
2
+ (#not-has-parent? @_fn parenthesized_expr)) @fold
3
+
4
+ [
5
+ (case_of_branch)
6
+ (case_of_expr)
7
+ (value_declaration)
8
+ (type_declaration)
9
+ (type_alias_declaration)
10
+ (list_expr)
11
+ (record_expr)
12
+ (parenthesized_expr)
13
+ (import_clause)+
14
+ ] @fold
@@ -0,0 +1,76 @@
1
+ ; Keywords
2
+ [
3
+ "if"
4
+ "then"
5
+ "else"
6
+ "let"
7
+ "in"
8
+ ] @keyword.control.elm
9
+ (case) @keyword.control.elm
10
+ (of) @keyword.control.elm
11
+
12
+ (colon) @keyword.other.elm
13
+ (backslash) @keyword.other.elm
14
+ (as) @keyword.other.elm
15
+ (port) @keyword.other.elm
16
+ (exposing) @keyword.other.elm
17
+ (alias) @keyword.other.elm
18
+ (infix) @keyword.other.elm
19
+
20
+ (arrow) @keyword.operator.arrow.elm
21
+
22
+ (port) @keyword.other.port.elm
23
+
24
+ (type_annotation(lower_case_identifier) @function.elm)
25
+ (port_annotation(lower_case_identifier) @function.elm)
26
+ (function_declaration_left(lower_case_identifier) @function.elm)
27
+ (function_call_expr target: (value_expr) @function.elm)
28
+
29
+ (field_access_expr(value_expr(value_qid)) @local.function.elm)
30
+ (lower_pattern) @local.function.elm
31
+ (record_base_identifier) @local.function.elm
32
+
33
+
34
+ (operator_identifier) @keyword.operator.elm
35
+ (eq) @keyword.operator.assignment.elm
36
+
37
+
38
+ "(" @punctuation.section.braces
39
+ ")" @punctuation.section.braces
40
+
41
+ "|" @keyword.other.elm
42
+ "," @punctuation.separator.comma.elm
43
+
44
+ (import) @meta.import.elm
45
+ (module) @keyword.other.elm
46
+
47
+ (number_constant_expr) @constant.numeric.elm
48
+
49
+
50
+ (type) @keyword.type.elm
51
+
52
+ (type_declaration(upper_case_identifier) @storage.type.elm)
53
+ (type_ref) @storage.type.elm
54
+ (type_alias_declaration name: (upper_case_identifier) @storage.type.elm)
55
+
56
+ (union_variant(upper_case_identifier) @union.elm)
57
+ (union_pattern) @union.elm
58
+ (value_expr(upper_case_qid(upper_case_identifier)) @union.elm)
59
+
60
+ ; comments
61
+ (line_comment) @comment.elm
62
+ (block_comment) @comment.elm
63
+
64
+ ; strings
65
+ (string_escape) @character.escape.elm
66
+
67
+ (open_quote) @string.elm
68
+ (close_quote) @string.elm
69
+ (regular_string_part) @string.elm
70
+
71
+ (open_char) @char.elm
72
+ (close_char) @char.elm
73
+
74
+
75
+ ; glsl
76
+ (glsl_content) @source.glsl
@@ -0,0 +1,4 @@
1
+ ; Parse glsl where defined
2
+
3
+ ((glsl_content) @injection.content
4
+ (#set! injection.language "glsl"))
@@ -0,0 +1,15 @@
1
+
2
+ (value_declaration) @local.scope
3
+ (type_alias_declaration) @local.scope
4
+ (type_declaration) @local.scope
5
+ (type_annotation) @local.scope
6
+ (port_annotation) @local.scope
7
+ (infix_declaration) @local.scope
8
+ (let_in_expr) @local.scope
9
+
10
+ (function_declaration_left (lower_pattern (lower_case_identifier)) @local.definition)
11
+ (function_declaration_left (lower_case_identifier) @local.definition)
12
+
13
+ (value_expr(value_qid(upper_case_identifier)) @local.reference)
14
+ (value_expr(value_qid(lower_case_identifier)) @local.reference)
15
+ (type_ref (upper_case_qid) @local.reference)
@@ -0,0 +1,19 @@
1
+ (value_declaration (function_declaration_left (lower_case_identifier) @name)) @definition.function
2
+
3
+ (function_call_expr (value_expr (value_qid) @name)) @reference.function
4
+ (exposed_value (lower_case_identifier) @name) @reference.function
5
+ (type_annotation ((lower_case_identifier) @name) (colon)) @reference.function
6
+
7
+ (type_declaration ((upper_case_identifier) @name) ) @definition.type
8
+
9
+ (type_ref (upper_case_qid (upper_case_identifier) @name)) @reference.type
10
+ (exposed_type (upper_case_identifier) @name) @reference.type
11
+
12
+ (type_declaration (union_variant (upper_case_identifier) @name)) @definition.union
13
+
14
+ (value_expr (upper_case_qid (upper_case_identifier) @name)) @reference.union
15
+
16
+
17
+ (module_declaration
18
+ (upper_case_qid (upper_case_identifier)) @name
19
+ ) @definition.module
Binary file