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,5 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((block_comment) @injection.content
5
+ (#set! injection.language "comment"))
@@ -0,0 +1,2 @@
1
+ (program
2
+ (list) @fold)
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1 @@
1
+ ; inherits: css
@@ -0,0 +1,7 @@
1
+ ; inherits: css
2
+
3
+ [
4
+ (mixin_statement)
5
+ (while_statement)
6
+ (each_statement)
7
+ ] @indent.begin
@@ -0,0 +1,2 @@
1
+ ((single_line_comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,20 @@
1
+ [
2
+ (error_declaration)
3
+ (contract_body)
4
+ (struct_declaration)
5
+ (enum_declaration)
6
+ (event_definition)
7
+ (assembly_statement)
8
+ (block_statement)
9
+ (if_statement)
10
+ (for_statement)
11
+ (while_statement)
12
+ (yul_block)
13
+ (function_body)
14
+ (call_expression)
15
+ (inline_array_expression)
16
+ (tuple_expression)
17
+ (struct_expression)
18
+ (comment)
19
+ (emit_statement)
20
+ ] @fold
@@ -0,0 +1,309 @@
1
+ ; Pragma
2
+ [
3
+ "pragma"
4
+ "solidity"
5
+ ] @keyword.directive
6
+
7
+ (solidity_pragma_token
8
+ "||" @string.special.symbol)
9
+
10
+ (solidity_pragma_token
11
+ "-" @string.special.symbol)
12
+
13
+ (solidity_version_comparison_operator) @operator
14
+
15
+ (solidity_version) @string.special
16
+
17
+ ; Literals
18
+ [
19
+ (string)
20
+ (yul_string_literal)
21
+ ] @string
22
+
23
+ (hex_string_literal
24
+ "hex" @string.special.symbol
25
+ (_) @string)
26
+
27
+ (unicode_string_literal
28
+ "unicode" @string.special.symbol
29
+ (_) @string)
30
+
31
+ [
32
+ (number_literal)
33
+ (yul_decimal_number)
34
+ (yul_hex_number)
35
+ ] @number
36
+
37
+ (yul_boolean) @boolean
38
+
39
+ ; Variables
40
+ [
41
+ (identifier)
42
+ (yul_identifier)
43
+ ] @variable
44
+
45
+ ; Types
46
+ (type_name
47
+ (identifier) @type)
48
+
49
+ (type_name
50
+ (user_defined_type
51
+ (identifier) @type))
52
+
53
+ (type_name
54
+ "mapping" @function.builtin)
55
+
56
+ [
57
+ (primitive_type)
58
+ (number_unit)
59
+ ] @type.builtin
60
+
61
+ (contract_declaration
62
+ name: (identifier) @type)
63
+
64
+ (struct_declaration
65
+ name: (identifier) @type)
66
+
67
+ (struct_member
68
+ name: (identifier) @variable.member)
69
+
70
+ (enum_declaration
71
+ name: (identifier) @type)
72
+
73
+ (emit_statement
74
+ .
75
+ (expression (identifier)) @type)
76
+
77
+ ; Handles ContractA, ContractB in function foo() override(ContractA, contractB) {}
78
+ (override_specifier
79
+ (user_defined_type) @type)
80
+
81
+ ; Functions and parameters
82
+ (function_definition
83
+ name: (identifier) @function)
84
+
85
+ (modifier_definition
86
+ name: (identifier) @function)
87
+
88
+ (yul_evm_builtin) @function.builtin
89
+
90
+ ; Use constructor coloring for special functions
91
+ (constructor_definition
92
+ "constructor" @constructor)
93
+
94
+ (modifier_invocation
95
+ (identifier) @function)
96
+
97
+ ; Handles expressions like structVariable.g();
98
+ (call_expression
99
+ .
100
+ (expression(member_expression
101
+ (identifier) @function.method.call)))
102
+
103
+ ; Handles expressions like g();
104
+ (call_expression
105
+ .
106
+ (expression (identifier) @function.call))
107
+
108
+ ; Function parameters
109
+ (event_parameter
110
+ name: (_) @variable.parameter)
111
+
112
+ (parameter
113
+ name: (_) @variable.parameter)
114
+
115
+ ; Yul functions
116
+ (yul_function_call
117
+ function: (yul_identifier) @function.call)
118
+
119
+ ; Yul function parameters
120
+ (yul_function_definition
121
+ .
122
+ (yul_identifier) @function
123
+ (yul_identifier) @variable.parameter)
124
+
125
+ (meta_type_expression
126
+ "type" @keyword)
127
+
128
+ (member_expression
129
+ property: (_) @variable.member)
130
+
131
+ (call_struct_argument
132
+ name: (_) @variable.member)
133
+
134
+ (struct_field_assignment
135
+ name: (identifier) @variable.member)
136
+
137
+ (enum_value) @constant
138
+
139
+ ; Keywords
140
+ [
141
+ "contract"
142
+ "abstract"
143
+ "interface"
144
+ "library"
145
+ "is"
146
+ "struct"
147
+ "enum"
148
+ "event"
149
+ "assembly"
150
+ "emit"
151
+ "override"
152
+ "modifier"
153
+ "var"
154
+ "let"
155
+ "emit"
156
+ "error"
157
+ "fallback"
158
+ "receive"
159
+ (virtual)
160
+ ] @keyword
161
+
162
+ ; FIXME: update grammar
163
+ ; (block_statement "unchecked" @keyword)
164
+ (event_parameter
165
+ "indexed" @keyword)
166
+
167
+ [
168
+ "public"
169
+ "internal"
170
+ "private"
171
+ "external"
172
+ "pure"
173
+ "view"
174
+ "payable"
175
+ (immutable)
176
+ ] @keyword.modifier
177
+
178
+ [
179
+ "memory"
180
+ "storage"
181
+ "calldata"
182
+ "constant"
183
+ ] @keyword.modifier
184
+
185
+ [
186
+ "for"
187
+ "while"
188
+ "do"
189
+ "break"
190
+ "continue"
191
+ ] @keyword.repeat
192
+
193
+ [
194
+ "if"
195
+ "else"
196
+ "switch"
197
+ "case"
198
+ "default"
199
+ ] @keyword.conditional
200
+
201
+ (ternary_expression
202
+ "?" @keyword.conditional.ternary
203
+ ":" @keyword.conditional.ternary)
204
+
205
+ [
206
+ "try"
207
+ "catch"
208
+ "revert"
209
+ ] @keyword.exception
210
+
211
+ [
212
+ "return"
213
+ "returns"
214
+ (yul_leave)
215
+ ] @keyword.return
216
+
217
+ "function" @keyword.function
218
+
219
+ [
220
+ "import"
221
+ "using"
222
+ ] @keyword.import
223
+
224
+ (import_directive
225
+ "as" @keyword.import)
226
+
227
+ (import_directive
228
+ "from" @keyword.import)
229
+
230
+ ((import_directive
231
+ source: (string) @string.special.path)
232
+ (#offset! @string.special.path 0 1 0 -1))
233
+
234
+ ; Punctuation
235
+ [
236
+ "{"
237
+ "}"
238
+ ] @punctuation.bracket
239
+
240
+ [
241
+ "["
242
+ "]"
243
+ ] @punctuation.bracket
244
+
245
+ [
246
+ "("
247
+ ")"
248
+ ] @punctuation.bracket
249
+
250
+ [
251
+ "."
252
+ ","
253
+ ":"
254
+ ; FIXME: update grammar
255
+ ; (semicolon)
256
+ "->"
257
+ "=>"
258
+ ] @punctuation.delimiter
259
+
260
+ ; Operators
261
+ [
262
+ "&&"
263
+ "||"
264
+ ">>"
265
+ "<<"
266
+ "&"
267
+ "^"
268
+ "|"
269
+ "+"
270
+ "-"
271
+ "*"
272
+ "/"
273
+ "%"
274
+ "**"
275
+ "="
276
+ "<"
277
+ "<="
278
+ "=="
279
+ "!="
280
+ ">="
281
+ ">"
282
+ "!"
283
+ "~"
284
+ "-"
285
+ "+"
286
+ "++"
287
+ "--"
288
+ ":="
289
+ ] @operator
290
+
291
+ [
292
+ "delete"
293
+ "new"
294
+ ] @keyword.operator
295
+
296
+ (import_directive
297
+ "*" @character.special)
298
+
299
+ ; Comments
300
+ (comment) @comment @spell
301
+
302
+ ((comment) @comment.documentation
303
+ (#lua-match? @comment.documentation "^///[^/]"))
304
+
305
+ ((comment) @comment.documentation
306
+ (#lua-match? @comment.documentation "^///$"))
307
+
308
+ ((comment) @comment.documentation
309
+ (#lua-match? @comment.documentation "^/[*][*][^*].*[*]/$"))
@@ -0,0 +1,217 @@
1
+ ; identifiers
2
+ ; -----------
3
+ (identifier) @variable
4
+ (yul_identifier) @variable
5
+
6
+ ; Pragma
7
+ (pragma_directive) @tag
8
+ (solidity_version_comparison_operator _ @tag)
9
+
10
+ ; Literals
11
+ ; --------
12
+
13
+ [
14
+ (string)
15
+ (hex_string_literal)
16
+ (unicode_string_literal)
17
+ (yul_string_literal)
18
+ ] @string
19
+ [
20
+ (number_literal)
21
+ (yul_decimal_number)
22
+ (yul_hex_number)
23
+ ] @number
24
+ [
25
+ (true)
26
+ (false)
27
+ ] @constant.builtin
28
+
29
+ (comment) @comment
30
+
31
+ ; Definitions and references
32
+ ; -----------
33
+
34
+ (type_name) @type
35
+ (primitive_type) @type
36
+ (user_defined_type (identifier) @type)
37
+
38
+ (payable_conversion_expression "payable" @type)
39
+ ; Ensures that delimiters in mapping( ... => .. ) are not colored like types
40
+ (type_name "(" @punctuation.bracket "=>" @punctuation.delimiter ")" @punctuation.bracket)
41
+
42
+ ; Definitions
43
+ (struct_declaration
44
+ name: (identifier) @type)
45
+ (enum_declaration
46
+ name: (identifier) @type)
47
+ (contract_declaration
48
+ name: (identifier) @type)
49
+ (library_declaration
50
+ name: (identifier) @type)
51
+ (interface_declaration
52
+ name: (identifier) @type)
53
+ (event_definition
54
+ name: (identifier) @type)
55
+
56
+ (function_definition
57
+ name: (identifier) @function)
58
+
59
+ (modifier_definition
60
+ name: (identifier) @function)
61
+ (yul_evm_builtin) @function.builtin
62
+
63
+ ; Use constructor coloring for special functions
64
+ (constructor_definition "constructor" @constructor)
65
+ (fallback_receive_definition "receive" @constructor)
66
+ (fallback_receive_definition "fallback" @constructor)
67
+
68
+ (struct_member name: (identifier) @property)
69
+ (enum_value) @constant
70
+
71
+ ; Invocations
72
+ (emit_statement . (_) @type)
73
+ (modifier_invocation (identifier) @function)
74
+
75
+ (call_expression . (_(member_expression property: (_) @function.method)))
76
+ (call_expression . (expression(identifier)) @function)
77
+
78
+ ; Function parameters
79
+ (call_struct_argument name: (_) @field)
80
+ (event_parameter name: (identifier) @parameter)
81
+ (parameter name: (identifier) @variable.parameter)
82
+
83
+ ; Yul functions
84
+ (yul_function_call function: (yul_identifier) @function)
85
+ (yul_function_definition . (yul_identifier) @function (yul_identifier) @parameter)
86
+
87
+
88
+ ; Structs and members
89
+ (member_expression property: (identifier) @property)
90
+ (struct_expression type: ((expression(identifier)) @type .))
91
+ (struct_field_assignment name: (identifier) @property)
92
+
93
+
94
+ ; Tokens
95
+ ; -------
96
+
97
+ ; Keywords
98
+ (meta_type_expression "type" @keyword)
99
+ ; Keywords
100
+ [
101
+ "layout"
102
+ "pragma"
103
+ "contract"
104
+ "abstract"
105
+ "interface"
106
+ "library"
107
+ "is"
108
+ "struct"
109
+ "enum"
110
+ "event"
111
+ "using"
112
+ "assembly"
113
+ "emit"
114
+ "public"
115
+ "internal"
116
+ "private"
117
+ "external"
118
+ "pure"
119
+ "view"
120
+ "payable"
121
+ "modifier"
122
+ "memory"
123
+ "storage"
124
+ "calldata"
125
+ "var"
126
+ "constant"
127
+ (virtual)
128
+ (override_specifier)
129
+ (yul_leave)
130
+ ] @keyword
131
+
132
+ [
133
+ "for"
134
+ "while"
135
+ "do"
136
+ ] @repeat
137
+
138
+ [
139
+ "break"
140
+ "continue"
141
+ "if"
142
+ "else"
143
+ "switch"
144
+ "case"
145
+ "default"
146
+ ] @conditional
147
+
148
+ [
149
+ "try"
150
+ "catch"
151
+ ] @exception
152
+
153
+ [
154
+ "return"
155
+ "returns"
156
+ ] @keyword.return
157
+
158
+ "function" @keyword.function
159
+
160
+ "import" @include
161
+ (import_directive "as" @include)
162
+ (import_directive "from" @include)
163
+
164
+ (event_parameter "indexed" @keyword)
165
+
166
+ ; Punctuation
167
+
168
+ [
169
+ "("
170
+ ")"
171
+ "["
172
+ "]"
173
+ "{"
174
+ "}"
175
+ ] @punctuation.bracket
176
+
177
+
178
+ [
179
+ "."
180
+ ","
181
+ ] @punctuation.delimiter
182
+
183
+
184
+ ; Operators
185
+
186
+ [
187
+ "&&"
188
+ "||"
189
+ ">>"
190
+ "<<"
191
+ "&"
192
+ "^"
193
+ "|"
194
+ "+"
195
+ "-"
196
+ "*"
197
+ "/"
198
+ "%"
199
+ "**"
200
+ "<"
201
+ "<="
202
+ "=="
203
+ "!="
204
+ ">="
205
+ ">"
206
+ "!"
207
+ "~"
208
+ "-"
209
+ "+"
210
+ "++"
211
+ "--"
212
+ ] @operator
213
+
214
+ [
215
+ "delete"
216
+ "new"
217
+ ] @keyword.operator
@@ -0,0 +1,14 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((comment) @injection.content
5
+ (#lua-match? @injection.content "^///[^/]")
6
+ (#set! injection.language "doxygen"))
7
+
8
+ ((comment) @injection.content
9
+ (#lua-match? @injection.content "^///$")
10
+ (#set! injection.language "doxygen"))
11
+
12
+ ((comment) @injection.content
13
+ (#lua-match? @injection.content "^/[*][*][^*].*[*]/$")
14
+ (#set! injection.language "doxygen"))
@@ -0,0 +1,9 @@
1
+ (function_definition) @local.scope
2
+ (block_statement) @local.scope
3
+
4
+ (function_definition (parameter name: (_) @local.definition))
5
+
6
+ ; still have to support tuple assignments
7
+ (assignment_expression left: (_) @local.definition)
8
+
9
+ (identifier) @local.reference
@@ -0,0 +1,43 @@
1
+ ;; Method and Function declarations
2
+ (contract_declaration (_
3
+ (function_definition
4
+ name: (identifier) @name) @definition.method))
5
+
6
+ (source_file
7
+ (function_definition
8
+ name: (identifier) @name) @definition.function)
9
+
10
+ ;; Contract, struct, enum and interface declarations
11
+ (contract_declaration
12
+ name: (identifier) @name) @definition.class
13
+
14
+ (interface_declaration
15
+ name: (identifier) @name) @definition.interface
16
+
17
+ (library_declaration
18
+ name: (identifier) @name) @definition.interface
19
+
20
+ (struct_declaration name: (identifier) @name) @definition.class
21
+ (enum_declaration name: (identifier) @name) @definition.class
22
+ (event_definition name: (identifier) @name) @definition.class
23
+
24
+ ;; Function calls
25
+ (call_expression (expression (identifier)) @name ) @reference.call
26
+
27
+ (call_expression
28
+ (expression (member_expression
29
+ property: (_) @name ))) @reference.call
30
+
31
+ ;; Log emit
32
+ (emit_statement name: (_) @name) @reference.class
33
+
34
+
35
+ ;; Inheritance
36
+
37
+ (inheritance_specifier
38
+ ancestor: (user_defined_type (_) @name . )) @reference.class
39
+
40
+
41
+ ;; Imports ( note that unknown is not standardised )
42
+ (import_directive
43
+ import_name: (_) @name ) @reference.unknown
@@ -0,0 +1 @@
1
+ (statement) @fold
@@ -0,0 +1,5 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((marginalia) @injection.content
5
+ (#set! injection.language "comment"))
@@ -0,0 +1 @@
1
+ ; inherits: hcl
@@ -0,0 +1 @@
1
+ ; inherits: hcl
@@ -0,0 +1 @@
1
+ ; inherits: hcl
@@ -0,0 +1,5 @@
1
+ [
2
+ (table)
3
+ (array)
4
+ (table_array_element)
5
+ ] @fold
@@ -0,0 +1,11 @@
1
+ [
2
+ (array)
3
+ (inline_table)
4
+ ] @indent.begin
5
+
6
+ [
7
+ "["
8
+ "]"
9
+ "{"
10
+ "}"
11
+ ] @indent.branch
@@ -0,0 +1,2 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
@@ -0,0 +1,4 @@
1
+ [
2
+ (table)
3
+ (table_array_element)
4
+ ] @local.scope
@@ -0,0 +1,4 @@
1
+ (text) @string
2
+ (number) @number
3
+ (float) @float
4
+ (boolean) @boolean
Binary file
@@ -0,0 +1 @@
1
+ ; inherits: typescript,jsx
@@ -0,0 +1 @@
1
+ ; inherits: typescript,jsx