ts-wasms 1.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/README.md +33 -9
  2. package/index.d.ts +116 -0
  3. package/index.js +48 -0
  4. package/manifest.json +622 -0
  5. package/out/ada/folds.scm +15 -0
  6. package/out/ada/highlights.scm +196 -0
  7. package/out/ada/injections.scm +2 -0
  8. package/out/ada/locals.scm +33 -0
  9. package/out/ada/textobjects.scm +23 -0
  10. package/out/ada/tree-sitter-ada.wasm +0 -0
  11. package/out/angular/folds.scm +1 -0
  12. package/out/angular/highlights.scm +178 -0
  13. package/out/angular/indents.scm +16 -0
  14. package/out/angular/injections.scm +1 -0
  15. package/out/angular/locals.scm +1 -0
  16. package/out/angular/tree-sitter-angular.wasm +0 -0
  17. package/out/arduino/folds.scm +1 -0
  18. package/out/arduino/highlights.scm +48 -0
  19. package/out/arduino/indents.scm +1 -0
  20. package/out/arduino/injections.scm +1 -0
  21. package/out/arduino/locals.scm +1 -0
  22. package/out/arduino/tags.scm +5 -0
  23. package/out/arduino/tree-sitter-arduino.wasm +0 -0
  24. package/out/asm/highlights.scm +66 -0
  25. package/out/asm/injections.scm +5 -0
  26. package/out/asm/tree-sitter-asm.wasm +0 -0
  27. package/out/astro/folds.scm +1 -0
  28. package/out/astro/highlights.scm +12 -0
  29. package/out/astro/indents.scm +1 -0
  30. package/out/astro/injections.scm +27 -0
  31. package/out/astro/locals.scm +1 -0
  32. package/out/astro/tree-sitter-astro.wasm +0 -0
  33. package/out/awk/highlights.scm +122 -0
  34. package/out/awk/injections.scm +17 -0
  35. package/out/awk/tree-sitter-awk.wasm +0 -0
  36. package/out/bash/folds.scm +9 -0
  37. package/out/bash/indents.scm +32 -0
  38. package/out/bash/injections.scm +90 -0
  39. package/out/bash/locals.scm +14 -0
  40. package/out/bibtex/folds.scm +1 -0
  41. package/out/bibtex/highlights.scm +47 -0
  42. package/out/bibtex/indents.scm +8 -0
  43. package/out/bibtex/injections.scm +2 -0
  44. package/out/bibtex/locals.scm +0 -0
  45. package/out/bibtex/tags.scm +0 -0
  46. package/out/bibtex/tree-sitter-bibtex.wasm +0 -0
  47. package/out/c/folds.scm +23 -0
  48. package/out/c/indents.scm +99 -0
  49. package/out/c/injections.scm +128 -0
  50. package/out/c/locals.scm +67 -0
  51. package/out/cairo/folds.scm +26 -0
  52. package/out/cairo/highlights.scm +372 -0
  53. package/out/cairo/indents.scm +134 -0
  54. package/out/cairo/injections.scm +3 -0
  55. package/out/cairo/locals.scm +28 -0
  56. package/out/cairo/textobjects.scm +79 -0
  57. package/out/cairo/tree-sitter-cairo.wasm +0 -0
  58. package/out/clojure/folds.scm +2 -0
  59. package/out/clojure/injections.scm +2 -0
  60. package/out/clojure/locals.scm +1 -0
  61. package/out/cmake/folds.scm +8 -0
  62. package/out/cmake/highlights.scm +221 -0
  63. package/out/cmake/indents.scm +26 -0
  64. package/out/cmake/injections.scm +5 -0
  65. package/out/cmake/tree-sitter-cmake.wasm +0 -0
  66. package/out/comment/highlights.scm +49 -0
  67. package/out/comment/tree-sitter-comment.wasm +0 -0
  68. package/out/commonlisp/folds.scm +2 -0
  69. package/out/commonlisp/injections.scm +5 -0
  70. package/out/commonlisp/locals.scm +109 -0
  71. package/out/cpp/folds.scm +14 -0
  72. package/out/cpp/indents.scm +8 -0
  73. package/out/cpp/locals.scm +78 -0
  74. package/out/css/folds.scm +10 -0
  75. package/out/css/indents.scm +11 -0
  76. package/out/css/injections.scm +2 -0
  77. package/out/csv/highlights.scm +5 -0
  78. package/out/csv/tree-sitter-csv.wasm +0 -0
  79. package/out/cuda/folds.scm +1 -0
  80. package/out/cuda/highlights.scm +17 -0
  81. package/out/cuda/indents.scm +1 -0
  82. package/out/cuda/injections.scm +1 -0
  83. package/out/cuda/locals.scm +1 -0
  84. package/out/cuda/tree-sitter-cuda.wasm +0 -0
  85. package/out/d/folds.scm +4 -0
  86. package/out/d/helix-highlights.scm +241 -0
  87. package/out/d/helix-indents.scm +17 -0
  88. package/out/d/helix-injections.scm +2 -0
  89. package/out/d/helix-textobjects.scm +9 -0
  90. package/out/d/highlights.scm +259 -0
  91. package/out/d/indents.scm +17 -0
  92. package/out/d/injections.scm +2 -0
  93. package/out/d/locals.scm +79 -0
  94. package/out/d/nova-folds.scm +6 -0
  95. package/out/d/nova-highlights.scm +283 -0
  96. package/out/d/nova-symbols.scm +23 -0
  97. package/out/d/tags.scm +28 -0
  98. package/out/d/textobjects.scm +9 -0
  99. package/out/d/tree-sitter-d.wasm +0 -0
  100. package/out/dart/indents.scm +49 -0
  101. package/out/dart/injections.scm +2 -0
  102. package/out/dart/locals.scm +32 -0
  103. package/out/desktop/folds.scm +1 -0
  104. package/out/desktop/highlights.scm +91 -0
  105. package/out/desktop/injections.scm +8 -0
  106. package/out/desktop/tree-sitter-desktop.wasm +0 -0
  107. package/out/devicetree/folds.scm +1 -0
  108. package/out/devicetree/highlights.scm +78 -0
  109. package/out/devicetree/indents.scm +12 -0
  110. package/out/devicetree/injections.scm +2 -0
  111. package/out/devicetree/locals.scm +4 -0
  112. package/out/devicetree/tree-sitter-devicetree.wasm +0 -0
  113. package/out/diff/folds.scm +5 -0
  114. package/out/diff/highlights.scm +49 -0
  115. package/out/diff/injections.scm +2 -0
  116. package/out/diff/tree-sitter-diff.wasm +0 -0
  117. package/out/dockerfile/highlights.scm +58 -0
  118. package/out/dockerfile/injections.scm +12 -0
  119. package/out/dockerfile/tree-sitter-dockerfile.wasm +0 -0
  120. package/out/dtd/folds.scm +4 -0
  121. package/out/dtd/injections.scm +2 -0
  122. package/out/dtd/locals.scm +11 -0
  123. package/out/editorconfig/folds.scm +1 -0
  124. package/out/editorconfig/highlights.scm +35 -0
  125. package/out/editorconfig/injections.scm +2 -0
  126. package/out/editorconfig/tree-sitter-editorconfig.wasm +0 -0
  127. package/out/elixir/folds.scm +10 -0
  128. package/out/elixir/indents.scm +25 -0
  129. package/out/elixir/locals.scm +200 -0
  130. package/out/elm/folds.scm +14 -0
  131. package/out/erlang/folds.scm +9 -0
  132. package/out/erlang/injections.scm +2 -0
  133. package/out/fish/folds.scm +8 -0
  134. package/out/fish/highlights.scm +61 -0
  135. package/out/fish/indents.scm +18 -0
  136. package/out/fish/injections.scm +2 -0
  137. package/out/fish/locals.scm +19 -0
  138. package/out/fish/tree-sitter-fish.wasm +0 -0
  139. package/out/gdscript/folds.scm +26 -0
  140. package/out/gdscript/highlights.scm +635 -0
  141. package/out/gdscript/indents.scm +78 -0
  142. package/out/gdscript/injections.scm +2 -0
  143. package/out/gdscript/locals.scm +121 -0
  144. package/out/gdscript/tree-sitter-gdscript.wasm +0 -0
  145. package/out/gdshader/highlights.scm +256 -0
  146. package/out/gdshader/injections.scm +2 -0
  147. package/out/gdshader/locals.scm +24 -0
  148. package/out/gdshader/tags.scm +13 -0
  149. package/out/gdshader/tree-sitter-gdshader.wasm +0 -0
  150. package/out/git_config/folds.scm +2 -0
  151. package/out/git_config/highlights.scm +28 -0
  152. package/out/git_config/injections.scm +69 -0
  153. package/out/git_config/tree-sitter-git_config.wasm +0 -0
  154. package/out/git_rebase/highlights.scm +36 -0
  155. package/out/git_rebase/injections.scm +8 -0
  156. package/out/git_rebase/tree-sitter-git_rebase.wasm +0 -0
  157. package/out/gitattributes/highlights.scm +52 -0
  158. package/out/gitattributes/injections.scm +2 -0
  159. package/out/gitattributes/locals.scm +8 -0
  160. package/out/gitattributes/tree-sitter-gitattributes.wasm +0 -0
  161. package/out/gitignore/highlights.scm +36 -0
  162. package/out/gitignore/injections.scm +2 -0
  163. package/out/gitignore/tree-sitter-gitignore.wasm +0 -0
  164. package/out/gleam/folds.scm +7 -0
  165. package/out/gleam/highlights.scm +137 -0
  166. package/out/gleam/indents.scm +28 -0
  167. package/out/gleam/injections.scm +3 -0
  168. package/out/gleam/locals.scm +17 -0
  169. package/out/gleam/tags.scm +41 -0
  170. package/out/gleam/tree-sitter-gleam.wasm +0 -0
  171. package/out/glsl/folds.scm +1 -0
  172. package/out/glsl/highlights.scm +115 -0
  173. package/out/glsl/indents.scm +1 -0
  174. package/out/glsl/injections.scm +1 -0
  175. package/out/glsl/locals.scm +1 -0
  176. package/out/glsl/tree-sitter-glsl.wasm +0 -0
  177. package/out/go/folds.scm +19 -0
  178. package/out/go/indents.scm +48 -0
  179. package/out/go/injections.scm +42 -0
  180. package/out/go/locals.scm +88 -0
  181. package/out/godot_resource/folds.scm +1 -0
  182. package/out/godot_resource/highlights.scm +49 -0
  183. package/out/godot_resource/injections.scm +2 -0
  184. package/out/godot_resource/locals.scm +1 -0
  185. package/out/godot_resource/tree-sitter-godot_resource.wasm +0 -0
  186. package/out/graphql/indents.scm +11 -0
  187. package/out/graphql/injections.scm +2 -0
  188. package/out/groovy/folds.scm +6 -0
  189. package/out/groovy/highlights.scm +148 -0
  190. package/out/groovy/indents.scm +23 -0
  191. package/out/groovy/injections.scm +5 -0
  192. package/out/groovy/locals.scm +6 -0
  193. package/out/groovy/tree-sitter-groovy.wasm +0 -0
  194. package/out/haskell/folds.scm +6 -0
  195. package/out/hcl/folds.scm +6 -0
  196. package/out/hcl/indents.scm +16 -0
  197. package/out/hcl/injections.scm +6 -0
  198. package/out/html/folds.scm +5 -0
  199. package/out/html/indents.scm +1 -0
  200. package/out/html/locals.scm +1 -0
  201. package/out/ini/folds.scm +1 -0
  202. package/out/ini/highlights.scm +16 -0
  203. package/out/ini/injections.scm +3 -0
  204. package/out/ini/tree-sitter-ini.wasm +0 -0
  205. package/out/java/folds.scm +8 -0
  206. package/out/java/indents.scm +40 -0
  207. package/out/java/injections.scm +31 -0
  208. package/out/java/locals.scm +100 -0
  209. package/out/javascript/folds.scm +1 -0
  210. package/out/javascript/indents.scm +1 -0
  211. package/out/json/folds.scm +5 -0
  212. package/out/json/indents.scm +11 -0
  213. package/out/json/injections.scm +2 -0
  214. package/out/json/locals.scm +4 -0
  215. package/out/julia/folds.scm +14 -0
  216. package/out/julia/indents.scm +52 -0
  217. package/out/kdl/folds.scm +8 -0
  218. package/out/kdl/highlights.scm +58 -0
  219. package/out/kdl/indents.scm +7 -0
  220. package/out/kdl/injections.scm +4 -0
  221. package/out/kdl/locals.scm +10 -0
  222. package/out/kdl/tree-sitter-kdl.wasm +0 -0
  223. package/out/kotlin/folds.scm +13 -0
  224. package/out/kotlin/injections.scm +52 -0
  225. package/out/kotlin/locals.scm +78 -0
  226. package/out/liquid/highlights.scm +119 -0
  227. package/out/liquid/injections.scm +22 -0
  228. package/out/liquid/tree-sitter-liquid.wasm +0 -0
  229. package/out/lua/folds.scm +12 -0
  230. package/out/lua/indents.scm +47 -0
  231. package/out/markdown/folds.scm +12 -0
  232. package/out/markdown/indents.scm +1 -0
  233. package/out/matlab/folds.scm +13 -0
  234. package/out/matlab/highlights.scm +218 -0
  235. package/out/matlab/indents.scm +40 -0
  236. package/out/matlab/injections.scm +2 -0
  237. package/out/matlab/locals.scm +33 -0
  238. package/out/matlab/tree-sitter-matlab.wasm +0 -0
  239. package/out/nim/folds.scm +41 -0
  240. package/out/nim/highlights.scm +186 -0
  241. package/out/nim/injections.scm +79 -0
  242. package/out/nim/locals.scm +328 -0
  243. package/out/nim/tree-sitter-nim.wasm +0 -0
  244. package/out/nix/folds.scm +11 -0
  245. package/out/nix/indents.scm +75 -0
  246. package/out/ocaml/folds.scm +30 -0
  247. package/out/ocaml/indents.scm +77 -0
  248. package/out/ocaml/injections.scm +2 -0
  249. package/out/ocaml_interface/folds.scm +1 -0
  250. package/out/ocaml_interface/indents.scm +1 -0
  251. package/out/ocaml_interface/injections.scm +1 -0
  252. package/out/php/folds.scm +1 -0
  253. package/out/php/indents.scm +1 -0
  254. package/out/php/locals.scm +1 -0
  255. package/out/php_only/folds.scm +19 -0
  256. package/out/php_only/indents.scm +68 -0
  257. package/out/php_only/locals.scm +84 -0
  258. package/out/prisma/folds.scm +7 -0
  259. package/out/prisma/injections.scm +5 -0
  260. package/out/psv/highlights.scm +5 -0
  261. package/out/psv/tree-sitter-psv.wasm +0 -0
  262. package/out/python/folds.scm +28 -0
  263. package/out/python/indents.scm +213 -0
  264. package/out/python/injections.scm +30 -0
  265. package/out/python/locals.scm +124 -0
  266. package/out/qmljs/folds.scm +8 -0
  267. package/out/qmljs/highlights.scm +61 -0
  268. package/out/qmljs/injections.scm +1 -0
  269. package/out/qmljs/locals.scm +6 -0
  270. package/out/qmljs/tree-sitter-qmljs.wasm +0 -0
  271. package/out/query/folds.scm +6 -0
  272. package/out/query/indents.scm +25 -0
  273. package/out/query/injections.scm +28 -0
  274. package/out/query/locals.scm +21 -0
  275. package/out/r/indents.scm +33 -0
  276. package/out/r/injections.scm +2 -0
  277. package/out/racket/folds.scm +2 -0
  278. package/out/racket/injections.scm +5 -0
  279. package/out/ruby/folds.scm +12 -0
  280. package/out/ruby/indents.scm +43 -0
  281. package/out/ruby/injections.scm +34 -0
  282. package/out/rust/folds.scm +25 -0
  283. package/out/rust/indents.scm +133 -0
  284. package/out/rust/locals.scm +98 -0
  285. package/out/scala/folds.scm +16 -0
  286. package/out/scala/injections.scm +5 -0
  287. package/out/scheme/folds.scm +2 -0
  288. package/out/scheme/injections.scm +2 -0
  289. package/out/scss/folds.scm +1 -0
  290. package/out/scss/indents.scm +7 -0
  291. package/out/scss/injections.scm +2 -0
  292. package/out/solidity/folds.scm +20 -0
  293. package/out/solidity/highlights-nvim.scm +309 -0
  294. package/out/solidity/highlights.scm +217 -0
  295. package/out/solidity/injections.scm +14 -0
  296. package/out/solidity/locals.scm +9 -0
  297. package/out/solidity/tags.scm +43 -0
  298. package/out/solidity/tree-sitter-solidity.wasm +0 -0
  299. package/out/sql/folds.scm +1 -0
  300. package/out/sql/injections.scm +5 -0
  301. package/out/terraform/folds.scm +1 -0
  302. package/out/terraform/indents.scm +1 -0
  303. package/out/terraform/injections.scm +1 -0
  304. package/out/toml/folds.scm +5 -0
  305. package/out/toml/indents.scm +11 -0
  306. package/out/toml/injections.scm +2 -0
  307. package/out/toml/locals.scm +4 -0
  308. package/out/tsv/highlights.scm +4 -0
  309. package/out/tsv/tree-sitter-tsv.wasm +0 -0
  310. package/out/tsx/folds.scm +1 -0
  311. package/out/tsx/indents.scm +1 -0
  312. package/out/tsx/injections.scm +1 -0
  313. package/out/typescript/folds.scm +8 -0
  314. package/out/typescript/indents.scm +7 -0
  315. package/out/typescript/injections.scm +28 -0
  316. package/out/vim/folds.scm +4 -0
  317. package/out/vim/highlights.scm +362 -0
  318. package/out/vim/injections.scm +44 -0
  319. package/out/vim/locals.scm +19 -0
  320. package/out/vim/tree-sitter-vim.wasm +0 -0
  321. package/out/vimdoc/injections.scm +4 -0
  322. package/out/vue/folds.scm +6 -0
  323. package/out/vue/highlights.scm +54 -0
  324. package/out/vue/indents.scm +7 -0
  325. package/out/vue/injections.scm +78 -0
  326. package/out/vue/tree-sitter-vue.wasm +0 -0
  327. package/out/xml/folds.scm +5 -0
  328. package/out/xml/indents.scm +16 -0
  329. package/out/xml/injections.scm +32 -0
  330. package/out/xml/locals.scm +35 -0
  331. package/out/yaml/folds.scm +4 -0
  332. package/out/yaml/highlights.scm +79 -0
  333. package/out/yaml/indents.scm +7 -0
  334. package/out/yaml/injections.scm +81 -0
  335. package/out/yaml/locals.scm +9 -0
  336. package/out/yaml/tree-sitter-yaml.wasm +0 -0
  337. package/out/zig/locals.scm +96 -0
  338. package/package.json +65 -17
  339. /package/out/{c-sharp → c_sharp_c_sharp}/highlights.scm +0 -0
  340. /package/out/{c-sharp → c_sharp_c_sharp}/tags.scm +0 -0
  341. /package/out/{c-sharp/tree-sitter-c-sharp.wasm → c_sharp_c_sharp/tree-sitter-c_sharp_c_sharp.wasm} +0 -0
  342. /package/out/{embedded-template → embedded_template_embedded_template}/highlights.scm +0 -0
  343. /package/out/{embedded-template → embedded_template_embedded_template}/injections-ejs.scm +0 -0
  344. /package/out/{embedded-template → embedded_template_embedded_template}/injections-erb.scm +0 -0
  345. /package/out/{embedded-template → embedded_template_embedded_template}/injections-etlua.scm +0 -0
  346. /package/out/{embedded-template/tree-sitter-embedded-template.wasm → embedded_template_embedded_template/tree-sitter-embedded_template_embedded_template.wasm} +0 -0
  347. /package/out/{markdown-inline → markdown_inline}/highlights.scm +0 -0
  348. /package/out/{markdown-inline → markdown_inline}/injections.scm +0 -0
  349. /package/out/{markdown-inline/tree-sitter-markdown-inline.wasm → markdown_inline/tree-sitter-markdown_inline.wasm} +0 -0
  350. /package/out/{ocaml-interface → ocaml_interface}/highlights.scm +0 -0
  351. /package/out/{ocaml-interface → ocaml_interface}/locals.scm +0 -0
  352. /package/out/{ocaml-interface → ocaml_interface}/tags.scm +0 -0
  353. /package/out/{ocaml-interface/tree-sitter-ocaml-interface.wasm → ocaml_interface/tree-sitter-ocaml_interface.wasm} +0 -0
  354. /package/out/{ocaml-type → ocaml_type}/highlights.scm +0 -0
  355. /package/out/{ocaml-type → ocaml_type}/locals.scm +0 -0
  356. /package/out/{ocaml-type → ocaml_type}/tags.scm +0 -0
  357. /package/out/{ocaml-type/tree-sitter-ocaml-type.wasm → ocaml_type/tree-sitter-ocaml_type.wasm} +0 -0
  358. /package/out/{php-only → php_only}/highlights.scm +0 -0
  359. /package/out/{php-only → php_only}/injections-text.scm +0 -0
  360. /package/out/{php-only → php_only}/injections.scm +0 -0
  361. /package/out/{php-only → php_only}/tags.scm +0 -0
  362. /package/out/{php-only/tree-sitter-php-only.wasm → php_only/tree-sitter-php_only.wasm} +0 -0
@@ -0,0 +1,52 @@
1
+ (dir_sep) @punctuation.delimiter
2
+
3
+ (quoted_pattern
4
+ "\"" @punctuation.special)
5
+
6
+ (range_notation) @string.special
7
+
8
+ (range_notation
9
+ [ "[" "]" ] @punctuation.bracket)
10
+
11
+ (wildcard) @string.regexp
12
+
13
+ (range_negation) @operator
14
+
15
+ (character_class) @constant
16
+
17
+ (class_range "-" @operator)
18
+
19
+ [
20
+ (ansi_c_escape)
21
+ (escaped_char)
22
+ ] @escape
23
+
24
+ (attribute
25
+ (attr_name) @variable.parameter)
26
+
27
+ (attribute
28
+ (builtin_attr) @variable.builtin)
29
+
30
+ [
31
+ (attr_reset)
32
+ (attr_unset)
33
+ (attr_set)
34
+ ] @operator
35
+
36
+ (boolean_value) @boolean
37
+
38
+ (string_value) @string
39
+
40
+ (macro_tag) @keyword
41
+
42
+ (macro_def
43
+ macro_name: (_) @property)
44
+
45
+ [
46
+ (pattern_negation)
47
+ (redundant_escape)
48
+ (trailing_slash)
49
+ (ignored_value)
50
+ ] @error
51
+
52
+ (comment) @comment
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,8 @@
1
+ (macro_def
2
+ (attr_name) @local.definition.macro)
3
+
4
+ (attribute
5
+ (attr_name) @local.reference)
6
+
7
+ (attribute
8
+ (builtin_attr) @local.reference)
@@ -0,0 +1,36 @@
1
+ (comment) @comment @spell
2
+
3
+ (pattern_char) @string.special.path
4
+
5
+ [
6
+ (directory_separator)
7
+ (directory_separator_escaped)
8
+ ] @punctuation.delimiter
9
+
10
+ [
11
+ (wildcard_char_single)
12
+ (wildcard_chars)
13
+ (wildcard_chars_allow_slash)
14
+ ] @character.special
15
+
16
+ [
17
+ (pattern_char_escaped)
18
+ (bracket_char_escaped)
19
+ ] @string.escape
20
+
21
+ (negation) @punctuation.special
22
+
23
+ (bracket_negation) @operator
24
+
25
+ ; bracket expressions
26
+ [
27
+ "["
28
+ "]"
29
+ ] @punctuation.bracket
30
+
31
+ (bracket_char) @constant
32
+
33
+ (bracket_range
34
+ "-" @operator)
35
+
36
+ (bracket_char_class) @constant.builtin
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,7 @@
1
+ ; Folds
2
+ [
3
+ (case)
4
+ (function)
5
+ (anonymous_function)
6
+ (type_definition)
7
+ ] @fold
@@ -0,0 +1,137 @@
1
+ ; Punctuation
2
+ [
3
+ "("
4
+ ")"
5
+ "["
6
+ "]"
7
+ "{"
8
+ "}"
9
+ "<<"
10
+ ">>"
11
+ ] @punctuation.bracket
12
+ [
13
+ "."
14
+ ","
15
+ ;; Controversial -- maybe some are operators?
16
+ ":"
17
+ "#"
18
+ "="
19
+ "->"
20
+ ".."
21
+ "-"
22
+ "<-"
23
+ ] @punctuation.delimiter
24
+
25
+ ; Variables
26
+ (identifier) @variable
27
+ (discard) @comment.unused
28
+
29
+ ; Comments
30
+ (module_comment) @comment
31
+ (statement_comment) @comment
32
+ (comment) @comment
33
+
34
+ ; Constants
35
+ (constant
36
+ name: (identifier) @constant)
37
+
38
+ ; "Properties"
39
+ ; Assumed to be intended to refer to a name for a field; something that comes
40
+ ; before ":" or after "."
41
+ ; e.g. record field names, tuple indices, names for named arguments, etc
42
+ (label) @property
43
+ (tuple_access
44
+ index: (integer) @property)
45
+
46
+ ; Modules
47
+ (module) @module
48
+ (import alias: (identifier) @module)
49
+ (remote_type_identifier
50
+ module: (identifier) @module)
51
+ (remote_constructor_name
52
+ module: (identifier) @module)
53
+
54
+ ; Functions
55
+ (unqualified_import (identifier) @function)
56
+ (unqualified_import "type" (type_identifier) @type)
57
+ (unqualified_import (type_identifier) @constructor)
58
+ (function
59
+ name: (identifier) @function)
60
+ (external_function
61
+ name: (identifier) @function)
62
+ (function_parameter
63
+ name: (identifier) @variable.parameter)
64
+ ((function_call
65
+ function: (identifier) @function)
66
+ (#is-not? local))
67
+ ((binary_expression
68
+ operator: "|>"
69
+ right: (identifier) @function)
70
+ (#is-not? local))
71
+
72
+ ; TODO: `#is-not? local` applies to entire patterns but ideally it would accept
73
+ ; a capture to check as a local. This needs to be suggested upstream. Until this
74
+ ; is a part of the CLI's highlighter we can't distinguish between function calls
75
+ ; on modules and accesses of record fields.
76
+ (function_call function: (field_access field: (label) @function)) ; Ideally this pattern would be removed,
77
+ ((field_access
78
+ record: (identifier) @module)
79
+ ; field: (label) @function) ; this line would be uncommented,
80
+ (#is-not? local)) ; and this line would be `(#is-not? local @module)`.
81
+
82
+ ; Attributes
83
+ (attribute
84
+ "@" @attribute
85
+ name: (identifier) @attribute)
86
+
87
+ (attribute_value (identifier) @constant)
88
+
89
+ ; Type names
90
+ (remote_type_identifier) @type
91
+ (type_identifier) @type
92
+
93
+ ; Data constructors
94
+ (constructor_name) @constructor
95
+
96
+ ; Literals
97
+ (string) @string
98
+ (escape_sequence) @string.escape
99
+ ((escape_sequence) @warning
100
+ ; Deprecated in v0.33.0-rc2:
101
+ (#eq? @warning "\\e"))
102
+ (bit_array_segment_option) @function.builtin
103
+ (integer) @number
104
+ (float) @number
105
+
106
+ ; Reserved identifiers
107
+ ; TODO: when tree-sitter supports `#any-of?` in the Rust bindings,
108
+ ; refactor this to use `#any-of?` rather than `#match?`
109
+ ((identifier) @error
110
+ (#any-of? @error "auto" "delegate" "derive" "else" "implement" "macro" "test"))
111
+
112
+ ; Keywords
113
+ [
114
+ (visibility_modifier) ; "pub"
115
+ (opacity_modifier) ; "opaque"
116
+ "as"
117
+ "assert"
118
+ "case"
119
+ "const"
120
+ "echo"
121
+ ; DEPRECATED: 'external' was removed in v0.30.
122
+ "external"
123
+ "fn"
124
+ "if"
125
+ "import"
126
+ "let"
127
+ "panic"
128
+ "todo"
129
+ "type"
130
+ "use"
131
+ ] @keyword
132
+
133
+ ; Operators
134
+ (binary_expression
135
+ operator: _ @operator)
136
+ (boolean_negation "!" @operator)
137
+ (integer_negation "-" @operator)
@@ -0,0 +1,28 @@
1
+ ; Gleam indents similar to Rust and JavaScript
2
+ [
3
+ (anonymous_function)
4
+ (assert)
5
+ (case)
6
+ (case_clause)
7
+ (constant)
8
+ (external_function)
9
+ (function)
10
+ (let)
11
+ (list)
12
+ (type_definition)
13
+ (type_alias)
14
+ (todo)
15
+ (tuple)
16
+ (unqualified_imports)
17
+ ] @indent.begin
18
+
19
+ [
20
+ ")"
21
+ "]"
22
+ "}"
23
+ ] @indent.end @indent.branch
24
+
25
+ ; Gleam pipelines are not indented, but other binary expression chains are
26
+ ((binary_expression
27
+ operator: _ @_operator) @indent.begin
28
+ (#not-eq? @_operator "|>"))
@@ -0,0 +1,3 @@
1
+ ((doc_comment_content) @injection.content
2
+ (#set! injection.language "markdown")
3
+ (#set! injection.combined))
@@ -0,0 +1,17 @@
1
+ ; Scopes
2
+ (block) @local.scope
3
+
4
+ (function) @local.scope
5
+
6
+ (case_clause) @local.scope
7
+
8
+ ; Definitions
9
+ (let pattern: (identifier) @local.definition)
10
+ (function_parameter name: (identifier) @local.definition)
11
+ (list_pattern (identifier) @local.definition)
12
+ (list_pattern assign: (identifier) @local.definition)
13
+ (tuple_pattern (identifier) @local.definition)
14
+ (record_pattern_argument pattern: (identifier) @local.definition)
15
+
16
+ ; References
17
+ (identifier) @local.reference
@@ -0,0 +1,41 @@
1
+ ; Modules
2
+ (module) @name @reference.module
3
+ (import alias: (identifier) @name) @reference.module
4
+ (remote_type_identifier
5
+ module: (identifier) @name) @reference.module
6
+ ((field_access
7
+ record: (identifier) @name)
8
+ (#is-not? local)) @reference.module
9
+
10
+ ; Functions
11
+ (function
12
+ name: (identifier) @name) @definition.function
13
+ (external_function
14
+ name: (identifier) @name) @definition.function
15
+ (unqualified_import (identifier) @name) @reference.function
16
+ ((function_call
17
+ function: (identifier) @name) @reference.function
18
+ (#is-not? local))
19
+ ((field_access
20
+ record: (identifier) @ignore
21
+ field: (label) @name)
22
+ (#is-not? local)) @reference.function
23
+ ((binary_expression
24
+ operator: "|>"
25
+ right: (identifier) @name)
26
+ (#is-not? local)) @reference.function
27
+
28
+ ; Types
29
+ (type_definition
30
+ (type_name
31
+ name: (type_identifier) @name)) @definition.type
32
+ (type_definition
33
+ (data_constructors
34
+ (data_constructor
35
+ name: (constructor_name) @name))) @definition.constructor
36
+ (external_type
37
+ (type_name
38
+ name: (type_identifier) @name)) @definition.type
39
+
40
+ (type_identifier) @name @reference.type
41
+ (constructor_name) @name @reference.constructor
Binary file
@@ -0,0 +1 @@
1
+ ; inherits: c
@@ -0,0 +1,115 @@
1
+ "break" @keyword
2
+ "case" @keyword
3
+ "const" @keyword
4
+ "continue" @keyword
5
+ "default" @keyword
6
+ "do" @keyword
7
+ "else" @keyword
8
+ "enum" @keyword
9
+ "extern" @keyword
10
+ "for" @keyword
11
+ "if" @keyword
12
+ "inline" @keyword
13
+ "return" @keyword
14
+ "sizeof" @keyword
15
+ "static" @keyword
16
+ "struct" @keyword
17
+ "switch" @keyword
18
+ "typedef" @keyword
19
+ "union" @keyword
20
+ "volatile" @keyword
21
+ "while" @keyword
22
+
23
+ "#define" @keyword
24
+ "#elif" @keyword
25
+ "#else" @keyword
26
+ "#endif" @keyword
27
+ "#if" @keyword
28
+ "#ifdef" @keyword
29
+ "#ifndef" @keyword
30
+ "#include" @keyword
31
+ (preproc_directive) @keyword
32
+
33
+ "--" @operator
34
+ "-" @operator
35
+ "-=" @operator
36
+ "->" @operator
37
+ "=" @operator
38
+ "!=" @operator
39
+ "*" @operator
40
+ "&" @operator
41
+ "&&" @operator
42
+ "+" @operator
43
+ "++" @operator
44
+ "+=" @operator
45
+ "<" @operator
46
+ "==" @operator
47
+ ">" @operator
48
+ "||" @operator
49
+
50
+ "." @delimiter
51
+ ";" @delimiter
52
+
53
+ (string_literal) @string
54
+ (system_lib_string) @string
55
+
56
+ (null) @constant
57
+ (number_literal) @number
58
+ (char_literal) @number
59
+
60
+ (call_expression
61
+ function: (identifier) @function)
62
+ (call_expression
63
+ function: (field_expression
64
+ field: (field_identifier) @function))
65
+ (function_declarator
66
+ declarator: (identifier) @function)
67
+ (preproc_function_def
68
+ name: (identifier) @function.special)
69
+
70
+ (field_identifier) @property
71
+ (statement_identifier) @label
72
+ (type_identifier) @type
73
+ (primitive_type) @type
74
+ (sized_type_specifier) @type
75
+
76
+ ((identifier) @constant
77
+ (#match? @constant "^[A-Z][A-Z\\d_]*$"))
78
+
79
+ (identifier) @variable
80
+
81
+ (comment) @comment
82
+ ; inherits: c
83
+ [
84
+ "in"
85
+ "out"
86
+ "inout"
87
+ "uniform"
88
+ "shared"
89
+ "layout"
90
+ "attribute"
91
+ "varying"
92
+ "buffer"
93
+ "coherent"
94
+ "readonly"
95
+ "writeonly"
96
+ "precision"
97
+ "highp"
98
+ "mediump"
99
+ "lowp"
100
+ "centroid"
101
+ "sample"
102
+ "patch"
103
+ "smooth"
104
+ "flat"
105
+ "noperspective"
106
+ "invariant"
107
+ "precise"
108
+ ] @type.qualifier
109
+
110
+ "subroutine" @keyword.function
111
+
112
+ (extension_storage_class) @keyword.storage
113
+
114
+ ((identifier) @variable.builtin
115
+ (#lua-match? @variable.builtin "^gl_"))
@@ -0,0 +1 @@
1
+ ; inherits: c
@@ -0,0 +1 @@
1
+ ; inherits: c
@@ -0,0 +1 @@
1
+ ; inherits: c
Binary file
@@ -0,0 +1,19 @@
1
+ [
2
+ (const_declaration)
3
+ (expression_switch_statement)
4
+ (expression_case)
5
+ (default_case)
6
+ (type_switch_statement)
7
+ (type_case)
8
+ (for_statement)
9
+ (func_literal)
10
+ (function_declaration)
11
+ (if_statement)
12
+ (import_declaration)
13
+ (method_declaration)
14
+ (type_declaration)
15
+ (var_declaration)
16
+ (composite_literal)
17
+ (literal_element)
18
+ (block)
19
+ ] @fold
@@ -0,0 +1,48 @@
1
+ [
2
+ (import_declaration)
3
+ (const_declaration)
4
+ (var_declaration)
5
+ (type_declaration)
6
+ (func_literal)
7
+ (literal_value)
8
+ (expression_case)
9
+ (communication_case)
10
+ (type_case)
11
+ (default_case)
12
+ (block)
13
+ (call_expression)
14
+ (parameter_list)
15
+ (field_declaration_list)
16
+ (interface_type)
17
+ ] @indent.begin
18
+
19
+ (literal_value
20
+ "}" @indent.branch)
21
+
22
+ (block
23
+ "}" @indent.branch)
24
+
25
+ (field_declaration_list
26
+ "}" @indent.branch)
27
+
28
+ (interface_type
29
+ "}" @indent.branch)
30
+
31
+ (const_declaration
32
+ ")" @indent.branch)
33
+
34
+ (import_spec_list
35
+ ")" @indent.branch)
36
+
37
+ (var_spec_list
38
+ ")" @indent.branch)
39
+
40
+ [
41
+ "}"
42
+ ")"
43
+ ] @indent.end
44
+
45
+ (parameter_list
46
+ ")" @indent.branch)
47
+
48
+ (comment) @indent.ignore
@@ -0,0 +1,42 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ (call_expression
5
+ (selector_expression) @_function
6
+ (#any-of? @_function
7
+ "regexp.Match" "regexp.MatchReader" "regexp.MatchString" "regexp.Compile" "regexp.CompilePOSIX"
8
+ "regexp.MustCompile" "regexp.MustCompilePOSIX")
9
+ (argument_list
10
+ .
11
+ [
12
+ (raw_string_literal
13
+ (raw_string_literal_content) @injection.content)
14
+ (interpreted_string_literal
15
+ (interpreted_string_literal_content) @injection.content)
16
+ ]
17
+ (#set! injection.language "regex")))
18
+
19
+ ((comment) @injection.content
20
+ (#match? @injection.content "/\\*!([a-zA-Z]+:)?re2c")
21
+ (#set! injection.language "re2c"))
22
+
23
+ ((call_expression
24
+ function: (selector_expression
25
+ field: (field_identifier) @_method)
26
+ arguments: (argument_list
27
+ .
28
+ (interpreted_string_literal
29
+ (interpreted_string_literal_content) @injection.content)))
30
+ (#any-of? @_method "Printf" "Sprintf" "Fatalf" "Scanf" "Errorf" "Skipf" "Logf")
31
+ (#set! injection.language "printf"))
32
+
33
+ ((call_expression
34
+ function: (selector_expression
35
+ field: (field_identifier) @_method)
36
+ arguments: (argument_list
37
+ (_)
38
+ .
39
+ (interpreted_string_literal
40
+ (interpreted_string_literal_content) @injection.content)))
41
+ (#any-of? @_method "Fprintf" "Fscanf" "Appendf" "Sscanf")
42
+ (#set! injection.language "printf"))
@@ -0,0 +1,88 @@
1
+ ((function_declaration
2
+ name: (identifier) @local.definition.function) ; @function
3
+ )
4
+
5
+ ((method_declaration
6
+ name: (field_identifier) @local.definition.method) ; @function.method
7
+ )
8
+
9
+ (short_var_declaration
10
+ left: (expression_list
11
+ (identifier) @local.definition.var))
12
+
13
+ (var_spec
14
+ name: (identifier) @local.definition.var)
15
+
16
+ (parameter_declaration
17
+ (identifier) @local.definition.var)
18
+
19
+ (variadic_parameter_declaration
20
+ (identifier) @local.definition.var)
21
+
22
+ (for_statement
23
+ (range_clause
24
+ left: (expression_list
25
+ (identifier) @local.definition.var)))
26
+
27
+ (const_declaration
28
+ (const_spec
29
+ name: (identifier) @local.definition.var))
30
+
31
+ (type_declaration
32
+ (type_spec
33
+ name: (type_identifier) @local.definition.type))
34
+
35
+ ; reference
36
+ (identifier) @local.reference
37
+
38
+ (type_identifier) @local.reference
39
+
40
+ (field_identifier) @local.reference
41
+
42
+ ((package_identifier) @local.reference
43
+ (#set! reference.kind "namespace"))
44
+
45
+ (package_clause
46
+ (package_identifier) @local.definition.namespace)
47
+
48
+ (import_spec_list
49
+ (import_spec
50
+ name: (package_identifier) @local.definition.namespace))
51
+
52
+ ; Call references
53
+ ((call_expression
54
+ function: (identifier) @local.reference)
55
+ (#set! reference.kind "call"))
56
+
57
+ ((call_expression
58
+ function: (selector_expression
59
+ field: (field_identifier) @local.reference))
60
+ (#set! reference.kind "call"))
61
+
62
+ ((call_expression
63
+ function: (parenthesized_expression
64
+ (identifier) @local.reference))
65
+ (#set! reference.kind "call"))
66
+
67
+ ((call_expression
68
+ function: (parenthesized_expression
69
+ (selector_expression
70
+ field: (field_identifier) @local.reference)))
71
+ (#set! reference.kind "call"))
72
+
73
+ ; Scopes
74
+ (func_literal) @local.scope
75
+
76
+ (source_file) @local.scope
77
+
78
+ (function_declaration) @local.scope
79
+
80
+ (if_statement) @local.scope
81
+
82
+ (block) @local.scope
83
+
84
+ (expression_switch_statement) @local.scope
85
+
86
+ (for_statement) @local.scope
87
+
88
+ (method_declaration) @local.scope
@@ -0,0 +1 @@
1
+ (section) @fold