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,75 @@
1
+ [
2
+ (list_expression)
3
+ (indented_string_expression)
4
+ (let_expression)
5
+ (if_expression)
6
+ (binding)
7
+ (parenthesized_expression)
8
+ ] @indent.begin
9
+
10
+ ((attrset_expression) @indent.begin
11
+ (#not-has-parent? @indent.begin if_expression))
12
+
13
+ ((rec_attrset_expression) @indent.begin
14
+ (#not-has-parent? @indent.begin if_expression))
15
+
16
+ ((binding
17
+ "=" @indent.begin)
18
+ (#set! indent.immediate 1))
19
+
20
+ (binding
21
+ ";" @indent.end)
22
+
23
+ (parenthesized_expression
24
+ ")" @indent.branch @indent.end)
25
+
26
+ (attrset_expression
27
+ "}" @indent.branch @indent.end)
28
+
29
+ (rec_attrset_expression
30
+ "}" @indent.branch @indent.end)
31
+
32
+ (list_expression
33
+ "]" @indent.branch @indent.dedent)
34
+
35
+ (indented_string_expression
36
+ "''" @indent.branch @indent.end .)
37
+
38
+ [
39
+ "else"
40
+ "in"
41
+ ] @indent.branch
42
+
43
+ (let_expression
44
+ body: (_) @indent.end @indent.dedent)
45
+
46
+ (string_fragment) @indent.ignore @indent.auto
47
+
48
+ (if_expression
49
+ condition: (_) @indent.auto)
50
+
51
+ alternative: (if_expression) @indent.dedent
52
+
53
+ (interpolation) @indent.begin @indent.dedent
54
+
55
+ (interpolation
56
+ "}" @indent.end @indent.branch)
57
+
58
+ (ERROR
59
+ "then" @indent.begin)
60
+
61
+ (ERROR
62
+ "then"
63
+ .
64
+ (formals) @indent.begin)
65
+
66
+ (ERROR
67
+ "then"
68
+ .
69
+ (formals
70
+ "}" @indent.branch @indent.end))
71
+
72
+ (ERROR
73
+ "let") @indent.begin
74
+
75
+ (comment) @indent.ignore
@@ -0,0 +1,39 @@
1
+ ; mark arbitary languages with a comment
2
+ ((((comment) @injection.language) .
3
+ (indented_string_expression (string_fragment) @injection.content))
4
+ (#set! injection.combined))
5
+
6
+ ((binding
7
+ attrpath: (attrpath (identifier) @_path)
8
+ expression: (indented_string_expression
9
+ (string_fragment) @injection.content))
10
+ (#match? @_path "(^\\w*Phase|(pre|post)\\w*|(.*\\.)?\\w*([sS]cript|[hH]ook)|(.*\\.)?startup)$")
11
+ (#set! injection.language "bash")
12
+ (#set! injection.combined))
13
+
14
+ ((apply_expression
15
+ function: (apply_expression function: (_) @_func)
16
+ argument: (indented_string_expression (string_fragment) @injection.content))
17
+ (#match? @_func "(^|\\.)writeShellScript(Bin)?$")
18
+ (#set! injection.language "bash")
19
+ (#set! injection.combined))
20
+
21
+ (apply_expression
22
+ (apply_expression
23
+ function: (apply_expression
24
+ function: ((_) @_func)))
25
+ argument: (indented_string_expression (string_fragment) @injection.content)
26
+ (#match? @_func "(^|\\.)runCommand(((No)?(CC))?(Local)?)?$")
27
+ (#set! injection.language "bash")
28
+ (#set! injection.combined))
29
+
30
+ (apply_expression
31
+ function: ((_) @_func)
32
+ argument: (_ (_)* (_ (_)* (binding
33
+ attrpath: (attrpath (identifier) @_path)
34
+ expression: (indented_string_expression
35
+ (string_fragment) @injection.content))))
36
+ (#match? @_func "(^|\\.)writeShellApplication$")
37
+ (#match? @_path "^text$")
38
+ (#set! injection.language "bash")
39
+ (#set! injection.combined))
@@ -0,0 +1,33 @@
1
+ ;; when using @local.reference, tree-sitter seems to
2
+ ;; apply the scope from the identifier it has looked up,
3
+ ;; which makes sense for most languages.
4
+ ;; however, we want to highlight things as function based on their call-site,
5
+ ;; not their definition; therefore using TS's support for tracking locals
6
+ ;; impedes our ability to get the highlighting we want.
7
+ ;;
8
+ ;; also, TS doesn't seem to support scoping as implemented in languages
9
+ ;; with lazy let bindings, which results in syntax highlighting/goto-reference
10
+ ;; results that depend on the order of definitions, which is counter to the
11
+ ;; semantics of Nix.
12
+ ;;
13
+ ;; so for now we'll opt for not having any locals queries.
14
+ ;;
15
+ ;; see: https://github.com/tree-sitter/tree-sitter/issues/918
16
+
17
+ ;(function_expression
18
+ ; universal: (identifier)? @local.definition
19
+ ; formals: (formals (formal name: (identifier) @local.definition)*)
20
+ ; universal: (identifier)? @local.definition
21
+ ; ) @local.scope
22
+ ;
23
+ ;(rec_attrset_expression
24
+ ; bind: (binding
25
+ ; attrpath: (attrpath . (attr_identifier) @local.definition))
26
+ ;) @local.scope
27
+ ;
28
+ ;(let_expression
29
+ ; bind: (binding
30
+ ; attrpath: (attrpath . (attr_identifier) @local.definition))
31
+ ;) @local.scope
32
+ ;
33
+ ;(identifier) @local.reference
@@ -0,0 +1,16 @@
1
+ ;; https://tree-sitter.github.io/tree-sitter/4-code-navigation.html
2
+
3
+ ;;Function definitions
4
+ (binding
5
+ attrpath: (attrpath attr: (identifier)) @name
6
+ expression: (function_expression) @definition.function)
7
+ ;;Function/method calls
8
+ (apply_expression function: (apply_expression function: (variable_expression name: (identifier) @name)) @reference.call)
9
+
10
+ ;; TODO: (if even applicable?)
11
+ ;;Interface definitions @definition.interface
12
+ ;;Interface implementation @reference.implementation
13
+ ;;Class definitions @definition.class
14
+ ;;Class reference @reference.class
15
+ ;;Method definitions @definition.method
16
+ ;;Module definitions @definition.module
Binary file
@@ -0,0 +1,20 @@
1
+ ; inherits: c
2
+
3
+ [
4
+ (class_declaration)
5
+ (class_interface)
6
+ (class_implementation)
7
+ (protocol_declaration)
8
+ (property_declaration)
9
+ (method_declaration)
10
+ (struct_declaration)
11
+ (struct_declarator)
12
+ (try_statement)
13
+ (catch_clause)
14
+ (finally_clause)
15
+ (throw_statement)
16
+ (block_literal)
17
+ (ms_asm_block)
18
+ (dictionary_literal)
19
+ (array_literal)
20
+ ] @fold
@@ -0,0 +1,216 @@
1
+ ; inherits: c
2
+
3
+ ; Preprocs
4
+
5
+ (preproc_undef
6
+ name: (_) @constant) @preproc
7
+
8
+ ; Includes
9
+
10
+ (module_import "@import" @include path: (identifier) @namespace)
11
+
12
+ ((preproc_include
13
+ _ @include path: (_))
14
+ (#any-of? @include "#include" "#import"))
15
+
16
+ ; Type Qualifiers
17
+
18
+ [
19
+ "@optional"
20
+ "@required"
21
+ "__covariant"
22
+ "__contravariant"
23
+ (visibility_specification)
24
+ ] @type.qualifier
25
+
26
+ ; Storageclasses
27
+
28
+ [
29
+ "@autoreleasepool"
30
+ "@synthesize"
31
+ "@dynamic"
32
+ "volatile"
33
+ (protocol_qualifier)
34
+ ] @storageclass
35
+
36
+ ; Keywords
37
+
38
+ [
39
+ "@protocol"
40
+ "@interface"
41
+ "@implementation"
42
+ "@compatibility_alias"
43
+ "@property"
44
+ "@selector"
45
+ "@defs"
46
+ "availability"
47
+ "@end"
48
+ ] @keyword
49
+
50
+ (class_declaration "@" @keyword "class" @keyword) ; I hate Obj-C for allowing "@ class" :)
51
+
52
+ (method_definition ["+" "-"] @keyword.function)
53
+ (method_declaration ["+" "-"] @keyword.function)
54
+
55
+ [
56
+ "__typeof__"
57
+ "__typeof"
58
+ "typeof"
59
+ "in"
60
+ ] @keyword.operator
61
+
62
+ [
63
+ "@synchronized"
64
+ "oneway"
65
+ ] @keyword.coroutine
66
+
67
+ ; Exceptions
68
+
69
+ [
70
+ "@try"
71
+ "__try"
72
+ "@catch"
73
+ "__catch"
74
+ "@finally"
75
+ "__finally"
76
+ "@throw"
77
+ ] @exception
78
+
79
+ ; Variables
80
+
81
+ ((identifier) @variable.builtin
82
+ (#any-of? @variable.builtin "self" "super"))
83
+
84
+ ; Functions & Methods
85
+
86
+ [
87
+ "objc_bridge_related"
88
+ "@available"
89
+ "__builtin_available"
90
+ "va_arg"
91
+ "asm"
92
+ ] @function.builtin
93
+
94
+ (method_definition (identifier) @method)
95
+
96
+ (method_declaration (identifier) @method)
97
+
98
+ (method_identifier (identifier)? @method ":" @method (identifier)? @method)
99
+
100
+ (message_expression method: (identifier) @method.call)
101
+
102
+ ; Constructors
103
+
104
+ ((message_expression method: (identifier) @constructor)
105
+ (#eq? @constructor "init"))
106
+
107
+ ; Attributes
108
+
109
+ (availability_attribute_specifier
110
+ [
111
+ "CF_FORMAT_FUNCTION" "NS_AVAILABLE" "__IOS_AVAILABLE" "NS_AVAILABLE_IOS"
112
+ "API_AVAILABLE" "API_UNAVAILABLE" "API_DEPRECATED" "NS_ENUM_AVAILABLE_IOS"
113
+ "NS_DEPRECATED_IOS" "NS_ENUM_DEPRECATED_IOS" "NS_FORMAT_FUNCTION" "DEPRECATED_MSG_ATTRIBUTE"
114
+ "__deprecated_msg" "__deprecated_enum_msg" "NS_SWIFT_NAME" "NS_SWIFT_UNAVAILABLE"
115
+ "NS_EXTENSION_UNAVAILABLE_IOS" "NS_CLASS_AVAILABLE_IOS" "NS_CLASS_DEPRECATED_IOS" "__OSX_AVAILABLE_STARTING"
116
+ "NS_ROOT_CLASS" "NS_UNAVAILABLE" "NS_REQUIRES_NIL_TERMINATION" "CF_RETURNS_RETAINED"
117
+ "CF_RETURNS_NOT_RETAINED" "DEPRECATED_ATTRIBUTE" "UI_APPEARANCE_SELECTOR" "UNAVAILABLE_ATTRIBUTE"
118
+ ]) @attribute
119
+
120
+ ; Macros
121
+
122
+ (type_qualifier
123
+ [
124
+ "_Complex"
125
+ "_Nonnull"
126
+ "_Nullable"
127
+ "_Nullable_result"
128
+ "_Null_unspecified"
129
+ "__autoreleasing"
130
+ "__block"
131
+ "__bridge"
132
+ "__bridge_retained"
133
+ "__bridge_transfer"
134
+ "__complex"
135
+ "__kindof"
136
+ "__nonnull"
137
+ "__nullable"
138
+ "__ptrauth_objc_class_ro"
139
+ "__ptrauth_objc_isa_pointer"
140
+ "__ptrauth_objc_super_pointer"
141
+ "__strong"
142
+ "__thread"
143
+ "__unsafe_unretained"
144
+ "__unused"
145
+ "__weak"
146
+ ]) @function.macro.builtin
147
+
148
+ [ "__real" "__imag" ] @function.macro.builtin
149
+
150
+ ((call_expression function: (identifier) @function.macro)
151
+ (#eq? @function.macro "testassert"))
152
+
153
+ ; Types
154
+
155
+ (class_declaration (identifier) @type)
156
+
157
+ (class_interface "@interface" . (identifier) @type superclass: _? @type category: _? @namespace)
158
+
159
+ (class_implementation "@implementation" . (identifier) @type superclass: _? @type category: _? @namespace)
160
+
161
+ (protocol_forward_declaration (identifier) @type) ; @interface :(
162
+
163
+ (protocol_reference_list (identifier) @type) ; ^
164
+
165
+ [
166
+ "BOOL"
167
+ "IMP"
168
+ "SEL"
169
+ "Class"
170
+ "id"
171
+ ] @type.builtin
172
+
173
+ ; Constants
174
+
175
+ (property_attribute (identifier) @constant "="?)
176
+
177
+ [ "__asm" "__asm__" ] @constant.macro
178
+
179
+ ; Properties
180
+
181
+ (property_implementation "@synthesize" (identifier) @property)
182
+
183
+ ((identifier) @property
184
+ (#has-ancestor? @property struct_declaration))
185
+
186
+ ; Parameters
187
+
188
+ (method_parameter ":" @method (identifier) @parameter)
189
+
190
+ (method_parameter declarator: (identifier) @parameter)
191
+
192
+ (parameter_declaration
193
+ declarator: (function_declarator
194
+ declarator: (parenthesized_declarator
195
+ (block_pointer_declarator
196
+ declarator: (identifier) @parameter))))
197
+
198
+ "..." @parameter.builtin
199
+
200
+ ; Operators
201
+
202
+ [
203
+ "^"
204
+ ] @operator
205
+
206
+ ; Literals
207
+
208
+ (platform) @string.special
209
+
210
+ (version_number) @text.uri @number
211
+
212
+ ; Punctuation
213
+
214
+ "@" @punctuation.special
215
+
216
+ [ "<" ">" ] @punctuation.bracket
@@ -0,0 +1 @@
1
+ ; inherits: c
@@ -0,0 +1,10 @@
1
+ ; inherits: c
2
+
3
+ ; TODO(amaanq): uncomment/add when I add asm support
4
+ ; (ms_asm_block "{" _ @asm "}")
5
+ ;
6
+ ; ((asm_specifier (string_literal) @asm)
7
+ ; (#offset! @asm 0 1 0 -1))
8
+ ;
9
+ ; ((asm_statement (string_literal) @asm)
10
+ ; (#offset! @asm 0 1 0 -1))
@@ -0,0 +1 @@
1
+ ; inherits: c
Binary file
@@ -0,0 +1,30 @@
1
+ [
2
+ (let_binding)
3
+ (external)
4
+ (type_binding)
5
+ (exception_definition)
6
+ (module_binding)
7
+ (module_type_definition)
8
+ (open_module)
9
+ (include_module)
10
+ (include_module_type)
11
+ (class_binding)
12
+ (class_type_binding)
13
+ (value_specification)
14
+ (inheritance_specification)
15
+ (instance_variable_specification)
16
+ (method_specification)
17
+ (inheritance_definition)
18
+ (instance_variable_definition)
19
+ (method_definition)
20
+ (class_initializer)
21
+ (match_case)
22
+ (attribute)
23
+ (item_attribute)
24
+ (floating_attribute)
25
+ (extension)
26
+ (item_extension)
27
+ (quoted_extension)
28
+ (quoted_item_extension)
29
+ (comment)
30
+ ] @fold
@@ -0,0 +1,148 @@
1
+ ; Punctuation
2
+ ;------------
3
+
4
+ [
5
+ "," "." ";" ":" "=" "|" "~" "?" "+" "-" "!" ">" "&"
6
+ "->" ";;" ":>" "+=" ":=" ".."
7
+ ] @punctuation.delimiter
8
+
9
+ ["(" ")" "[" "]" "{" "}" "[|" "|]" "[<" "[>"] @punctuation.bracket
10
+
11
+ (object_type ["<" ">"] @punctuation.bracket)
12
+
13
+ "%" @punctuation.special
14
+
15
+ (attribute ["[@" "]"] @punctuation.special)
16
+ (item_attribute ["[@@" "]"] @punctuation.special)
17
+ (floating_attribute ["[@@@" "]"] @punctuation.special)
18
+ (extension ["[%" "]"] @punctuation.special)
19
+ (item_extension ["[%%" "]"] @punctuation.special)
20
+ (quoted_extension ["{%" "}"] @punctuation.special)
21
+ (quoted_item_extension ["{%%" "}"] @punctuation.special)
22
+
23
+ ; Keywords
24
+ ;---------
25
+
26
+ [
27
+ "and" "as" "assert" "begin" "class" "constraint" "do" "done" "downto" "effect"
28
+ "else" "end" "exception" "external" "for" "fun" "function" "functor" "if" "in"
29
+ "include" "inherit" "initializer" "lazy" "let" "match" "method" "module"
30
+ "mutable" "new" "nonrec" "object" "of" "open" "private" "rec" "sig" "struct"
31
+ "then" "to" "try" "type" "val" "virtual" "when" "while" "with"
32
+ ] @keyword
33
+
34
+ ; Operators
35
+ ;----------
36
+
37
+ [
38
+ (prefix_operator)
39
+ (sign_operator)
40
+ (pow_operator)
41
+ (mult_operator)
42
+ (add_operator)
43
+ (concat_operator)
44
+ (rel_operator)
45
+ (and_operator)
46
+ (or_operator)
47
+ (assign_operator)
48
+ (hash_operator)
49
+ (indexing_operator)
50
+ (let_operator)
51
+ (let_and_operator)
52
+ (match_operator)
53
+ ] @operator
54
+
55
+ (match_expression (match_operator) @keyword)
56
+
57
+ (value_definition [(let_operator) (let_and_operator)] @keyword)
58
+
59
+ ["*" "#" "::" "<-"] @operator
60
+
61
+ ; Constants
62
+ ;----------
63
+
64
+ (boolean) @constant
65
+
66
+ [(number) (signed_number)] @number
67
+
68
+ [(string) (character)] @string
69
+
70
+ (quoted_string "{" @string "}" @string) @string
71
+
72
+ (escape_sequence) @escape
73
+
74
+ (conversion_specification) @string.special
75
+
76
+ ; Variables
77
+ ;----------
78
+
79
+ [(value_name) (type_variable)] @variable
80
+
81
+ (value_pattern) @variable.parameter
82
+
83
+ ; Properties
84
+ ;-----------
85
+
86
+ [(label_name) (field_name) (instance_variable_name)] @property
87
+
88
+ ; Functions
89
+ ;----------
90
+
91
+ (let_binding
92
+ pattern: (value_name) @function
93
+ (parameter))
94
+
95
+ (let_binding
96
+ pattern: (value_name) @function
97
+ body: [(fun_expression) (function_expression)])
98
+
99
+ (value_specification (value_name) @function)
100
+
101
+ (external (value_name) @function)
102
+
103
+ (method_name) @function.method
104
+
105
+ (application_expression
106
+ function: (value_path (value_name) @function))
107
+
108
+ (infix_expression
109
+ left: (value_path (value_name) @function)
110
+ operator: (concat_operator) @operator
111
+ (#eq? @operator "@@"))
112
+
113
+ (infix_expression
114
+ operator: (rel_operator) @operator
115
+ right: (value_path (value_name) @function)
116
+ (#eq? @operator "|>"))
117
+
118
+ (
119
+ (value_name) @function.builtin
120
+ (#match? @function.builtin "^(raise(_notrace)?|failwith|invalid_arg)$")
121
+ )
122
+
123
+ ; Types
124
+ ;------
125
+
126
+ [(class_name) (class_type_name) (type_constructor)] @type
127
+
128
+ (
129
+ (type_constructor) @type.builtin
130
+ (#match? @type.builtin "^(int|char|bytes|string|float|bool|unit|exn|array|list|option|int32|int64|nativeint|format6|lazy_t)$")
131
+ )
132
+
133
+ [(constructor_name) (tag)] @constructor
134
+
135
+ ; Modules
136
+ ;--------
137
+
138
+ [(module_name) (module_type_name)] @module
139
+
140
+ ; Attributes
141
+ ;-----------
142
+
143
+ (attribute_id) @tag
144
+
145
+ ; Comments
146
+ ;---------
147
+
148
+ [(comment) (line_number_directive) (directive) (shebang)] @comment
@@ -0,0 +1,77 @@
1
+ ; format-ignore
2
+ [
3
+ (let_binding) ; let = ...
4
+ (type_binding)
5
+
6
+ (external)
7
+ (record_declaration) ; { foo: bar ... }
8
+ (structure) ; struct ... end
9
+ (signature) ; sig ... end
10
+ (value_specification) ; val x: bar
11
+
12
+ (do_clause) ; do ... done
13
+ (match_case)
14
+
15
+ (field_expression)
16
+ (application_expression)
17
+ (parenthesized_expression) ; ( ... )
18
+ (record_expression) ; { foo = bar ... }
19
+ (list_expression) ; [...;...]
20
+ (try_expression) ; try ... with
21
+ ] @indent.begin
22
+
23
+ ; handle if-else if-else case
24
+ (if_expression
25
+ condition: (_) @indent.begin)
26
+
27
+ (then_clause) @indent.begin
28
+
29
+ ((else_clause
30
+ (_) @_not_if) @indent.begin
31
+ (#not-kind-eq? @_not_if "if_expression"))
32
+
33
+ ((parameter) @indent.begin
34
+ (#set! indent.start_at_same_line))
35
+
36
+ (_
37
+ (ERROR) @indent.begin
38
+ (#set! indent.start_at_same_line))
39
+
40
+ (ERROR
41
+ "|" @indent.begin
42
+ (#set! indent.start_at_same_line))
43
+
44
+ (try_expression
45
+ "with" @indent.branch
46
+ [
47
+ (match_case) @indent.dedent
48
+ (match_case
49
+ [
50
+ (parenthesized_expression)
51
+ (list_expression)
52
+ ] @indent.dedent)
53
+ ])
54
+
55
+ "}" @indent.branch @indent.end
56
+
57
+ (list_expression
58
+ "]" @indent.branch)
59
+
60
+ (parenthesized_expression
61
+ ")" @indent.branch)
62
+
63
+ ";;" @indent.end
64
+
65
+ (do_clause
66
+ "done" @indent.end @indent.branch)
67
+
68
+ (structure
69
+ "end" @indent.end @indent.branch)
70
+
71
+ (signature
72
+ "end" @indent.end @indent.branch)
73
+
74
+ [
75
+ (string)
76
+ (comment)
77
+ ] @indent.auto
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))