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,122 @@
1
+ ; tree-sitter-awk v0.7.2
2
+
3
+ ; https://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries
4
+
5
+ ; Order matters
6
+
7
+ (ns_qualified_name (namespace) @namespace)
8
+ (ns_qualified_name "::" @operator)
9
+
10
+ (func_def name: (_ (identifier) @function) @function)
11
+ (func_call name: (_ (identifier) @function) @function)
12
+
13
+ [
14
+ (identifier)
15
+ (field_ref)
16
+ ] @variable
17
+ (field_ref (_) @variable)
18
+
19
+ (string) @string
20
+ (number) @number
21
+ (regex) @regexp
22
+ (comment) @comment
23
+
24
+ [
25
+ "function"
26
+ "func"
27
+ "print"
28
+ "printf"
29
+ "if"
30
+ "else"
31
+ "do"
32
+ "while"
33
+ "for"
34
+ "in"
35
+ "delete"
36
+ "return"
37
+ "exit"
38
+ "switch"
39
+ "case"
40
+ "default"
41
+ (break_statement)
42
+ (continue_statement)
43
+ (next_statement)
44
+ (nextfile_statement)
45
+ (getline_input)
46
+ (getline_file)
47
+ ] @keyword
48
+
49
+ [
50
+ "@include"
51
+ "@load"
52
+ "@namespace"
53
+ (pattern)
54
+ ] @namespace
55
+
56
+ (binary_exp [
57
+ "^"
58
+ "**"
59
+ "*"
60
+ "/"
61
+ "%"
62
+ "+"
63
+ "-"
64
+ "<"
65
+ ">"
66
+ "<="
67
+ ">="
68
+ "=="
69
+ "!="
70
+ "~"
71
+ "!~"
72
+ "in"
73
+ "&&"
74
+ "||"
75
+ ] @operator)
76
+
77
+ (unary_exp [
78
+ "!"
79
+ "+"
80
+ "-"
81
+ ] @operator)
82
+
83
+ (assignment_exp [
84
+ "="
85
+ "+="
86
+ "-="
87
+ "*="
88
+ "/="
89
+ "%="
90
+ "^="
91
+ ] @operator)
92
+
93
+ (ternary_exp [
94
+ "?"
95
+ ":"
96
+ ] @operator)
97
+
98
+ (update_exp [
99
+ "++"
100
+ "--"
101
+ ] @operator)
102
+
103
+ (redirected_io_statement [
104
+ ">"
105
+ ">>"
106
+ ] @operator)
107
+
108
+ (piped_io_statement [
109
+ "|"
110
+ "|&"
111
+ ] @operator)
112
+
113
+ [
114
+ ";"
115
+ ","
116
+ "("
117
+ ")"
118
+ "["
119
+ "]"
120
+ "{"
121
+ "}"
122
+ ] @operator
@@ -0,0 +1,17 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((regex) @injection.content
5
+ (#set! injection.language "regex"))
6
+
7
+ ((print_statement
8
+ (exp_list
9
+ .
10
+ (string) @injection.content))
11
+ (#set! injection.language "printf"))
12
+
13
+ ((printf_statement
14
+ (exp_list
15
+ .
16
+ (string) @injection.content))
17
+ (#set! injection.language "printf"))
Binary file
@@ -0,0 +1,9 @@
1
+ [
2
+ (function_definition)
3
+ (if_statement)
4
+ (case_statement)
5
+ (for_statement)
6
+ (while_statement)
7
+ (c_style_for_statement)
8
+ (heredoc_redirect)
9
+ ] @fold
@@ -0,0 +1,32 @@
1
+ [
2
+ (if_statement)
3
+ (for_statement)
4
+ (while_statement)
5
+ (case_statement)
6
+ (function_definition)
7
+ (compound_statement)
8
+ (subshell)
9
+ (command_substitution)
10
+ (do_group)
11
+ (case_item)
12
+ ] @indent.begin
13
+
14
+ [
15
+ "fi"
16
+ "done"
17
+ "esac"
18
+ "}"
19
+ ")"
20
+ "then"
21
+ "do"
22
+ (elif_clause)
23
+ (else_clause)
24
+ ] @indent.branch
25
+
26
+ [
27
+ "fi"
28
+ "done"
29
+ "esac"
30
+ "}"
31
+ ")"
32
+ ] @indent.end
@@ -0,0 +1,90 @@
1
+ ((comment) @injection.content
2
+ (#set! injection.language "comment"))
3
+
4
+ ((regex) @injection.content
5
+ (#set! injection.language "regex"))
6
+
7
+ (heredoc_redirect
8
+ (heredoc_body) @injection.content
9
+ (heredoc_end) @injection.language)
10
+
11
+ ; printf 'format'
12
+ ((command
13
+ name: (command_name) @_command
14
+ .
15
+ argument: [
16
+ (string) @injection.content
17
+ (concatenation
18
+ (string) @injection.content)
19
+ (raw_string) @injection.content
20
+ (concatenation
21
+ (raw_string) @injection.content)
22
+ ])
23
+ (#eq? @_command "printf")
24
+ (#offset! @injection.content 0 1 0 -1)
25
+ (#set! injection.include-children)
26
+ (#set! injection.language "printf"))
27
+
28
+ ; printf -v var 'format'
29
+ ((command
30
+ name: (command_name) @_command
31
+ argument: (word) @_arg
32
+ .
33
+ (_)
34
+ .
35
+ argument: [
36
+ (string) @injection.content
37
+ (concatenation
38
+ (string) @injection.content)
39
+ (raw_string) @injection.content
40
+ (concatenation
41
+ (raw_string) @injection.content)
42
+ ])
43
+ (#eq? @_command "printf")
44
+ (#eq? @_arg "-v")
45
+ (#offset! @injection.content 0 1 0 -1)
46
+ (#set! injection.include-children)
47
+ (#set! injection.language "printf"))
48
+
49
+ ; printf -- 'format'
50
+ ((command
51
+ name: (command_name) @_command
52
+ argument: (word) @_arg
53
+ .
54
+ argument: [
55
+ (string) @injection.content
56
+ (concatenation
57
+ (string) @injection.content)
58
+ (raw_string) @injection.content
59
+ (concatenation
60
+ (raw_string) @injection.content)
61
+ ])
62
+ (#eq? @_command "printf")
63
+ (#eq? @_arg "--")
64
+ (#offset! @injection.content 0 1 0 -1)
65
+ (#set! injection.include-children)
66
+ (#set! injection.language "printf"))
67
+
68
+ ((command
69
+ name: (command_name) @_command
70
+ .
71
+ argument: [
72
+ (string)
73
+ (raw_string)
74
+ ] @injection.content)
75
+ (#eq? @_command "bind")
76
+ (#offset! @injection.content 0 1 0 -1)
77
+ (#set! injection.include-children)
78
+ (#set! injection.language "readline"))
79
+
80
+ ((command
81
+ name: (command_name) @_command
82
+ .
83
+ argument: [
84
+ (string)
85
+ (raw_string)
86
+ ] @injection.content)
87
+ (#eq? @_command "trap")
88
+ (#offset! @injection.content 0 1 0 -1)
89
+ (#set! injection.include-children)
90
+ (#set! injection.self))
@@ -0,0 +1,14 @@
1
+ ; Scopes
2
+ (function_definition) @local.scope
3
+
4
+ ; Definitions
5
+ (variable_assignment
6
+ name: (variable_name) @local.definition.var)
7
+
8
+ (function_definition
9
+ name: (word) @local.definition.function)
10
+
11
+ ; References
12
+ (variable_name) @local.reference
13
+
14
+ (word) @local.reference
@@ -0,0 +1 @@
1
+ (entry) @fold
@@ -0,0 +1,47 @@
1
+ [
2
+ (string_type)
3
+ (preamble_type)
4
+ (entry_type)
5
+ ] @keyword
6
+
7
+ [
8
+ (junk)
9
+ (comment)
10
+ ] @comment
11
+
12
+ [
13
+ "="
14
+ "#"
15
+ ] @operator
16
+
17
+ (command) @function.builtin
18
+
19
+ (number) @number
20
+
21
+ (field
22
+ name: (identifier) @variable.builtin)
23
+
24
+ (token
25
+ (identifier) @variable.parameter)
26
+
27
+ [
28
+ (brace_word)
29
+ (quote_word)
30
+ ] @string
31
+
32
+ [
33
+ (key_brace)
34
+ (key_paren)
35
+ ] @attribute
36
+
37
+ (string
38
+ name: (identifier) @constant)
39
+
40
+ [
41
+ "{"
42
+ "}"
43
+ "("
44
+ ")"
45
+ ] @punctuation.bracket
46
+
47
+ "," @punctuation.delimiter
@@ -0,0 +1,8 @@
1
+ (entry) @indent.begin
2
+
3
+ [
4
+ "{"
5
+ "}"
6
+ ] @indent.branch
7
+
8
+ (comment) @indent.ignore
@@ -0,0 +1,2 @@
1
+ ((junk) @injection.content
2
+ (#set! injection.language "comment"))
File without changes
File without changes
@@ -0,0 +1,23 @@
1
+ [
2
+ (for_statement)
3
+ (if_statement)
4
+ (while_statement)
5
+ (do_statement)
6
+ (switch_statement)
7
+ (case_statement)
8
+ (function_definition)
9
+ (struct_specifier)
10
+ (enum_specifier)
11
+ (comment)
12
+ (preproc_if)
13
+ (preproc_elif)
14
+ (preproc_else)
15
+ (preproc_ifdef)
16
+ (preproc_function_def)
17
+ (initializer_list)
18
+ (gnu_asm_expression)
19
+ (preproc_include)+
20
+ ] @fold
21
+
22
+ (compound_statement
23
+ (compound_statement) @fold)
@@ -0,0 +1,99 @@
1
+ [
2
+ (compound_statement)
3
+ (field_declaration_list)
4
+ (case_statement)
5
+ (enumerator_list)
6
+ (compound_literal_expression)
7
+ (initializer_list)
8
+ (init_declarator)
9
+ ] @indent.begin
10
+
11
+ ; With current indent logic, if we capture expression_statement with @indent.begin
12
+ ; It will be affected by _parent_ node with error subnodes deep down the tree
13
+ ; So narrow indent capture to check for error inside expression statement only,
14
+ (expression_statement
15
+ (_) @indent.begin
16
+ ";" @indent.end)
17
+
18
+ (ERROR
19
+ "for"
20
+ "(" @indent.begin
21
+ ";"
22
+ ";"
23
+ ")" @indent.end)
24
+
25
+ ((for_statement
26
+ body: (_) @_body) @indent.begin
27
+ (#not-kind-eq? @_body "compound_statement"))
28
+
29
+ (while_statement
30
+ condition: (_) @indent.begin)
31
+
32
+ ((while_statement
33
+ body: (_) @_body) @indent.begin
34
+ (#not-kind-eq? @_body "compound_statement"))
35
+
36
+ ((if_statement)
37
+ .
38
+ (ERROR
39
+ "else" @indent.begin))
40
+
41
+ (if_statement
42
+ condition: (_) @indent.begin)
43
+
44
+ ; Supports if without braces (but not both if-else without braces)
45
+ (if_statement
46
+ consequence: (_
47
+ ";" @indent.end) @_consequence
48
+ (#not-kind-eq? @_consequence "compound_statement")
49
+ alternative: (else_clause
50
+ "else" @indent.branch
51
+ [
52
+ (if_statement
53
+ (compound_statement) @indent.dedent)? @indent.dedent
54
+ (compound_statement)? @indent.dedent
55
+ (_)? @indent.dedent
56
+ ])?) @indent.begin
57
+
58
+ (else_clause
59
+ (_
60
+ .
61
+ "{" @indent.branch))
62
+
63
+ (compound_statement
64
+ "}" @indent.end)
65
+
66
+ [
67
+ ")"
68
+ "}"
69
+ (statement_identifier)
70
+ ] @indent.branch
71
+
72
+ [
73
+ "#define"
74
+ "#ifdef"
75
+ "#ifndef"
76
+ "#elif"
77
+ "#if"
78
+ "#else"
79
+ "#endif"
80
+ ] @indent.zero
81
+
82
+ [
83
+ (preproc_arg)
84
+ (string_literal)
85
+ ] @indent.ignore
86
+
87
+ ((ERROR
88
+ (parameter_declaration)) @indent.align
89
+ (#set! indent.open_delimiter "(")
90
+ (#set! indent.close_delimiter ")"))
91
+
92
+ ([
93
+ (argument_list)
94
+ (parameter_list)
95
+ ] @indent.align
96
+ (#set! indent.open_delimiter "(")
97
+ (#set! indent.close_delimiter ")"))
98
+
99
+ (comment) @indent.auto
@@ -0,0 +1,128 @@
1
+ ((preproc_arg) @injection.content
2
+ (#set! injection.self))
3
+
4
+ ((comment) @injection.content
5
+ (#set! injection.language "comment"))
6
+
7
+ ((comment) @injection.content
8
+ (#match? @injection.content "/\\*!([a-zA-Z]+:)?re2c")
9
+ (#set! injection.language "re2c"))
10
+
11
+ ((comment) @injection.content
12
+ (#lua-match? @injection.content "/[*/][!*/]<?[^a-zA-Z]")
13
+ (#set! injection.language "doxygen"))
14
+
15
+ ((call_expression
16
+ function: (identifier) @_function
17
+ arguments: (argument_list
18
+ .
19
+ [
20
+ (string_literal
21
+ (string_content) @injection.content)
22
+ (concatenated_string
23
+ (string_literal
24
+ (string_content) @injection.content))
25
+ ]))
26
+ ; format-ignore
27
+ (#any-of? @_function
28
+ "printf" "printf_s"
29
+ "vprintf" "vprintf_s"
30
+ "scanf" "scanf_s"
31
+ "vscanf" "vscanf_s"
32
+ "wprintf" "wprintf_s"
33
+ "vwprintf" "vwprintf_s"
34
+ "wscanf" "wscanf_s"
35
+ "vwscanf" "vwscanf_s"
36
+ "cscanf" "_cscanf"
37
+ "printw"
38
+ "scanw")
39
+ (#set! injection.language "printf"))
40
+
41
+ ((call_expression
42
+ function: (identifier) @_function
43
+ arguments: (argument_list
44
+ (_)
45
+ .
46
+ [
47
+ (string_literal
48
+ (string_content) @injection.content)
49
+ (concatenated_string
50
+ (string_literal
51
+ (string_content) @injection.content))
52
+ ]))
53
+ ; format-ignore
54
+ (#any-of? @_function
55
+ "fprintf" "fprintf_s"
56
+ "sprintf"
57
+ "dprintf"
58
+ "fscanf" "fscanf_s"
59
+ "sscanf" "sscanf_s"
60
+ "vsscanf" "vsscanf_s"
61
+ "vfprintf" "vfprintf_s"
62
+ "vsprintf"
63
+ "vdprintf"
64
+ "fwprintf" "fwprintf_s"
65
+ "vfwprintf" "vfwprintf_s"
66
+ "fwscanf" "fwscanf_s"
67
+ "swscanf" "swscanf_s"
68
+ "vswscanf" "vswscanf_s"
69
+ "vfscanf" "vfscanf_s"
70
+ "vfwscanf" "vfwscanf_s"
71
+ "wprintw"
72
+ "vw_printw" "vwprintw"
73
+ "wscanw"
74
+ "vw_scanw" "vwscanw")
75
+ (#set! injection.language "printf"))
76
+
77
+ ((call_expression
78
+ function: (identifier) @_function
79
+ arguments: (argument_list
80
+ (_)
81
+ .
82
+ (_)
83
+ .
84
+ [
85
+ (string_literal
86
+ (string_content) @injection.content)
87
+ (concatenated_string
88
+ (string_literal
89
+ (string_content) @injection.content))
90
+ ]))
91
+ ; format-ignore
92
+ (#any-of? @_function
93
+ "sprintf_s"
94
+ "snprintf" "snprintf_s"
95
+ "vsprintf_s"
96
+ "vsnprintf" "vsnprintf_s"
97
+ "swprintf" "swprintf_s"
98
+ "snwprintf_s"
99
+ "vswprintf" "vswprintf_s"
100
+ "vsnwprintf_s"
101
+ "mvprintw"
102
+ "mvscanw")
103
+ (#set! injection.language "printf"))
104
+
105
+ ((call_expression
106
+ function: (identifier) @_function
107
+ arguments: (argument_list
108
+ (_)
109
+ .
110
+ (_)
111
+ .
112
+ (_)
113
+ .
114
+ [
115
+ (string_literal
116
+ (string_content) @injection.content)
117
+ (concatenated_string
118
+ (string_literal
119
+ (string_content) @injection.content))
120
+ ]))
121
+ (#any-of? @_function "mvwprintw" "mvwscanw")
122
+ (#set! injection.language "printf"))
123
+
124
+ ; TODO: add when asm is added
125
+ ; (gnu_asm_expression assembly_code: (string_literal) @injection.content
126
+ ; (#set! injection.language "asm"))
127
+ ; (gnu_asm_expression assembly_code: (concatenated_string (string_literal) @injection.content)
128
+ ; (#set! injection.language "asm"))
@@ -0,0 +1,67 @@
1
+ ; Functions definitions
2
+ (function_declarator
3
+ declarator: (identifier) @local.definition.function)
4
+
5
+ (preproc_function_def
6
+ name: (identifier) @local.definition.macro) @local.scope
7
+
8
+ (preproc_def
9
+ name: (identifier) @local.definition.macro)
10
+
11
+ (pointer_declarator
12
+ declarator: (identifier) @local.definition.var)
13
+
14
+ (parameter_declaration
15
+ declarator: (identifier) @local.definition.parameter)
16
+
17
+ (init_declarator
18
+ declarator: (identifier) @local.definition.var)
19
+
20
+ (array_declarator
21
+ declarator: (identifier) @local.definition.var)
22
+
23
+ (declaration
24
+ declarator: (identifier) @local.definition.var)
25
+
26
+ (enum_specifier
27
+ name: (_) @local.definition.type
28
+ (enumerator_list
29
+ (enumerator
30
+ name: (identifier) @local.definition.var)))
31
+
32
+ ; Type / Struct / Enum
33
+ (field_declaration
34
+ declarator: (field_identifier) @local.definition.field)
35
+
36
+ (type_definition
37
+ declarator: (type_identifier) @local.definition.type)
38
+
39
+ (struct_specifier
40
+ name: (type_identifier) @local.definition.type)
41
+
42
+ ; goto
43
+ (labeled_statement
44
+ (statement_identifier) @local.definition)
45
+
46
+ ; References
47
+ (identifier) @local.reference
48
+
49
+ ((field_identifier) @local.reference
50
+ (#set! reference.kind "field"))
51
+
52
+ ((type_identifier) @local.reference
53
+ (#set! reference.kind "type"))
54
+
55
+ (goto_statement
56
+ (statement_identifier) @local.reference)
57
+
58
+ ; Scope
59
+ [
60
+ (for_statement)
61
+ (if_statement)
62
+ (while_statement)
63
+ (translation_unit)
64
+ (function_definition)
65
+ (compound_statement) ; a block in curly braces
66
+ (struct_specifier)
67
+ ] @local.scope
@@ -0,0 +1,26 @@
1
+ [
2
+ (mod_item)
3
+ (struct_item)
4
+ (trait_item)
5
+ (enum_item)
6
+ (impl_item)
7
+ (type_item)
8
+ (use_declaration)
9
+ (let_declaration)
10
+ (namespace_definition)
11
+ (arguments)
12
+ (implicit_arguments)
13
+ (tuple_type)
14
+ (import_statement)
15
+ (attribute_statement)
16
+ (with_statement)
17
+ (if_statement)
18
+ (function_definition)
19
+ (struct_definition)
20
+ (loop_expression)
21
+ (if_expression)
22
+ (match_expression)
23
+ (call_expression)
24
+ (tuple_expression)
25
+ (attribute_item)
26
+ ] @fold