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,78 @@
1
+ [
2
+ (lambda)
3
+ (function_definition)
4
+ (constructor_definition)
5
+ (for_statement)
6
+ (while_statement)
7
+ (if_statement)
8
+ (class_definition)
9
+ (match_statement)
10
+ (pattern_section)
11
+ (setget)
12
+ (match_body)
13
+ (set_body)
14
+ (get_body)
15
+ ] @indent.begin
16
+
17
+ [
18
+ (elif_clause)
19
+ (else_clause)
20
+ ] @indent.branch
21
+
22
+ [
23
+ (string)
24
+ (comment)
25
+ (array)
26
+ (dictionary)
27
+ (parenthesized_expression)
28
+ (ERROR)
29
+ ] @indent.auto
30
+
31
+ [
32
+ (pass_statement)
33
+ (continue_statement)
34
+ (break_statement)
35
+ (return_statement)
36
+ ] @indent.dedent
37
+
38
+ [
39
+ (ERROR
40
+ "[")
41
+ (ERROR
42
+ "(")
43
+ (ERROR
44
+ "{")
45
+ ] @indent.begin
46
+
47
+ ; This only works with expanded tabs.
48
+ ; ((parameters) @indent.align (#set! indent.open_delimiter "(") (#set! indent.close_delimiter ")"))
49
+ ; ((arguments) @indent.align (#set! indent.open_delimiter "(") (#set! indent.close_delimiter ")"))
50
+ ; The following queries either do not agree with the current body parsing or are
51
+ ; attempted workarounds. Specifically as the last statement of a body. Opening
52
+ ; a new line in between statements works well.
53
+ ;
54
+ ; The overall experience is poor, so I've opted for @indent.auto.
55
+ ;
56
+ ; The gdscript parser will need to be patched to accommodate more interactive
57
+ ; edits. As far as I can tell the parser greedily consumes whitespace
58
+ ; as a zero-width token which causes trouble when inserting indents.
59
+ ; This indents correctly with tabs.
60
+ ; (arguments) @indent.begin
61
+ ; (parameters) @indent.begin
62
+ ; (array) @indent.begin
63
+ ; (dictionary) @indent.begin
64
+ ; (parenthesized_expression) @indent.begin
65
+ ; Partial workaround for when the cursor is on the bracket character and a newline
66
+ ; is created with <o>. Without this the newline is opened with extra
67
+ ; indentation.
68
+ ; (body (_ (array "]" @indent.end) ) _)
69
+ ; Problematic behaviors occur at the last statement of a body.
70
+ ; with @dedent:
71
+ ; - [ | ] i<CR> will dedent ] to 0.
72
+ ; - [
73
+ ; ]| o will open new line at correct indentation.
74
+ ; with @auto:
75
+ ; - [ | ] i<CR> same
76
+ ; - [
77
+ ; ]| o will open new line with extra indent.
78
+ ;(body (_ (array "]" @indent.auto) ) .)
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,121 @@
1
+ ; Scopes
2
+ [
3
+ (if_statement)
4
+ (elif_clause)
5
+ (else_clause)
6
+ (for_statement)
7
+ (while_statement)
8
+ (function_definition)
9
+ (constructor_definition)
10
+ (class_definition)
11
+ (match_statement)
12
+ (pattern_section)
13
+ (lambda)
14
+ (get_body)
15
+ (set_body)
16
+ ] @local.scope
17
+
18
+ ; Parameters
19
+ (parameters
20
+ (identifier) @local.definition.parameter)
21
+
22
+ (default_parameter
23
+ (identifier) @local.definition.parameter)
24
+
25
+ (typed_parameter
26
+ (identifier) @local.definition.parameter)
27
+
28
+ (typed_default_parameter
29
+ (identifier) @local.definition.parameter)
30
+
31
+ ; Signals
32
+ ; Can gdscript 2 signals be considered fields?
33
+ (signal_statement
34
+ (name) @local.definition.field)
35
+
36
+ ; Variable Definitions
37
+ (const_statement
38
+ (name) @local.definition.constant)
39
+
40
+ ; onready and export variations are only properties.
41
+ (variable_statement
42
+ (name) @local.definition.var)
43
+
44
+ (setter) @local.reference
45
+
46
+ (getter) @local.reference
47
+
48
+ ; Function Definition
49
+ ((function_definition
50
+ (name) @local.definition.function)
51
+ (#set! definition.function.scope "parent"))
52
+
53
+ ; Lambda
54
+ ; lambda names are not accessible and are only for debugging.
55
+ (lambda
56
+ (name) @local.definition.function)
57
+
58
+ ; Source
59
+ (class_name_statement
60
+ (name) @local.definition.type)
61
+
62
+ (source
63
+ (variable_statement
64
+ (name) @local.definition.field))
65
+
66
+ (source
67
+ (onready_variable_statement
68
+ (name) @local.definition.field))
69
+
70
+ (source
71
+ (export_variable_statement
72
+ (name) @local.definition.field))
73
+
74
+ ; Class
75
+ ((class_definition
76
+ (name) @local.definition.type)
77
+ (#set! definition.type.scope "parent"))
78
+
79
+ (class_definition
80
+ (body
81
+ (variable_statement
82
+ (name) @local.definition.field)))
83
+
84
+ (class_definition
85
+ (body
86
+ (onready_variable_statement
87
+ (name) @local.definition.field)))
88
+
89
+ (class_definition
90
+ (body
91
+ (export_variable_statement
92
+ (name) @local.definition.field)))
93
+
94
+ (class_definition
95
+ (body
96
+ (signal_statement
97
+ (name) @local.definition.field)))
98
+
99
+ ; Although a script is also a class, let's only define functions in an inner class as
100
+ ; methods.
101
+ ((class_definition
102
+ (body
103
+ (function_definition
104
+ (name) @local.definition.method)))
105
+ (#set! definition.method.scope "parent"))
106
+
107
+ ; Enum
108
+ (enum_definition
109
+ (name) @local.definition.enum)
110
+
111
+ ; Repeat
112
+ (for_statement
113
+ .
114
+ (identifier) @local.definition.var)
115
+
116
+ ; Match Statement
117
+ (pattern_binding
118
+ (identifier) @local.definition.var)
119
+
120
+ ; References
121
+ (identifier) @local.reference
@@ -0,0 +1,256 @@
1
+ ; highlights.scm
2
+ [
3
+ "group_uniforms"
4
+ "uniform"
5
+ "const"
6
+ "varying"
7
+ "discard"
8
+ "render_mode"
9
+ "shader_type"
10
+ "return"
11
+ "while"
12
+ "do"
13
+ "break"
14
+ "continue"
15
+ "if"
16
+ "else"
17
+ "switch"
18
+ "case"
19
+ "default"
20
+ "struct"
21
+ "for"
22
+ ] @keyword
23
+
24
+ (parameter_qualifier) @keyword
25
+
26
+ (interpolation_specifier) @keyword
27
+
28
+ (precision_specifier) @keyword
29
+
30
+ (scope) @keyword
31
+
32
+ [
33
+ ";"
34
+ "."
35
+ ":"
36
+ ","
37
+ ] @punctuation.delimiter
38
+
39
+ [
40
+ "("
41
+ ")"
42
+ "["
43
+ "]"
44
+ "{"
45
+ "}"
46
+ ] @punctuation.bracket
47
+
48
+ [
49
+ "="
50
+ "-"
51
+ "*"
52
+ "/"
53
+ "+"
54
+ "%"
55
+ "~"
56
+ "|"
57
+ "&"
58
+ "^"
59
+ "<<"
60
+ ">>"
61
+ "<"
62
+ "<="
63
+ ">="
64
+ ">"
65
+ "=="
66
+ "!="
67
+ "!"
68
+ "&&"
69
+ "||"
70
+ "-="
71
+ "+="
72
+ "*="
73
+ "/="
74
+ "%="
75
+ "|="
76
+ "&="
77
+ "^="
78
+ ">>="
79
+ "<<="
80
+ "--"
81
+ "++"
82
+ "?"
83
+ ":"
84
+ ] @operator
85
+
86
+ (comma_expression
87
+ operator: "," @operator)
88
+
89
+ (primitive_type) @type.builtin
90
+
91
+ (type_identifier) @type
92
+
93
+ (number) @number
94
+
95
+ (boolean) @boolean
96
+
97
+ (case_statement
98
+ value: (identifier) @constant)
99
+
100
+ ; spatial
101
+ (source_file
102
+ ; only comments and preprocessor directives are allowed before a shader type so ignore shader type
103
+ ; statements in any other node
104
+ (shader_type_statement
105
+ (shader_type) @_shader_type)
106
+ (#eq? @_shader_type "spatial")
107
+ (render_mode_statement
108
+ (render_mode) @keyword)
109
+ (#any-of? @keyword
110
+ "blend_mix" "blend_add" "blend_sub" "blend_mul" "blend_premul_alpha" "depth_draw_opaque"
111
+ "depth_draw_always" "depth_draw_never" "depth_prepass_alpha" "depth_test_disabled"
112
+ "sss_mode_skin" "cull_back" "cull_front" "cull_disabled" "unshaded" "wireframe"
113
+ "debug_shadow_splits" "diffuse_burley" "diffuse_lambert" "diffuse_lambert_wrap" "diffuse_toon"
114
+ "specular_schlick_ggx" "specular_toon" "specular_disabled" "skip_vertex_transform"
115
+ "world_vertex_coords" "ensure_correct_normals" "shadows_disabled" "ambient_light_disabled"
116
+ "shadow_to_opacity" "vertex_lighting" "particle_trails" "alpha_to_coverage"
117
+ "alpha_to_coverage_and_one" "fog_disabled"))
118
+
119
+ ; canvas_item
120
+ (source_file
121
+ (shader_type_statement
122
+ (shader_type) @_shader_type)
123
+ (#eq? @_shader_type "canvas_item")
124
+ (render_mode_statement
125
+ (render_mode) @keyword)
126
+ (#any-of? @keyword
127
+ "blend_mix" "blend_add" "blend_sub" "blend_mul" "blend_premul_alpha" "blend_disabled" "unshaded"
128
+ "light_only" "skip_vertex_transform" "world_vertex_coords"))
129
+
130
+ ; particle
131
+ (source_file
132
+ (shader_type_statement
133
+ (shader_type) @_shader_type)
134
+ (#eq? @_shader_type "particle")
135
+ (render_mode_statement
136
+ (render_mode) @keyword)
137
+ (#any-of? @keyword "keep_data" "disable_force" "disable_velocity" "collision_use_scale"))
138
+
139
+ ; sky
140
+ (source_file
141
+ (shader_type_statement
142
+ (shader_type) @_shader_type)
143
+ (#eq? @_shader_type "sky")
144
+ (render_mode_statement
145
+ (render_mode) @keyword)
146
+ (#any-of? @keyword "use_half_res_pass" "use_quarter_res_pass" "disable_fog"))
147
+
148
+ ; fog has no render modes
149
+ (shader_type_statement
150
+ (shader_type) @keyword
151
+ (#any-of? @keyword "spatial" "canvas_item" "particle" "sky" "fog"))
152
+
153
+ (identifier) @variable
154
+
155
+ (struct_definition
156
+ name: (identifier) @type)
157
+
158
+ (struct_definition
159
+ (struct_fields
160
+ (field_definition
161
+ declarator: [
162
+ (identifier) @variable.member
163
+ (array_declarator
164
+ declarator: (identifier) @variable.member)
165
+ ])))
166
+
167
+ [
168
+ "#undef"
169
+ "#include"
170
+ "#if"
171
+ "#ifdef"
172
+ "#ifndef"
173
+ "#elif"
174
+ "#else"
175
+ "#endif"
176
+ "#define"
177
+ ] @keyword
178
+
179
+ (preproc_include
180
+ path: (_) @string)
181
+
182
+ (preproc_undef
183
+ argument: (identifier) @constant)
184
+
185
+ (comment) @comment
186
+
187
+ ; technically an injection site for bbcode TODO: maybe add it?
188
+ ((comment) @comment.documentation
189
+ (#match? @comment.documentation "^/\\*\\*[^/]"))
190
+
191
+ (parameter_declaration
192
+ declarator: [
193
+ (identifier) @variable.parameter
194
+ (array_declarator
195
+ declarator: (identifier) @variable.parameter)
196
+ ])
197
+
198
+ (function_definition
199
+ declarator: (identifier) @function)
200
+
201
+ (field_expression
202
+ field: (_) @property)
203
+
204
+ (call_expression
205
+ function: (identifier) @function)
206
+
207
+ (method_expression
208
+ method: (_) @function)
209
+
210
+ ((call_expression
211
+ function: (identifier) @function.builtin)
212
+ (#any-of? @function.builtin
213
+ ; taken from: https://docs.godotengine.org/en/stable/tutorials/shaders/shader_reference/shader_functions.html
214
+ ; trigonometric builtins
215
+ "radians" "degrees" "sin" "cos" "tan" "asin" "acos" "atan" "sinh" "cosh" "tanh" "asinh" "acosh"
216
+ "atanh"
217
+ ; exponential and math builtins
218
+ "pow" "exp" "exp2" "log" "log2" "sqrt" "inversesqrt" "abs" "sign" "floor" "round" "roundEven"
219
+ "trunc" "ceil" "fract" "mod" "modf" "min" "max" "clamp" "mix" "fma" "step" "smoothstep" "isnan"
220
+ "isinf" "floatBitsToInt" "floatBitsToUint" "intBitsToFloat" "uintBitsToFloat"
221
+ ; geometric builtins
222
+ "length" "distance" "dot" "cross" "normalize" "reflect" "refract" "faceforward" "matrixCompMult"
223
+ "outerProduct" "transpose" "determinant" "inverse"
224
+ ; comparison builtins
225
+ "lessThan" "greaterThan" "lessThanEqual" "equal" "notEqual" "any" "all" "not"
226
+ ; texture builtins
227
+ "textureSize" "textureQueryLod" "textureQueryLevels" "texture" "textureProj" "textureLod"
228
+ "textureProjLod" "textureGrad" "textureProjGrad" "texelFetch" "textureGather" "dFdx"
229
+ "dFdxCoarse" "dFdxFine" "dFdy" "dFdyCoarse" "dFdyFine" "fwidth" "fwidthCoarse" "fwidthFine"
230
+ ; packing unpacking builtins
231
+ "packHalf2x16" "unpackHalf2x16" "packUnorm2x16" "unpackUnorm2x16" "packSnorm2x16"
232
+ "unpackSnorm2x16" "packUnorm4x8" "unpackUnorm4x8" "packSnorm4x8" "unpackSnorm4x8"
233
+ ; bitwise builtins
234
+ "bitfieldExtract" "bitfieldInsert" "bitfieldReverse" "bitCount" "findLSB" "findMSB" "imulExtend"
235
+ "umulExtend" "uaddCarry" "usubBorrow" "ldexp" "frexp"))
236
+
237
+ ; assume all uppercase variables as constants
238
+ ((identifier) @constant
239
+ (#match? @constant "^[A-Z][A-Z_0-9]*$"))
240
+
241
+ ((identifier) @constant.builtin
242
+ (#any-of? @constant.builtin
243
+ ; common / declared in all shader types
244
+ "PI" "E" "TAU" "CURRENT_RENDERER" "RENDERER_COMPATIBILITY" "RENDERER_MOBILE"
245
+ "RENDERER_FORWARD_PLUS"; TODO: add more builtins
246
+ ))
247
+
248
+ ((identifier) @variable.builtin
249
+ (#any-of? @variable.builtin "TIME"))
250
+
251
+ (type_hint
252
+ [
253
+ (identifier) @attribute
254
+ (call_expression
255
+ function: (_) @attribute)
256
+ ])
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,24 @@
1
+ (function_definition
2
+ declarator: (identifier) @local.definition)
3
+
4
+ (declaration
5
+ declarator: (identifier) @local.definition)
6
+
7
+ (init_declarator
8
+ declarator: (identifier) @local.definition)
9
+
10
+ (array_declarator
11
+ declarator: (identifier) @local.definition)
12
+
13
+ (parameter_declaration
14
+ declarator: (identifier) @local.definition)
15
+
16
+ (expression
17
+ [
18
+ left: (identifier) @local.reference
19
+ argument: (identifier) @local.reference
20
+ ])
21
+
22
+ (expression/identifier) @local.reference
23
+
24
+ (compound_statement) @local.scope
@@ -0,0 +1,13 @@
1
+ ((function_definition
2
+ declarator: (identifier) @name) @definition.function)
3
+
4
+ ((call_expression
5
+ function: (_) @name) @reference.call)
6
+
7
+ ((method_expression
8
+ method: (identifier) @name) @reference.call)
9
+
10
+ ((struct_definition
11
+ name: (identifier) @name) @definition.class)
12
+
13
+ (((type_identifier) @name) @reference.class)
@@ -0,0 +1,2 @@
1
+ ((section) @fold
2
+ (#trim! @fold))
@@ -0,0 +1,28 @@
1
+ (section_name) @tag
2
+
3
+ ((section_name) @function.builtin
4
+ (#eq? @function.builtin "include"))
5
+
6
+ ((section_header
7
+ (section_name) @function.builtin
8
+ (subsection_name))
9
+ (#eq? @function.builtin "includeIf"))
10
+
11
+ (variable (name) @property)
12
+ [(true) (false)] @constant.builtin
13
+ (integer) @number
14
+
15
+ [(string) (subsection_name)] @string
16
+
17
+ ((string) @string.special.path
18
+ (#match? @string.special.path "^(~|./|/)"))
19
+
20
+ [
21
+ "["
22
+ "]"
23
+ "\""
24
+ ] @punctuation.bracket
25
+
26
+ "=" @punctuation.delimiter
27
+
28
+ (comment) @comment
@@ -0,0 +1,69 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((variable
5
+ (name) @_name
6
+ value: (string) @injection.content)
7
+ (#any-of? @_name "cmd" "command" "textconv" "sendmailCmd" "sendmailcmd")
8
+ (#set! injection.language "bash"))
9
+
10
+ (section
11
+ (variable
12
+ (name) @_name
13
+ value: (string) @injection.content)
14
+ (#eq? @_name "tool")
15
+ (#set! injection.language "bash"))
16
+
17
+ (section
18
+ (section_header
19
+ (section_name) @_pager)
20
+ (variable
21
+ value: (string) @injection.content)
22
+ (#eq? @_pager "pager")
23
+ (#set! injection.language "bash"))
24
+
25
+ (section
26
+ (section_header
27
+ (section_name) @_interactive)
28
+ (variable
29
+ (name) @_name
30
+ value: (string) @injection.content)
31
+ (#eq? @_interactive "interactive")
32
+ (#any-of? @_name "diffFilter" "difffilter")
33
+ (#set! injection.language "bash"))
34
+
35
+ ; https://github.com/git-lfs/git-lfs
36
+ ; git lfs install
37
+ (section
38
+ (section_header
39
+ (section_name) @_filter
40
+ (subsection_name) @_lfs)
41
+ (variable
42
+ (name) @_name
43
+ value: (string) @injection.content)
44
+ (#eq? @_filter "filter")
45
+ (#eq? @_lfs "lfs")
46
+ (#any-of? @_name "smudge" "process" "clean")
47
+ (#set! injection.language "bash"))
48
+
49
+ (section
50
+ (section_header
51
+ (section_name) @_alias)
52
+ (variable
53
+ value: (string) @injection.content)
54
+ (#eq? @_alias "alias")
55
+ (#lua-match? @injection.content "^!")
56
+ (#offset! @injection.content 0 1 0 0)
57
+ (#set! injection.language "bash"))
58
+
59
+ (section
60
+ (section_header
61
+ (section_name) @_alias)
62
+ (variable
63
+ value: (string
64
+ "\""
65
+ "\"") @injection.content)
66
+ (#eq? @_alias "alias")
67
+ (#lua-match? @injection.content "^\"!")
68
+ (#offset! @injection.content 0 2 0 -1)
69
+ (#set! injection.language "bash"))
@@ -0,0 +1,36 @@
1
+ ; a rough translation:
2
+ ; * constant.builtin - git hash
3
+ ; * constant - a git label
4
+ ; * keyword - command that acts on commits commits
5
+ ; * function - command that acts only on labels
6
+ ; * comment - discarded commentary on a command, has no effect on the rebase
7
+ ; * string - text used in the rebase operation
8
+ ; * operator - a 'switch' (used in fixup and merge), either -c or -C at time of writing
9
+
10
+ (((command) @keyword
11
+ (label) @constant.builtin
12
+ (message)? @comment)
13
+ (#match? @keyword "^(p|pick|r|reword|e|edit|s|squash|d|drop)$"))
14
+
15
+ (((command) @function
16
+ (label) @constant
17
+ (message)? @comment)
18
+ (#match? @function "^(l|label|t|reset)$"))
19
+
20
+ ((command) @keyword
21
+ (#match? @keyword "^(x|exec|b|break)$"))
22
+
23
+ (((command) @attribute
24
+ (label) @constant.builtin
25
+ (message)? @comment)
26
+ (#match? @attribute "^(f|fixup)$"))
27
+
28
+ (((command) @keyword
29
+ (label) @constant.builtin
30
+ (label) @constant
31
+ (message) @string)
32
+ (#match? @keyword "^(m|merge)$"))
33
+
34
+ (option) @operator
35
+
36
+ (comment) @comment
@@ -0,0 +1,8 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((operation
5
+ (command) @_command
6
+ (message) @injection.content)
7
+ (#set! injection.language "bash")
8
+ (#any-of? @_command "exec" "x"))