@aquera/nile-elements 0.0.104 → 0.0.105

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 (249) hide show
  1. package/README.md +5 -0
  2. package/dist/apl-21d06901.cjs.js +2 -0
  3. package/dist/apl-21d06901.cjs.js.map +1 -0
  4. package/dist/apl-d16c7537.esm.js +1 -0
  5. package/dist/{asciidoc-e0d3b314.cjs.js → asciidoc-001fd7c1.cjs.js} +2 -2
  6. package/dist/{asciidoc-e0d3b314.cjs.js.map → asciidoc-001fd7c1.cjs.js.map} +1 -1
  7. package/dist/{asciidoc-6be99424.esm.js → asciidoc-0966d4dc.esm.js} +1 -1
  8. package/dist/{blade-3208a46d.esm.js → blade-11ab018c.esm.js} +1 -1
  9. package/dist/{blade-edfc0fdd.cjs.js → blade-8db809ca.cjs.js} +2 -2
  10. package/dist/blade-8db809ca.cjs.js.map +1 -0
  11. package/dist/c-8cfe7ebc.esm.js +1 -0
  12. package/dist/c-b1a3514f.cjs.js +2 -0
  13. package/dist/c-b1a3514f.cjs.js.map +1 -0
  14. package/dist/codeql-48a19368.cjs.js +2 -0
  15. package/dist/codeql-48a19368.cjs.js.map +1 -0
  16. package/dist/codeql-535d71a2.esm.js +1 -0
  17. package/dist/cpp-62f58e5c.cjs.js +2 -0
  18. package/dist/cpp-62f58e5c.cjs.js.map +1 -0
  19. package/dist/cpp-ee96ee92.esm.js +1 -0
  20. package/dist/crystal-4277175c.cjs.js +2 -0
  21. package/dist/crystal-4277175c.cjs.js.map +1 -0
  22. package/dist/crystal-c89e4ade.esm.js +1 -0
  23. package/dist/{csharp-fe9efa9d.cjs.js → csharp-36e7912d.cjs.js} +2 -2
  24. package/dist/csharp-36e7912d.cjs.js.map +1 -0
  25. package/dist/{csharp-2f739c17.esm.js → csharp-78bc1c6a.esm.js} +1 -1
  26. package/dist/dream-maker-19eb7025.esm.js +1 -0
  27. package/dist/dream-maker-8dcd65d8.cjs.js +2 -0
  28. package/dist/dream-maker-8dcd65d8.cjs.js.map +1 -0
  29. package/dist/elixir-971d0fb3.esm.js +1 -0
  30. package/dist/elixir-de3ce4da.cjs.js +2 -0
  31. package/dist/elixir-de3ce4da.cjs.js.map +1 -0
  32. package/dist/{elm-0c5dbed5.cjs.js → elm-53838edc.cjs.js} +2 -2
  33. package/dist/{elm-0c5dbed5.cjs.js.map → elm-53838edc.cjs.js.map} +1 -1
  34. package/dist/{elm-3dbc06e2.esm.js → elm-9874a65c.esm.js} +1 -1
  35. package/dist/emacs-lisp-acd28b05.esm.js +1 -0
  36. package/dist/emacs-lisp-cfcfbca4.cjs.js +2 -0
  37. package/dist/emacs-lisp-cfcfbca4.cjs.js.map +1 -0
  38. package/dist/{erb-c397c5b8.cjs.js → erb-a42121e2.cjs.js} +2 -2
  39. package/dist/{erb-c397c5b8.cjs.js.map → erb-a42121e2.cjs.js.map} +1 -1
  40. package/dist/{erb-3df2a1e4.esm.js → erb-f580df2b.esm.js} +1 -1
  41. package/dist/{fortran-fixed-form-5221c659.cjs.js → fortran-fixed-form-a480dd28.cjs.js} +2 -2
  42. package/dist/{fortran-fixed-form-5221c659.cjs.js.map → fortran-fixed-form-a480dd28.cjs.js.map} +1 -1
  43. package/dist/{fortran-fixed-form-de2fa930.esm.js → fortran-fixed-form-f1691b9f.esm.js} +1 -1
  44. package/dist/fortran-free-form-a777429e.esm.js +1 -0
  45. package/dist/fortran-free-form-ffdde287.cjs.js +2 -0
  46. package/dist/fortran-free-form-ffdde287.cjs.js.map +1 -0
  47. package/dist/{fsharp-f129bbeb.esm.js → fsharp-69c4fb5c.esm.js} +1 -1
  48. package/dist/{fsharp-09a5f785.cjs.js → fsharp-d59a3c1f.cjs.js} +2 -2
  49. package/dist/{fsharp-09a5f785.cjs.js.map → fsharp-d59a3c1f.cjs.js.map} +1 -1
  50. package/dist/{git-rebase-1f689746.cjs.js → git-rebase-7589e873.cjs.js} +2 -2
  51. package/dist/{git-rebase-1f689746.cjs.js.map → git-rebase-7589e873.cjs.js.map} +1 -1
  52. package/dist/{git-rebase-a3a21dac.esm.js → git-rebase-bb01fb7b.esm.js} +1 -1
  53. package/dist/{glsl-f391b342.esm.js → glsl-1493bfc0.esm.js} +1 -1
  54. package/dist/{glsl-018c76d4.cjs.js → glsl-c588b399.cjs.js} +2 -2
  55. package/dist/{glsl-018c76d4.cjs.js.map → glsl-c588b399.cjs.js.map} +1 -1
  56. package/dist/{go-09393d7b.cjs.js → go-a05e58ea.cjs.js} +2 -2
  57. package/dist/go-a05e58ea.cjs.js.map +1 -0
  58. package/dist/{go-327b8b08.esm.js → go-ecfc5b99.esm.js} +1 -1
  59. package/dist/haml-2253a1bd.cjs.js +2 -0
  60. package/dist/haml-2253a1bd.cjs.js.map +1 -0
  61. package/dist/haml-43d9b125.esm.js +1 -0
  62. package/dist/hcl-595d9f51.cjs.js +2 -0
  63. package/dist/hcl-595d9f51.cjs.js.map +1 -0
  64. package/dist/hcl-6a14c75f.esm.js +1 -0
  65. package/dist/hjson-c3c357d7.cjs.js +2 -0
  66. package/dist/hjson-c3c357d7.cjs.js.map +1 -0
  67. package/dist/hjson-d42502da.esm.js +1 -0
  68. package/dist/{http-c5198897.esm.js → http-05cedc24.esm.js} +1 -1
  69. package/dist/{http-4370aef9.cjs.js → http-6aabe313.cjs.js} +2 -2
  70. package/dist/{http-4370aef9.cjs.js.map → http-6aabe313.cjs.js.map} +1 -1
  71. package/dist/{julia-5e4ea542.cjs.js → julia-24e685eb.cjs.js} +2 -2
  72. package/dist/{julia-5e4ea542.cjs.js.map → julia-24e685eb.cjs.js.map} +1 -1
  73. package/dist/{julia-e630ba73.esm.js → julia-944cceb2.esm.js} +1 -1
  74. package/dist/{latex-1adfa940.cjs.js → latex-bbf47f0d.cjs.js} +2 -2
  75. package/dist/{latex-1adfa940.cjs.js.map → latex-bbf47f0d.cjs.js.map} +1 -1
  76. package/dist/{latex-edebd2cc.esm.js → latex-c78294e0.esm.js} +1 -1
  77. package/dist/liquid-5e828fc2.cjs.js +2 -0
  78. package/dist/liquid-5e828fc2.cjs.js.map +1 -0
  79. package/dist/liquid-c0372db6.esm.js +1 -0
  80. package/dist/{lua-125b4f95.esm.js → lua-1393b713.esm.js} +1 -1
  81. package/dist/{lua-1990ffc7.cjs.js → lua-2512266d.cjs.js} +2 -2
  82. package/dist/{lua-1990ffc7.cjs.js.map → lua-2512266d.cjs.js.map} +1 -1
  83. package/dist/{markdown-9f728eba.esm.js → markdown-09aa0843.esm.js} +1 -1
  84. package/dist/{markdown-844e62a0.cjs.js → markdown-3ee08af9.cjs.js} +2 -2
  85. package/dist/{markdown-844e62a0.cjs.js.map → markdown-3ee08af9.cjs.js.map} +1 -1
  86. package/dist/matlab-534739f2.cjs.js +2 -0
  87. package/dist/matlab-534739f2.cjs.js.map +1 -0
  88. package/dist/matlab-97eddcfd.esm.js +1 -0
  89. package/dist/{mdc-89c1812c.cjs.js → mdc-7262ea7f.cjs.js} +2 -2
  90. package/dist/{mdc-89c1812c.cjs.js.map → mdc-7262ea7f.cjs.js.map} +1 -1
  91. package/dist/{mdc-78460ad2.esm.js → mdc-a46ebf55.esm.js} +1 -1
  92. package/dist/{nginx-d4fde8c7.cjs.js → nginx-33da8d52.cjs.js} +2 -2
  93. package/dist/{nginx-d4fde8c7.cjs.js.map → nginx-33da8d52.cjs.js.map} +1 -1
  94. package/dist/{nginx-4e240995.esm.js → nginx-9eb574b4.esm.js} +1 -1
  95. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  96. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  97. package/dist/nile-chip/nile-chip.esm.js +1 -1
  98. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  99. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  100. package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
  101. package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
  102. package/dist/nile-dialog/nile-dialog.css.esm.js +18 -3
  103. package/dist/nile-dialog/nile-dialog.esm.js +6 -4
  104. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  105. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  106. package/dist/nile-loader/nile-loader.cjs.js +1 -1
  107. package/dist/nile-loader/nile-loader.cjs.js.map +1 -1
  108. package/dist/nile-loader/nile-loader.esm.js +5 -6
  109. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  110. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  111. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  112. package/dist/{nim-2d3e58bd.esm.js → nim-19ded5b2.esm.js} +1 -1
  113. package/dist/{nim-68123944.cjs.js → nim-d17fab7b.cjs.js} +2 -2
  114. package/dist/{nim-68123944.cjs.js.map → nim-d17fab7b.cjs.js.map} +1 -1
  115. package/dist/php-61f68171.esm.js +1 -0
  116. package/dist/php-cc873410.cjs.js +2 -0
  117. package/dist/php-cc873410.cjs.js.map +1 -0
  118. package/dist/{racket-7b394aba.cjs.js → racket-0c9d5c0f.cjs.js} +2 -2
  119. package/dist/{racket-7b394aba.cjs.js.map → racket-0c9d5c0f.cjs.js.map} +1 -1
  120. package/dist/{racket-81dda9e5.esm.js → racket-55a31f6b.esm.js} +1 -1
  121. package/dist/{razor-1b5232cc.cjs.js → razor-a2425731.cjs.js} +2 -2
  122. package/dist/{razor-1b5232cc.cjs.js.map → razor-a2425731.cjs.js.map} +1 -1
  123. package/dist/{razor-d377d825.esm.js → razor-b33c609c.esm.js} +1 -1
  124. package/dist/{rst-7ca0bc88.cjs.js → rst-328f0cf1.cjs.js} +2 -2
  125. package/dist/{rst-7ca0bc88.cjs.js.map → rst-328f0cf1.cjs.js.map} +1 -1
  126. package/dist/{rst-0c779bb4.esm.js → rst-c0bca969.esm.js} +1 -1
  127. package/dist/{ruby-a3bdb75e.esm.js → ruby-0ae8b3e3.esm.js} +1 -1
  128. package/dist/{ruby-951187c3.cjs.js → ruby-82f6fde2.cjs.js} +2 -2
  129. package/dist/{ruby-951187c3.cjs.js.map → ruby-82f6fde2.cjs.js.map} +1 -1
  130. package/dist/{scala-f087204d.esm.js → scala-09ae48a2.esm.js} +1 -1
  131. package/dist/{scala-b2ea8aa7.cjs.js → scala-44c4b612.cjs.js} +2 -2
  132. package/dist/{scala-b2ea8aa7.cjs.js.map → scala-44c4b612.cjs.js.map} +1 -1
  133. package/dist/{shellscript-ac23285d.esm.js → shellscript-279f3c20.esm.js} +1 -1
  134. package/dist/{shellscript-cd92245f.cjs.js → shellscript-fbbc671d.cjs.js} +2 -2
  135. package/dist/{shellscript-cd92245f.cjs.js.map → shellscript-fbbc671d.cjs.js.map} +1 -1
  136. package/dist/{shellsession-396c6681.esm.js → shellsession-c6d86b76.esm.js} +1 -1
  137. package/dist/{shellsession-223fd590.cjs.js → shellsession-d64b6377.cjs.js} +2 -2
  138. package/dist/{shellsession-223fd590.cjs.js.map → shellsession-d64b6377.cjs.js.map} +1 -1
  139. package/dist/src/nile-chip/nile-chip.js +10 -7
  140. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  141. package/dist/src/nile-dialog/nile-dialog.css.js +18 -3
  142. package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
  143. package/dist/src/nile-dialog/nile-dialog.d.ts +1 -0
  144. package/dist/src/nile-dialog/nile-dialog.js +10 -2
  145. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  146. package/dist/src/nile-loader/nile-loader.js +0 -1
  147. package/dist/src/nile-loader/nile-loader.js.map +1 -1
  148. package/dist/src/nile-tab-group/nile-tab-group.js +4 -1
  149. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  150. package/dist/stata-149110fb.esm.js +1 -0
  151. package/dist/stata-b4a1937c.cjs.js +2 -0
  152. package/dist/stata-b4a1937c.cjs.js.map +1 -0
  153. package/dist/{svelte-70f34f63.esm.js → svelte-1048eb5a.esm.js} +1 -1
  154. package/dist/{svelte-fac37669.cjs.js → svelte-4fd29bd3.cjs.js} +2 -2
  155. package/dist/{svelte-fac37669.cjs.js.map → svelte-4fd29bd3.cjs.js.map} +1 -1
  156. package/dist/swift-502aad80.cjs.js +2 -0
  157. package/dist/{swift-73991d74.cjs.js.map → swift-502aad80.cjs.js.map} +1 -1
  158. package/dist/swift-c090b356.esm.js +1 -0
  159. package/dist/{templ-d3b439bb.esm.js → templ-628e79a2.esm.js} +1 -1
  160. package/dist/{templ-07af4f95.cjs.js → templ-d270ba1d.cjs.js} +2 -2
  161. package/dist/{templ-07af4f95.cjs.js.map → templ-d270ba1d.cjs.js.map} +1 -1
  162. package/dist/terraform-500d20b0.esm.js +1 -0
  163. package/dist/terraform-e5570e0d.cjs.js +2 -0
  164. package/dist/terraform-e5570e0d.cjs.js.map +1 -0
  165. package/dist/{ts-tags-dd626bee.esm.js → ts-tags-5da8755a.esm.js} +1 -1
  166. package/dist/{ts-tags-060f8b3f.cjs.js → ts-tags-df3e88d7.cjs.js} +2 -2
  167. package/dist/{ts-tags-060f8b3f.cjs.js.map → ts-tags-df3e88d7.cjs.js.map} +1 -1
  168. package/dist/tsconfig.tsbuildinfo +1 -1
  169. package/dist/twig-5bc34a9a.esm.js +1 -0
  170. package/dist/twig-af3abed5.cjs.js +2 -0
  171. package/dist/twig-af3abed5.cjs.js.map +1 -0
  172. package/dist/{vue-0bf65993.cjs.js → vue-09163277.cjs.js} +2 -2
  173. package/dist/{vue-0bf65993.cjs.js.map → vue-09163277.cjs.js.map} +1 -1
  174. package/dist/{vue-9a567043.esm.js → vue-dbfc25c6.esm.js} +1 -1
  175. package/dist/{vue-html-87c1aa08.cjs.js → vue-html-8d140150.cjs.js} +2 -2
  176. package/dist/{vue-html-87c1aa08.cjs.js.map → vue-html-8d140150.cjs.js.map} +1 -1
  177. package/dist/{vue-html-5432e63a.esm.js → vue-html-9284886a.esm.js} +1 -1
  178. package/dist/wasm-69304cd7.cjs.js +2 -0
  179. package/dist/{wasm-2b3accdb.cjs.js.map → wasm-69304cd7.cjs.js.map} +1 -1
  180. package/dist/{wasm-ec34668d.esm.js → wasm-aabb0cac.esm.js} +1 -1
  181. package/dist/{wikitext-bc11a136.cjs.js → wikitext-1ea78c25.cjs.js} +2 -2
  182. package/dist/{wikitext-bc11a136.cjs.js.map → wikitext-1ea78c25.cjs.js.map} +1 -1
  183. package/dist/{wikitext-0150fba4.esm.js → wikitext-3fe603e5.esm.js} +1 -1
  184. package/package.json +1 -1
  185. package/src/nile-chip/nile-chip.ts +13 -7
  186. package/src/nile-dialog/nile-dialog.css.ts +18 -3
  187. package/src/nile-dialog/nile-dialog.ts +8 -2
  188. package/src/nile-loader/nile-loader.ts +0 -1
  189. package/src/nile-tab-group/nile-tab-group.ts +2 -1
  190. package/dist/apl-41950f78.cjs.js +0 -2
  191. package/dist/apl-41950f78.cjs.js.map +0 -1
  192. package/dist/apl-c55a4361.esm.js +0 -1
  193. package/dist/blade-edfc0fdd.cjs.js.map +0 -1
  194. package/dist/c-3ee6456a.esm.js +0 -1
  195. package/dist/c-da3bb8a6.cjs.js +0 -2
  196. package/dist/c-da3bb8a6.cjs.js.map +0 -1
  197. package/dist/codeql-842eb6cf.esm.js +0 -1
  198. package/dist/codeql-d89527b8.cjs.js +0 -2
  199. package/dist/codeql-d89527b8.cjs.js.map +0 -1
  200. package/dist/cpp-08227984.esm.js +0 -1
  201. package/dist/cpp-cf2e9ff3.cjs.js +0 -2
  202. package/dist/cpp-cf2e9ff3.cjs.js.map +0 -1
  203. package/dist/crystal-38a7d086.cjs.js +0 -2
  204. package/dist/crystal-38a7d086.cjs.js.map +0 -1
  205. package/dist/crystal-39a9e1ea.esm.js +0 -1
  206. package/dist/csharp-fe9efa9d.cjs.js.map +0 -1
  207. package/dist/dream-maker-03e02970.cjs.js +0 -2
  208. package/dist/dream-maker-03e02970.cjs.js.map +0 -1
  209. package/dist/dream-maker-d074d317.esm.js +0 -1
  210. package/dist/elixir-677f91c1.cjs.js +0 -2
  211. package/dist/elixir-677f91c1.cjs.js.map +0 -1
  212. package/dist/elixir-e6f892c0.esm.js +0 -1
  213. package/dist/emacs-lisp-acc9d1bf.esm.js +0 -1
  214. package/dist/emacs-lisp-ba2192a6.cjs.js +0 -2
  215. package/dist/emacs-lisp-ba2192a6.cjs.js.map +0 -1
  216. package/dist/fortran-free-form-662642e8.cjs.js +0 -2
  217. package/dist/fortran-free-form-662642e8.cjs.js.map +0 -1
  218. package/dist/fortran-free-form-b8908a2e.esm.js +0 -1
  219. package/dist/go-09393d7b.cjs.js.map +0 -1
  220. package/dist/haml-44312b9e.cjs.js +0 -2
  221. package/dist/haml-44312b9e.cjs.js.map +0 -1
  222. package/dist/haml-ce8f521d.esm.js +0 -1
  223. package/dist/hcl-659b5ff4.esm.js +0 -1
  224. package/dist/hcl-93dee28c.cjs.js +0 -2
  225. package/dist/hcl-93dee28c.cjs.js.map +0 -1
  226. package/dist/hjson-e5dbb832.cjs.js +0 -2
  227. package/dist/hjson-e5dbb832.cjs.js.map +0 -1
  228. package/dist/hjson-ff155aeb.esm.js +0 -1
  229. package/dist/liquid-1369a009.cjs.js +0 -2
  230. package/dist/liquid-1369a009.cjs.js.map +0 -1
  231. package/dist/liquid-e48eb0ca.esm.js +0 -1
  232. package/dist/matlab-52886ffe.esm.js +0 -1
  233. package/dist/matlab-71a4c00e.cjs.js +0 -2
  234. package/dist/matlab-71a4c00e.cjs.js.map +0 -1
  235. package/dist/php-1beee6c8.esm.js +0 -1
  236. package/dist/php-580a8f27.cjs.js +0 -2
  237. package/dist/php-580a8f27.cjs.js.map +0 -1
  238. package/dist/stata-5d259eca.cjs.js +0 -2
  239. package/dist/stata-5d259eca.cjs.js.map +0 -1
  240. package/dist/stata-ce57a14a.esm.js +0 -1
  241. package/dist/swift-22135585.esm.js +0 -1
  242. package/dist/swift-73991d74.cjs.js +0 -2
  243. package/dist/terraform-5a5bfeae.esm.js +0 -1
  244. package/dist/terraform-73471876.cjs.js +0 -2
  245. package/dist/terraform-73471876.cjs.js.map +0 -1
  246. package/dist/twig-8f9f15f7.cjs.js +0 -2
  247. package/dist/twig-8f9f15f7.cjs.js.map +0 -1
  248. package/dist/twig-964ce7ee.esm.js +0 -1
  249. package/dist/wasm-2b3accdb.cjs.js +0 -2
@@ -0,0 +1,2 @@
1
+ System.register(["./html-ea7b5a6d.cjs.js","./sql-43113b01.cjs.js","./css-29043e92.cjs.js","./c-b1a3514f.cjs.js","./javascript-86304e1b.cjs.js","./shellscript-fbbc671d.cjs.js"],function(_export,_context){"use strict";var e,t,n,a,r,i,s;function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2;}return{setters:[function(_html008CjsJs){e=_html008CjsJs["default"];},function(_sql00PCjsJs){t=_sql00PCjsJs["default"];},function(_css00aCjsJs){n=_css00aCjsJs["default"];},function(_c00nCjsJs){a=_c00nCjsJs["default"];},function(_javascript009CjsJs){r=_javascript009CjsJs["default"];},function(_shellscript00OCjsJs){i=_shellscript00OCjsJs["default"];}],execute:function execute(){_export("default",s=[].concat(_toConsumableArray(e),_toConsumableArray(t),_toConsumableArray(n),_toConsumableArray(a),_toConsumableArray(r),_toConsumableArray(i),[Object.freeze({displayName:"Crystal",fileTypes:["cr"],firstLineMatch:"^#!/.*\\bcrystal",foldingStartMarker:"^(\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\bend\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\"(\\\\.|[^\"])*+\"|'(\\\\.|[^'])*+'|[^#\"'])*(\\s(do|begin|case)|(?<!\\$)[-+=&|*/~%^<>~]\\s*+(if|unless)))\\b(?![^;]*+;.*?\\bend\\b)|(\"(\\\\.|[^\"])*+\"|'(\\\\.|[^'])*+'|[^#\"'])*(\\{(?![^}]*+\\})|\\[(?![^\\]]*+\\]))).*$|[#].*?\\(fold\\)\\s*+$",foldingStopMarker:"((^|;)\\s*+end\\s*+([#].*)?$|(^|;)\\s*+end\\..*$|^\\s*+[}\\]],?\\s*+([#].*)?$|[#].*?\\(end\\)\\s*+$|^=end)",name:"crystal",patterns:[{captures:{1:{name:"keyword.control.class.crystal"},2:{name:"keyword.control.class.crystal"},3:{name:"entity.name.type.class.crystal"},5:{name:"punctuation.separator.crystal"},6:{name:"support.class.other.type-param.crystal"},7:{name:"entity.other.inherited-class.crystal"},8:{name:"punctuation.separator.crystal"},9:{name:"punctuation.separator.crystal"},10:{name:"support.class.other.type-param.crystal"},11:{name:"punctuation.definition.variable.crystal"}},match:"^\\s*(abstract)?\\s*(class|struct|union|annotation|enum)\\s+(([.A-Z_:\\x{80}-\\x{10FFFF}][.\\w:\\x{80}-\\x{10FFFF}]*(\\(([,\\s.a-zA-Z0-9_:\\x{80}-\\x{10FFFF}]+)\\))?(\\s*(<)\\s*[.:A-Z\\x{80}-\\x{10FFFF}][.:\\w\\x{80}-\\x{10FFFF}]*(\\(([.a-zA-Z0-9_:]+\\s,)\\))?)?)|((<<)\\s*[.A-Z0-9_:\\x{80}-\\x{10FFFF}]+))",name:"meta.class.crystal"},{captures:{1:{name:"keyword.control.module.crystal"},2:{name:"entity.name.type.module.crystal"},3:{name:"entity.other.inherited-class.module.first.crystal"},4:{name:"punctuation.separator.inheritance.crystal"},5:{name:"entity.other.inherited-class.module.second.crystal"},6:{name:"punctuation.separator.inheritance.crystal"},7:{name:"entity.other.inherited-class.module.third.crystal"},8:{name:"punctuation.separator.inheritance.crystal"}},match:"^\\s*(module)\\s+(([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))?([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))?([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))*[A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*)",name:"meta.module.crystal"},{captures:{1:{name:"keyword.control.lib.crystal"},2:{name:"entity.name.type.lib.crystal"},3:{name:"entity.other.inherited-class.lib.first.crystal"},4:{name:"punctuation.separator.inheritance.crystal"},5:{name:"entity.other.inherited-class.lib.second.crystal"},6:{name:"punctuation.separator.inheritance.crystal"},7:{name:"entity.other.inherited-class.lib.third.crystal"},8:{name:"punctuation.separator.inheritance.crystal"}},match:"^\\s*(lib)\\s+(([A-Z]\\w*(::))?([A-Z]\\w*(::))?([A-Z]\\w*(::))*[A-Z]\\w*)",name:"meta.lib.crystal"},{captures:{1:{name:"keyword.control.lib.type.crystal"},2:{name:"entity.name.lib.type.crystal"},3:{name:"keyword.control.lib.crystal"},4:{name:"entity.name.lib.type.value.crystal"}},comment:"type in lib",match:"(?<!\\.)\\b(type)\\s+([A-Z]\\w+)\\s*(=)\\s*(.+)",name:"meta.lib.type.crystal"},{comment:"everything being a reserved word, not a value, and needing a 'end' is a..",match:"(?<!\\.)\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\b(?![?!:])",name:"keyword.control.crystal"},{comment:"everything being a reserved word, not a value, and not needing a 'end' is a..",match:"(?<!\\.)\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\b(?![?!:])",name:"keyword.control.primary.crystal"},{comment:"everything being a spec keyword, not a value, and needing a block is a..",match:"(?<!\\.)\\b(describe|context|it|expect_raises)\\b(?![?!:])",name:"keyword.control.crystal"},{comment:"contextual smart pair support for block parameters",match:"(?<!\\.)\\bdo\\b\\s*",name:"keyword.control.start-block.crystal"},{comment:"contextual smart pair support",match:"(?<=\\{)(\\s+)",name:"meta.syntax.crystal.start-block"},{comment:"Just as above but being not a logical operation",match:"(?<!\\.)\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\b(?![?!:])|\\.(is_a\\?|nil\\?|responds_to\\?|as\\?|as\b)",name:"keyword.control.pseudo-method.crystal"},{match:"\\bnil\\b(?![?!:])",name:"constant.language.nil.crystal"},{match:"\\b(true|false)\\b(?![?!:])",name:"constant.language.boolean.crystal"},{match:"\\b(__(DIR|FILE|LINE|END_LINE)__)\\b(?![?!:])",name:"variable.language.crystal"},{match:"\\b(self)\\b(?![?!:])",name:"variable.language.self.crystal"},{comment:"https://crystal-lang.org/api/0.36.1/Object.html#macro-summary",match:"(?<!\\.)\\b(((class_)?((getter|property)\\b[!?]?|setter\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\b)(?![?!:])",name:"support.function.kernel.crystal"},{begin:"\\b(require)\\b",captures:{1:{name:"keyword.other.special-method.crystal"}},end:"$|(?=#)",name:"meta.require.crystal",patterns:[{include:"$self"}]},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(@)[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*[?!=]?",name:"variable.other.readwrite.instance.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(@@)[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*[?!=]?",name:"variable.other.readwrite.class.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(?!%[Qxrqwi]?[(\\[{<\\|])%([a-zA-Z_]\\w*\\.)*[a-zA-Z_]\\w*",name:"variable.other.readwrite.fresh.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(\\$)(!|@|&|`|'|\\+|\\d+|~|=|/|\\\\|,|;|\\.|<|>|_|\\*|\\$|\\?|:|\"|-[0adFiIlpv])",name:"variable.other.readwrite.global.pre-defined.crystal"},{begin:"\\b(ENV)\\[",beginCaptures:{1:{name:"variable.other.constant.crystal"}},end:"\\]",name:"meta.environment-variable.crystal",patterns:[{include:"$self"}]},{comment:"Literals name of Crystal",match:"\\b[A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*",name:"support.class.crystal"},{comment:"Fetch from https://crystal-lang.org/api/0.36.1/toplevel.html",match:"(?<!\\.)\\b(abort|at_exit|caller|exit|gets|loop|main|p|pp|print|printf|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\b(?![?!:])",name:"support.function.kernel.crystal"},{comment:"Constant name in any where",match:"\\b[_A-Z]+\\b",name:"variable.other.constant.crystal"},{begin:"(?=def\\b)(?<=^|\\s)(def)\\s+((?>[a-zA-Z_]\\w*(?>\\.|::))?(?>[a-zA-Z_]\\w*(?>[?!]|=(?!>))?|\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[][?=]?|\\[]=?))\\s*(\\()",beginCaptures:{1:{name:"keyword.control.def.crystal"},2:{name:"entity.name.function.crystal"},3:{name:"punctuation.definition.parameters.crystal"}},comment:"The method pattern comes from the symbol pattern. See there for an explanation.",end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.crystal"}},name:"meta.function.method.with-arguments.crystal",patterns:[{begin:"(?![\\s,)])",end:"(?=,|\\)\\s*)",patterns:[{captures:{1:{name:"storage.type.variable.crystal"},2:{name:"constant.other.symbol.hashkey.parameter.function.crystal"},3:{name:"punctuation.definition.constant.hashkey.crystal"},4:{name:"variable.parameter.function.crystal"}},match:"\\G([&*]?)(?:([_a-zA-Z]\\w*(:))|([_a-zA-Z]\\w*))"},{include:"$self"}]}]},{captures:{1:{name:"keyword.control.def.crystal"},3:{name:"entity.name.function.crystal"}},comment:" the optional name is just to catch the def also without a method-name",match:"(?=def\\b)(?<=^|\\s)(def)\\b(\\s+((?>[a-zA-Z_]\\w*(?>\\.|::))?(?>[a-zA-Z_]\\w*(?>[?!]|=(?!>))?|\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[][?=]?|\\[]=?)))?",name:"meta.function.method.without-arguments.crystal"},{comment:"Floating point literal (fraction)",match:"\\b\\d[0-9_]*\\.\\d[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\b",name:"constant.numeric.float.crystal"},{comment:"Floating point literal (exponent)",match:"\\b\\d[0-9_]*(\\.\\d[0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\b",name:"constant.numeric.float.crystal"},{comment:"Floating point literal (typed)",match:"\\b\\d[0-9_]*(\\.\\d[0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\b",name:"constant.numeric.float.crystal"},{comment:"Integer literal (decimal)",match:"\\b(?!0\\d)\\d[0-9_]*([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.decimal.crystal"},{comment:"Integer literal (hexadecimal)",match:"\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.hexadecimal.crystal"},{comment:"Integer literal (octal)",match:"\\b0o[0-7_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.octal.crystal"},{comment:"Integer literal (binary)",match:"\\b0b[01_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.binary.crystal"},{begin:":'",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.crystal"}},comment:"symbol literal with '' delimiter",end:"'",endCaptures:{0:{name:"punctuation.definition.symbol.end.crystal"}},name:"constant.other.symbol.crystal",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.crystal"}]},{begin:':"',beginCaptures:{0:{name:"punctuation.section.symbol.begin.crystal"}},comment:'symbol literal with "" delimiter',end:'"',endCaptures:{0:{name:"punctuation.section.symbol.end.crystal"}},name:"constant.other.symbol.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{comment:"Needs higher precedence than regular expressions.",match:"(?<!\\()/=",name:"keyword.operator.assignment.augmented.crystal"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"string literal with '' delimiter",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.single.crystal",patterns:[{match:"\\\\'|\\\\\\\\",name:"constant.character.escape.crystal"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:'string literal with interpolation and "" delimiter',end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.double.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allows for interpolation)",end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"%x\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%x\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%x<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:">",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%x\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%x\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?:^|(?<=[=>~(?:\\[,|&;]|[\\s;]if\\s|[\\s;]elsif\\s|[\\s;]while\\s|[\\s;]unless\\s|[\\s;]when\\s|[\\s;]assert_match\\s|[\\s;]or\\s|[\\s;]and\\s|[\\s;]not\\s|[\\s.]index\\s|[\\s.]scan\\s|[\\s.]sub\\s|[\\s.]sub!\\s|[\\s.]gsub\\s|[\\s.]gsub!\\s|[\\s.]match\\s)|(?<=^when\\s|^if\\s|^elsif\\s|^while\\s|^unless\\s))\\s*((/))(?![*+{}?])",captures:{1:{name:"string.regexp.classic.crystal"},2:{name:"punctuation.definition.string.crystal"}},comment:"regular expressions (normal) we only start a regexp if the character before it (excluding whitespace) is what we think is before a regexp",contentName:"string.regexp.classic.crystal",end:"((/[imsx]*))",patterns:[{include:"#regex_sub"}]},{begin:"%r\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\}[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},{begin:"%r\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\][imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},{begin:"%r\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\)[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},{begin:"%r<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:">[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},{begin:"%r\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\|[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"}]},{begin:"%Q?\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation ()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%Q?\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation []",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%Q?<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation <>",end:">",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%Q?\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation -- {}",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.double.crystal.mod",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%Q\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation -- ||",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"%[qwi]\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- ()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_parens"}]},{begin:"%[qwi]<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- <>",end:">",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\>|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_ltgt"}]},{begin:"%[qwi]\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- []",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\]|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_brackets"}]},{begin:"%[qwi]\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- {}",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\}|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_curly"}]},{begin:"%[qwi]\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- ||",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{comment:"Cant be named because its not necessarily an escape.",match:"\\\\."}]},{captures:{1:{name:"punctuation.definition.constant.crystal"}},comment:"symbols",match:"(?<!:)(:)(?>[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\][?=]?|@@?[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*)",name:"constant.other.symbol.crystal"},{captures:{1:{name:"punctuation.definition.constant.crystal"}},comment:"symbols",match:"(?>[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(?>[?!])?)(:)(?!:)",name:"constant.other.symbol.crystal.19syntax"},{captures:{1:{name:"punctuation.definition.comment.crystal"}},match:"(?:^[ \\t]+)?(#).*$\\n?",name:"comment.line.number-sign.crystal"},{match:"(?<!}})\\b_([\\w]+[?!]?)\\b(?!\\()",name:"comment.unused.crystal"},{begin:"(?><<-('?)((?:[_\\w]+_|)HTML)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded HTML and indented terminator",contentName:"text.html.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.html.crystal",patterns:[{include:"#heredoc"},{include:"text.html.basic"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)SQL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded SQL and indented terminator",contentName:"text.sql.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.sql.crystal",patterns:[{include:"#heredoc"},{include:"source.sql"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CSS)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded css and intented terminator",contentName:"text.css.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.css.crystal",patterns:[{include:"#heredoc"},{include:"source.css"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CPP)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded c++ and intented terminator",contentName:"text.c++.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.cplusplus.crystal",patterns:[{include:"#heredoc"},{include:"source.c++"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)C)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded c++ and intented terminator",contentName:"text.c.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.c.crystal",patterns:[{include:"#heredoc"},{include:"source.c"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded javascript and intented terminator",contentName:"text.js.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.js.crystal",patterns:[{include:"#heredoc"},{include:"source.js"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)JQUERY)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded javascript and intented terminator",contentName:"text.js.jquery.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.js.jquery.crystal",patterns:[{include:"#heredoc"},{include:"source.js.jquery"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded shell and intented terminator",contentName:"text.shell.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.shell.crystal",patterns:[{include:"#heredoc"},{include:"source.shell"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CRYSTAL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded crystal and intented terminator",contentName:"text.crystal.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.crystal.crystal",patterns:[{include:"#heredoc"},{include:"source.crystal"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-'(\\w+)')",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with indented terminator",end:"\\s*\\1\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.heredoc.crystal",patterns:[{include:"#heredoc"},{include:"#escaped_char"}]},{begin:"(?><<-(\\w+)\\b)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with indented terminator",end:"\\s*\\1\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.heredoc.crystal",patterns:[{include:"#heredoc"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?<={|{\\s|[^A-Za-z0-9_]do|^do|[^A-Za-z0-9_]do\\s|^do\\s)(\\|)",captures:{1:{name:"punctuation.separator.variable.crystal"}},end:"(?<!\\|)(\\|)(?!\\|)",patterns:[{include:"source.crystal"},{match:"[_a-zA-Z][_a-zA-Z0-9]*",name:"variable.other.block.crystal"},{match:",",name:"punctuation.separator.variable.crystal"}]},{match:"=>",name:"punctuation.separator.key-value"},{match:"->",name:"support.function.kernel.crystal"},{match:"<<=|%=|&{1,2}=|\\*=|\\*\\*=|\\+=|-=|\\^=|\\|{1,2}=|<<",name:"keyword.operator.assignment.augmented.crystal"},{match:"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\t])\\?",name:"keyword.operator.comparison.crystal"},{match:"(?<=^|[ \\t])!|&&|\\|\\||\\^",name:"keyword.operator.logical.crystal"},{match:"(\\{\\%|\\%\\}|\\{\\{|\\}\\})",name:"keyword.operator.macro.crystal"},{captures:{1:{name:"punctuation.separator.method.crystal"}},comment:"Safe navigation operator",match:"(&\\.)\\s*(?![A-Z])"},{match:"(%|&|\\*\\*|\\*|\\+|-|/)",name:"keyword.operator.arithmetic.crystal"},{match:"=",name:"keyword.operator.assignment.crystal"},{match:"\\||~|>>",name:"keyword.operator.other.crystal"},{match:":",name:"punctuation.separator.other.crystal"},{match:"\\;",name:"punctuation.separator.statement.crystal"},{match:",",name:"punctuation.separator.object.crystal"},{match:"\\.|::",name:"punctuation.separator.method.crystal"},{match:"\\{|\\}",name:"punctuation.section.scope.crystal"},{match:"\\[|\\]",name:"punctuation.section.array.crystal"},{match:"\\(|\\)",name:"punctuation.section.function.crystal"},{begin:"(?=[a-zA-Z0-9_!?]+\\()",end:"(?<=\\))",name:"meta.function-call.crystal",patterns:[{match:"([a-zA-Z0-9_!?]+)(?=\\()",name:"entity.name.function.crystal"},{include:"$self"}]},{comment:"This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors",match:"((?<=\\W)\\b|^)\\w+\\b(?=\\s*([\\])}=+\\-\\*\\/\\^$\\,\\.]|<\\s|<<[\\s|\\.]))",name:"variable.other.crystal"}],repository:{escaped_char:{comment:"https://crystal-lang.org/reference/syntax_and_semantics/literals/string.html",match:"\\\\(?:[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\\{[a-fA-F0-9 ]+\\}|.)",name:"constant.character.escape.crystal"},heredoc:{begin:"^<<-?\\w+",end:"$",patterns:[{include:"$self"}]},interpolated_crystal:{patterns:[{begin:"#\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.crystal"}},contentName:"source.crystal",end:"(\\})",endCaptures:{0:{name:"punctuation.section.embedded.end.crystal"},1:{name:"source.crystal"}},name:"meta.embedded.line.crystal",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}],repository:{nest_curly_and_self:{patterns:[{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}}},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(#@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.instance.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(#@@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.class.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(#\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.crystal"}]},nest_brackets:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\]",patterns:[{include:"#nest_brackets"}]},nest_brackets_i:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\]",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},nest_brackets_r:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\]",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},nest_curly:{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#nest_curly"}]},nest_curly_and_self:{patterns:[{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]},nest_curly_i:{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},nest_curly_r:{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},nest_ltgt:{begin:"<",captures:{0:{name:"punctuation.section.scope.crystal"}},end:">",patterns:[{include:"#nest_ltgt"}]},nest_ltgt_i:{begin:"<",captures:{0:{name:"punctuation.section.scope.crystal"}},end:">",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},nest_ltgt_r:{begin:"<",captures:{0:{name:"punctuation.section.scope.crystal"}},end:">",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},nest_parens:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\)",patterns:[{include:"#nest_parens"}]},nest_parens_i:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\)",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},nest_parens_r:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\)",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},regex_sub:{patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{captures:{1:{name:"punctuation.definition.arbitrary-repetition.crystal"},3:{name:"punctuation.definition.arbitrary-repetition.crystal"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.crystal"},{begin:"\\[(?:\\^?])?",captures:{0:{name:"punctuation.definition.character-class.crystal"}},end:"]",name:"string.regexp.character-class.crystal",patterns:[{include:"#escaped_char"}]},{begin:"\\(",captures:{0:{name:"punctuation.definition.group.crystal"}},end:"\\)",name:"string.regexp.group.crystal",patterns:[{include:"#regex_sub"}]},{captures:{1:{name:"punctuation.definition.comment.crystal"}},comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",match:"(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",name:"comment.line.number-sign.crystal"}]}},scopeName:"source.crystal",embeddedLangs:["html","sql","css","c","javascript","shellscript"]})]));}};});
2
+ //# sourceMappingURL=crystal-4277175c.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crystal-4277175c.cjs.js","sources":["../../../node_modules/shiki/dist/langs/crystal.mjs"],"sourcesContent":["import html from './html.mjs';\nimport sql from './sql.mjs';\nimport css from './css.mjs';\nimport c from './c.mjs';\nimport javascript from './javascript.mjs';\nimport shellscript from './shellscript.mjs';\n\nconst lang = Object.freeze({ \"displayName\": \"Crystal\", \"fileTypes\": [\"cr\"], \"firstLineMatch\": \"^#!/.*\\\\bcrystal\", \"foldingStartMarker\": `^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\"(\\\\\\\\.|[^\"])*+\"|'(\\\\\\\\.|[^'])*+'|[^#\"'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-+=&|*/~%^<>~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\"(\\\\\\\\.|[^\"])*+\"|'(\\\\\\\\.|[^'])*+'|[^#\"'])*(\\\\{(?![^}]*+\\\\})|\\\\[(?![^\\\\]]*+\\\\]))).*$|[#].*?\\\\(fold\\\\)\\\\s*+$`, \"foldingStopMarker\": \"((^|;)\\\\s*+end\\\\s*+([#].*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[}\\\\]],?\\\\s*+([#].*)?$|[#].*?\\\\(end\\\\)\\\\s*+$|^=end)\", \"name\": \"crystal\", \"patterns\": [{ \"captures\": { \"1\": { \"name\": \"keyword.control.class.crystal\" }, \"2\": { \"name\": \"keyword.control.class.crystal\" }, \"3\": { \"name\": \"entity.name.type.class.crystal\" }, \"5\": { \"name\": \"punctuation.separator.crystal\" }, \"6\": { \"name\": \"support.class.other.type-param.crystal\" }, \"7\": { \"name\": \"entity.other.inherited-class.crystal\" }, \"8\": { \"name\": \"punctuation.separator.crystal\" }, \"9\": { \"name\": \"punctuation.separator.crystal\" }, \"10\": { \"name\": \"support.class.other.type-param.crystal\" }, \"11\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.A-Z_:\\\\x{80}-\\\\x{10FFFF}][.\\\\w:\\\\x{80}-\\\\x{10FFFF}]*(\\\\(([,\\\\s.a-zA-Z0-9_:\\\\x{80}-\\\\x{10FFFF}]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\w\\\\x{80}-\\\\x{10FFFF}]*(\\\\(([.a-zA-Z0-9_:]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.A-Z0-9_:\\\\x{80}-\\\\x{10FFFF}]+))\", \"name\": \"meta.class.crystal\" }, { \"captures\": { \"1\": { \"name\": \"keyword.control.module.crystal\" }, \"2\": { \"name\": \"entity.name.type.module.crystal\" }, \"3\": { \"name\": \"entity.other.inherited-class.module.first.crystal\" }, \"4\": { \"name\": \"punctuation.separator.inheritance.crystal\" }, \"5\": { \"name\": \"entity.other.inherited-class.module.second.crystal\" }, \"6\": { \"name\": \"punctuation.separator.inheritance.crystal\" }, \"7\": { \"name\": \"entity.other.inherited-class.module.third.crystal\" }, \"8\": { \"name\": \"punctuation.separator.inheritance.crystal\" } }, \"match\": \"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*)\", \"name\": \"meta.module.crystal\" }, { \"captures\": { \"1\": { \"name\": \"keyword.control.lib.crystal\" }, \"2\": { \"name\": \"entity.name.type.lib.crystal\" }, \"3\": { \"name\": \"entity.other.inherited-class.lib.first.crystal\" }, \"4\": { \"name\": \"punctuation.separator.inheritance.crystal\" }, \"5\": { \"name\": \"entity.other.inherited-class.lib.second.crystal\" }, \"6\": { \"name\": \"punctuation.separator.inheritance.crystal\" }, \"7\": { \"name\": \"entity.other.inherited-class.lib.third.crystal\" }, \"8\": { \"name\": \"punctuation.separator.inheritance.crystal\" } }, \"match\": \"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)\", \"name\": \"meta.lib.crystal\" }, { \"captures\": { \"1\": { \"name\": \"keyword.control.lib.type.crystal\" }, \"2\": { \"name\": \"entity.name.lib.type.crystal\" }, \"3\": { \"name\": \"keyword.control.lib.crystal\" }, \"4\": { \"name\": \"entity.name.lib.type.value.crystal\" } }, \"comment\": \"type in lib\", \"match\": \"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)\", \"name\": \"meta.lib.type.crystal\" }, { \"comment\": \"everything being a reserved word, not a value, and needing a 'end' is a..\", \"match\": \"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![?!:])\", \"name\": \"keyword.control.crystal\" }, { \"comment\": \"everything being a reserved word, not a value, and not needing a 'end' is a..\", \"match\": \"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![?!:])\", \"name\": \"keyword.control.primary.crystal\" }, { \"comment\": \"everything being a spec keyword, not a value, and needing a block is a..\", \"match\": \"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![?!:])\", \"name\": \"keyword.control.crystal\" }, { \"comment\": \"contextual smart pair support for block parameters\", \"match\": \"(?<!\\\\.)\\\\bdo\\\\b\\\\s*\", \"name\": \"keyword.control.start-block.crystal\" }, { \"comment\": \"contextual smart pair support\", \"match\": \"(?<=\\\\{)(\\\\s+)\", \"name\": \"meta.syntax.crystal.start-block\" }, { \"comment\": \"Just as above but being not a logical operation\", \"match\": \"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![?!:])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\b)\", \"name\": \"keyword.control.pseudo-method.crystal\" }, { \"match\": \"\\\\bnil\\\\b(?![?!:])\", \"name\": \"constant.language.nil.crystal\" }, { \"match\": \"\\\\b(true|false)\\\\b(?![?!:])\", \"name\": \"constant.language.boolean.crystal\" }, { \"match\": \"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![?!:])\", \"name\": \"variable.language.crystal\" }, { \"match\": \"\\\\b(self)\\\\b(?![?!:])\", \"name\": \"variable.language.self.crystal\" }, { \"comment\": \"https://crystal-lang.org/api/0.36.1/Object.html#macro-summary\", \"match\": \"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![?!:])\", \"name\": \"support.function.kernel.crystal\" }, { \"begin\": \"\\\\b(require)\\\\b\", \"captures\": { \"1\": { \"name\": \"keyword.other.special-method.crystal\" } }, \"end\": \"$|(?=#)\", \"name\": \"meta.require.crystal\", \"patterns\": [{ \"include\": \"$self\" }] }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(@)[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*[?!=]?\", \"name\": \"variable.other.readwrite.instance.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(@@)[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*[?!=]?\", \"name\": \"variable.other.readwrite.class.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(\\\\$)[a-zA-Z_]\\\\w*\", \"name\": \"variable.other.readwrite.global.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(?!%[Qxrqwi]?[(\\\\[{<\\\\|])%([a-zA-Z_]\\\\w*\\\\.)*[a-zA-Z_]\\\\w*\", \"name\": \"variable.other.readwrite.fresh.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(\\\\$)(!|@|&|`|'|\\\\+|\\\\d+|~|=|/|\\\\\\\\|,|;|\\\\.|<|>|_|\\\\*|\\\\$|\\\\?|:|\\\"|-[0adFiIlpv])\", \"name\": \"variable.other.readwrite.global.pre-defined.crystal\" }, { \"begin\": \"\\\\b(ENV)\\\\[\", \"beginCaptures\": { \"1\": { \"name\": \"variable.other.constant.crystal\" } }, \"end\": \"\\\\]\", \"name\": \"meta.environment-variable.crystal\", \"patterns\": [{ \"include\": \"$self\" }] }, { \"comment\": \"Literals name of Crystal\", \"match\": \"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*\", \"name\": \"support.class.crystal\" }, { \"comment\": \"Fetch from https://crystal-lang.org/api/0.36.1/toplevel.html\", \"match\": \"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|p|pp|print|printf|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![?!:])\", \"name\": \"support.function.kernel.crystal\" }, { \"comment\": \"Constant name in any where\", \"match\": \"\\\\b[_A-Z]+\\\\b\", \"name\": \"variable.other.constant.crystal\" }, { \"begin\": \"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|\\\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][?=]?|\\\\[]=?))\\\\s*(\\\\()\", \"beginCaptures\": { \"1\": { \"name\": \"keyword.control.def.crystal\" }, \"2\": { \"name\": \"entity.name.function.crystal\" }, \"3\": { \"name\": \"punctuation.definition.parameters.crystal\" } }, \"comment\": \"The method pattern comes from the symbol pattern. See there for an explanation.\", \"end\": \"\\\\)\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.parameters.crystal\" } }, \"name\": \"meta.function.method.with-arguments.crystal\", \"patterns\": [{ \"begin\": \"(?![\\\\s,)])\", \"end\": \"(?=,|\\\\)\\\\s*)\", \"patterns\": [{ \"captures\": { \"1\": { \"name\": \"storage.type.variable.crystal\" }, \"2\": { \"name\": \"constant.other.symbol.hashkey.parameter.function.crystal\" }, \"3\": { \"name\": \"punctuation.definition.constant.hashkey.crystal\" }, \"4\": { \"name\": \"variable.parameter.function.crystal\" } }, \"match\": \"\\\\G([&*]?)(?:([_a-zA-Z]\\\\w*(:))|([_a-zA-Z]\\\\w*))\" }, { \"include\": \"$self\" }] }] }, { \"captures\": { \"1\": { \"name\": \"keyword.control.def.crystal\" }, \"3\": { \"name\": \"entity.name.function.crystal\" } }, \"comment\": \" the optional name is just to catch the def also without a method-name\", \"match\": \"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|\\\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][?=]?|\\\\[]=?)))?\", \"name\": \"meta.function.method.without-arguments.crystal\" }, { \"comment\": \"Floating point literal (fraction)\", \"match\": \"\\\\b\\\\d[0-9_]*\\\\.\\\\d[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\\\b\", \"name\": \"constant.numeric.float.crystal\" }, { \"comment\": \"Floating point literal (exponent)\", \"match\": \"\\\\b\\\\d[0-9_]*(\\\\.\\\\d[0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\\\b\", \"name\": \"constant.numeric.float.crystal\" }, { \"comment\": \"Floating point literal (typed)\", \"match\": \"\\\\b\\\\d[0-9_]*(\\\\.\\\\d[0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\\\b\", \"name\": \"constant.numeric.float.crystal\" }, { \"comment\": \"Integer literal (decimal)\", \"match\": \"\\\\b(?!0\\\\d)\\\\d[0-9_]*([ui](8|16|32|64|128))?\\\\b\", \"name\": \"constant.numeric.integer.decimal.crystal\" }, { \"comment\": \"Integer literal (hexadecimal)\", \"match\": \"\\\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128))?\\\\b\", \"name\": \"constant.numeric.integer.hexadecimal.crystal\" }, { \"comment\": \"Integer literal (octal)\", \"match\": \"\\\\b0o[0-7_]+([ui](8|16|32|64|128))?\\\\b\", \"name\": \"constant.numeric.integer.octal.crystal\" }, { \"comment\": \"Integer literal (binary)\", \"match\": \"\\\\b0b[01_]+([ui](8|16|32|64|128))?\\\\b\", \"name\": \"constant.numeric.integer.binary.crystal\" }, { \"begin\": \":'\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.symbol.begin.crystal\" } }, \"comment\": \"symbol literal with '' delimiter\", \"end\": \"'\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.symbol.end.crystal\" } }, \"name\": \"constant.other.symbol.crystal\", \"patterns\": [{ \"match\": \"\\\\\\\\['\\\\\\\\]\", \"name\": \"constant.character.escape.crystal\" }] }, { \"begin\": ':\"', \"beginCaptures\": { \"0\": { \"name\": \"punctuation.section.symbol.begin.crystal\" } }, \"comment\": 'symbol literal with \"\" delimiter', \"end\": '\"', \"endCaptures\": { \"0\": { \"name\": \"punctuation.section.symbol.end.crystal\" } }, \"name\": \"constant.other.symbol.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"comment\": \"Needs higher precedence than regular expressions.\", \"match\": \"(?<!\\\\()/=\", \"name\": \"keyword.operator.assignment.augmented.crystal\" }, { \"begin\": \"'\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"string literal with '' delimiter\", \"end\": \"'\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.single.crystal\", \"patterns\": [{ \"match\": \"\\\\\\\\'|\\\\\\\\\\\\\\\\\", \"name\": \"constant.character.escape.crystal\" }] }, { \"begin\": '\"', \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": 'string literal with interpolation and \"\" delimiter', \"end\": '\"', \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.double.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"`\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"execute string (allows for interpolation)\", \"end\": \"`\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"%x\\\\{\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"execute string (allow for interpolation)\", \"end\": \"\\\\}\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_curly_i\" }] }, { \"begin\": \"%x\\\\[\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"execute string (allow for interpolation)\", \"end\": \"\\\\]\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_brackets_i\" }] }, { \"begin\": \"%x<\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"execute string (allow for interpolation)\", \"end\": \">\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_ltgt_i\" }] }, { \"begin\": \"%x\\\\(\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"execute string (allow for interpolation)\", \"end\": \"\\\\)\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_parens_i\" }] }, { \"begin\": \"%x\\\\|\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"execute string (allow for interpolation)\", \"end\": \"\\\\|\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.interpolated.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?:^|(?<=[=>~(?:\\\\[,|&;]|[\\\\s;]if\\\\s|[\\\\s;]elsif\\\\s|[\\\\s;]while\\\\s|[\\\\s;]unless\\\\s|[\\\\s;]when\\\\s|[\\\\s;]assert_match\\\\s|[\\\\s;]or\\\\s|[\\\\s;]and\\\\s|[\\\\s;]not\\\\s|[\\\\s.]index\\\\s|[\\\\s.]scan\\\\s|[\\\\s.]sub\\\\s|[\\\\s.]sub!\\\\s|[\\\\s.]gsub\\\\s|[\\\\s.]gsub!\\\\s|[\\\\s.]match\\\\s)|(?<=^when\\\\s|^if\\\\s|^elsif\\\\s|^while\\\\s|^unless\\\\s))\\\\s*((/))(?![*+{}?])\", \"captures\": { \"1\": { \"name\": \"string.regexp.classic.crystal\" }, \"2\": { \"name\": \"punctuation.definition.string.crystal\" } }, \"comment\": \"regular expressions (normal) we only start a regexp if the character before it (excluding whitespace) is what we think is before a regexp\", \"contentName\": \"string.regexp.classic.crystal\", \"end\": \"((/[imsx]*))\", \"patterns\": [{ \"include\": \"#regex_sub\" }] }, { \"begin\": \"%r\\\\{\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"regular expressions (literal)\", \"end\": \"\\\\}[imsx]*\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.regexp.mod-r.crystal\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_curly_r\" }] }, { \"begin\": \"%r\\\\[\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"regular expressions (literal)\", \"end\": \"\\\\][imsx]*\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.regexp.mod-r.crystal\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_brackets_r\" }] }, { \"begin\": \"%r\\\\(\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"regular expressions (literal)\", \"end\": \"\\\\)[imsx]*\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.regexp.mod-r.crystal\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_parens_r\" }] }, { \"begin\": \"%r<\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"regular expressions (literal)\", \"end\": \">[imsx]*\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.regexp.mod-r.crystal\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_ltgt_r\" }] }, { \"begin\": \"%r\\\\|\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"regular expressions (literal)\", \"end\": \"\\\\|[imsx]*\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.regexp.mod-r.crystal\", \"patterns\": [{ \"include\": \"#regex_sub\" }] }, { \"begin\": \"%Q?\\\\(\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal capable of interpolation ()\", \"end\": \"\\\\)\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.upper.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_parens_i\" }] }, { \"begin\": \"%Q?\\\\[\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal capable of interpolation []\", \"end\": \"\\\\]\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.upper.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_brackets_i\" }] }, { \"begin\": \"%Q?<\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal capable of interpolation <>\", \"end\": \">\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.upper.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_ltgt_i\" }] }, { \"begin\": \"%Q?\\\\{\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal capable of interpolation -- {}\", \"end\": \"\\\\}\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.double.crystal.mod\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_curly_i\" }] }, { \"begin\": \"%Q\\\\|\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal capable of interpolation -- ||\", \"end\": \"\\\\|\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.upper.crystal\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"%[qwi]\\\\(\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal incapable of interpolation -- ()\", \"end\": \"\\\\)\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.lower.crystal\", \"patterns\": [{ \"match\": \"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\\", \"name\": \"constant.character.escape.crystal\" }, { \"include\": \"#nest_parens\" }] }, { \"begin\": \"%[qwi]<\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal incapable of interpolation -- <>\", \"end\": \">\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.lower.crystal\", \"patterns\": [{ \"match\": \"\\\\\\\\>|\\\\\\\\\\\\\\\\\", \"name\": \"constant.character.escape.crystal\" }, { \"include\": \"#nest_ltgt\" }] }, { \"begin\": \"%[qwi]\\\\[\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal incapable of interpolation -- []\", \"end\": \"\\\\]\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.lower.crystal\", \"patterns\": [{ \"match\": \"\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\\", \"name\": \"constant.character.escape.crystal\" }, { \"include\": \"#nest_brackets\" }] }, { \"begin\": \"%[qwi]\\\\{\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal incapable of interpolation -- {}\", \"end\": \"\\\\}\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.lower.crystal\", \"patterns\": [{ \"match\": \"\\\\\\\\\\\\}|\\\\\\\\\\\\\\\\\", \"name\": \"constant.character.escape.crystal\" }, { \"include\": \"#nest_curly\" }] }, { \"begin\": \"%[qwi]\\\\|\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"literal incapable of interpolation -- ||\", \"end\": \"\\\\|\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.quoted.other.literal.lower.crystal\", \"patterns\": [{ \"comment\": \"Cant be named because its not necessarily an escape.\", \"match\": \"\\\\\\\\.\" }] }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.constant.crystal\" } }, \"comment\": \"symbols\", \"match\": \"(?<!:)(:)(?>[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\][?=]?|@@?[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*)\", \"name\": \"constant.other.symbol.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.constant.crystal\" } }, \"comment\": \"symbols\", \"match\": \"(?>[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(?>[?!])?)(:)(?!:)\", \"name\": \"constant.other.symbol.crystal.19syntax\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.comment.crystal\" } }, \"match\": \"(?:^[ \\\\t]+)?(#).*$\\\\n?\", \"name\": \"comment.line.number-sign.crystal\" }, { \"match\": \"(?<!}})\\\\b_([\\\\w]+[?!]?)\\\\b(?!\\\\()\", \"name\": \"comment.unused.crystal\" }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded HTML and indented terminator\", \"contentName\": \"text.html.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.html.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"text.html.basic\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded SQL and indented terminator\", \"contentName\": \"text.sql.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.sql.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.sql\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded css and intented terminator\", \"contentName\": \"text.css.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.css.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.css\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded c++ and intented terminator\", \"contentName\": \"text.c++.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.cplusplus.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.c++\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded c++ and intented terminator\", \"contentName\": \"text.c.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.c.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.c\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)(?:JS|JAVASCRIPT))\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded javascript and intented terminator\", \"contentName\": \"text.js.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.js.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.js\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded javascript and intented terminator\", \"contentName\": \"text.js.jquery.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.js.jquery.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.js.jquery\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)(?:SH|SHELL))\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded shell and intented terminator\", \"contentName\": \"text.shell.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.shell.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.shell\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with embedded crystal and intented terminator\", \"contentName\": \"text.crystal.embedded.crystal\", \"end\": \"\\\\s*\\\\2\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.embedded.crystal.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"source.crystal\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-'(\\\\w+)')\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with indented terminator\", \"end\": \"\\\\s*\\\\1\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.heredoc.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?><<-(\\\\w+)\\\\b)\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.begin.crystal\" } }, \"comment\": \"heredoc with indented terminator\", \"end\": \"\\\\s*\\\\1\\\\b\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.definition.string.end.crystal\" } }, \"name\": \"string.unquoted.heredoc.crystal\", \"patterns\": [{ \"include\": \"#heredoc\" }, { \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }] }, { \"begin\": \"(?<={|{\\\\s|[^A-Za-z0-9_]do|^do|[^A-Za-z0-9_]do\\\\s|^do\\\\s)(\\\\|)\", \"captures\": { \"1\": { \"name\": \"punctuation.separator.variable.crystal\" } }, \"end\": \"(?<!\\\\|)(\\\\|)(?!\\\\|)\", \"patterns\": [{ \"include\": \"source.crystal\" }, { \"match\": \"[_a-zA-Z][_a-zA-Z0-9]*\", \"name\": \"variable.other.block.crystal\" }, { \"match\": \",\", \"name\": \"punctuation.separator.variable.crystal\" }] }, { \"match\": \"=>\", \"name\": \"punctuation.separator.key-value\" }, { \"match\": \"->\", \"name\": \"support.function.kernel.crystal\" }, { \"match\": \"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<\", \"name\": \"keyword.operator.assignment.augmented.crystal\" }, { \"match\": \"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\\\t])\\\\?\", \"name\": \"keyword.operator.comparison.crystal\" }, { \"match\": \"(?<=^|[ \\\\t])!|&&|\\\\|\\\\||\\\\^\", \"name\": \"keyword.operator.logical.crystal\" }, { \"match\": \"(\\\\{\\\\%|\\\\%\\\\}|\\\\{\\\\{|\\\\}\\\\})\", \"name\": \"keyword.operator.macro.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.separator.method.crystal\" } }, \"comment\": \"Safe navigation operator\", \"match\": \"(&\\\\.)\\\\s*(?![A-Z])\" }, { \"match\": \"(%|&|\\\\*\\\\*|\\\\*|\\\\+|-|/)\", \"name\": \"keyword.operator.arithmetic.crystal\" }, { \"match\": \"=\", \"name\": \"keyword.operator.assignment.crystal\" }, { \"match\": \"\\\\||~|>>\", \"name\": \"keyword.operator.other.crystal\" }, { \"match\": \":\", \"name\": \"punctuation.separator.other.crystal\" }, { \"match\": \"\\\\;\", \"name\": \"punctuation.separator.statement.crystal\" }, { \"match\": \",\", \"name\": \"punctuation.separator.object.crystal\" }, { \"match\": \"\\\\.|::\", \"name\": \"punctuation.separator.method.crystal\" }, { \"match\": \"\\\\{|\\\\}\", \"name\": \"punctuation.section.scope.crystal\" }, { \"match\": \"\\\\[|\\\\]\", \"name\": \"punctuation.section.array.crystal\" }, { \"match\": \"\\\\(|\\\\)\", \"name\": \"punctuation.section.function.crystal\" }, { \"begin\": \"(?=[a-zA-Z0-9_!?]+\\\\()\", \"end\": \"(?<=\\\\))\", \"name\": \"meta.function-call.crystal\", \"patterns\": [{ \"match\": \"([a-zA-Z0-9_!?]+)(?=\\\\()\", \"name\": \"entity.name.function.crystal\" }, { \"include\": \"$self\" }] }, { \"comment\": \"This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors\", \"match\": \"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([\\\\])}=+\\\\-\\\\*\\\\/\\\\^$\\\\,\\\\.]|<\\\\s|<<[\\\\s|\\\\.]))\", \"name\": \"variable.other.crystal\" }], \"repository\": { \"escaped_char\": { \"comment\": \"https://crystal-lang.org/reference/syntax_and_semantics/literals/string.html\", \"match\": \"\\\\\\\\(?:[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\\\\{[a-fA-F0-9 ]+\\\\}|.)\", \"name\": \"constant.character.escape.crystal\" }, \"heredoc\": { \"begin\": \"^<<-?\\\\w+\", \"end\": \"$\", \"patterns\": [{ \"include\": \"$self\" }] }, \"interpolated_crystal\": { \"patterns\": [{ \"begin\": \"#\\\\{\", \"beginCaptures\": { \"0\": { \"name\": \"punctuation.section.embedded.begin.crystal\" } }, \"contentName\": \"source.crystal\", \"end\": \"(\\\\})\", \"endCaptures\": { \"0\": { \"name\": \"punctuation.section.embedded.end.crystal\" }, \"1\": { \"name\": \"source.crystal\" } }, \"name\": \"meta.embedded.line.crystal\", \"patterns\": [{ \"include\": \"#nest_curly_and_self\" }, { \"include\": \"$self\" }], \"repository\": { \"nest_curly_and_self\": { \"patterns\": [{ \"begin\": \"\\\\{\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\}\", \"patterns\": [{ \"include\": \"#nest_curly_and_self\" }] }, { \"include\": \"$self\" }] } } }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(#@)[a-zA-Z_]\\\\w*\", \"name\": \"variable.other.readwrite.instance.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(#@@)[a-zA-Z_]\\\\w*\", \"name\": \"variable.other.readwrite.class.crystal\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.variable.crystal\" } }, \"match\": \"(#\\\\$)[a-zA-Z_]\\\\w*\", \"name\": \"variable.other.readwrite.global.crystal\" }] }, \"nest_brackets\": { \"begin\": \"\\\\[\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\]\", \"patterns\": [{ \"include\": \"#nest_brackets\" }] }, \"nest_brackets_i\": { \"begin\": \"\\\\[\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\]\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_brackets_i\" }] }, \"nest_brackets_r\": { \"begin\": \"\\\\[\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\]\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_brackets_r\" }] }, \"nest_curly\": { \"begin\": \"\\\\{\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\}\", \"patterns\": [{ \"include\": \"#nest_curly\" }] }, \"nest_curly_and_self\": { \"patterns\": [{ \"begin\": \"\\\\{\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\}\", \"patterns\": [{ \"include\": \"#nest_curly_and_self\" }] }, { \"include\": \"$self\" }] }, \"nest_curly_i\": { \"begin\": \"\\\\{\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\}\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_curly_i\" }] }, \"nest_curly_r\": { \"begin\": \"\\\\{\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\}\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_curly_r\" }] }, \"nest_ltgt\": { \"begin\": \"<\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \">\", \"patterns\": [{ \"include\": \"#nest_ltgt\" }] }, \"nest_ltgt_i\": { \"begin\": \"<\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \">\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_ltgt_i\" }] }, \"nest_ltgt_r\": { \"begin\": \"<\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \">\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_ltgt_r\" }] }, \"nest_parens\": { \"begin\": \"\\\\(\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\)\", \"patterns\": [{ \"include\": \"#nest_parens\" }] }, \"nest_parens_i\": { \"begin\": \"\\\\(\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\)\", \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"include\": \"#nest_parens_i\" }] }, \"nest_parens_r\": { \"begin\": \"\\\\(\", \"captures\": { \"0\": { \"name\": \"punctuation.section.scope.crystal\" } }, \"end\": \"\\\\)\", \"patterns\": [{ \"include\": \"#regex_sub\" }, { \"include\": \"#nest_parens_r\" }] }, \"regex_sub\": { \"patterns\": [{ \"include\": \"#interpolated_crystal\" }, { \"include\": \"#escaped_char\" }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.arbitrary-repetition.crystal\" }, \"3\": { \"name\": \"punctuation.definition.arbitrary-repetition.crystal\" } }, \"match\": \"({)\\\\d+(,\\\\d+)?(})\", \"name\": \"string.regexp.arbitrary-repetition.crystal\" }, { \"begin\": \"\\\\[(?:\\\\^?])?\", \"captures\": { \"0\": { \"name\": \"punctuation.definition.character-class.crystal\" } }, \"end\": \"]\", \"name\": \"string.regexp.character-class.crystal\", \"patterns\": [{ \"include\": \"#escaped_char\" }] }, { \"begin\": \"\\\\(\", \"captures\": { \"0\": { \"name\": \"punctuation.definition.group.crystal\" } }, \"end\": \"\\\\)\", \"name\": \"string.regexp.group.crystal\", \"patterns\": [{ \"include\": \"#regex_sub\" }] }, { \"captures\": { \"1\": { \"name\": \"punctuation.definition.comment.crystal\" } }, \"comment\": \"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.\", \"match\": \"(?<=^|\\\\s)(#)\\\\s[[a-zA-Z0-9,. \\\\t?!-][^\\\\x{00}-\\\\x{7F}]]*$\", \"name\": \"comment.line.number-sign.crystal\" }] } }, \"scopeName\": \"source.crystal\", \"embeddedLangs\": [\"html\", \"sql\", \"css\", \"c\", \"javascript\", \"shellscript\"] });\nvar crystal = [\n ...html,\n ...sql,\n ...css,\n ...c,\n ...javascript,\n ...shellscript,\n lang\n];\n\nexport { crystal as default };\n"],"names":["crystal","html","sql","css","c","javascript","shellscript","Object","freeze","displayName","fileTypes","firstLineMatch","foldingStartMarker","foldingStopMarker","name","patterns","captures","match","comment","begin","end","include","beginCaptures","endCaptures","contentName","repository","escaped_char","heredoc","interpolated_crystal","nest_curly_and_self","nest_brackets","nest_brackets_i","nest_brackets_r","nest_curly","nest_curly_i","nest_curly_r","nest_ltgt","nest_ltgt_i","nest_ltgt_r","nest_parens","nest_parens_i","nest_parens_r","regex_sub","scopeName","embeddedLangs"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ import e from"./html-1668d3d8.esm.js";import t from"./sql-aa8ea56a.esm.js";import n from"./css-0e55c41d.esm.js";import a from"./c-8cfe7ebc.esm.js";import r from"./javascript-ba920388.esm.js";import i from"./shellscript-279f3c20.esm.js";var s=[...e,...t,...n,...a,...r,...i,Object.freeze({displayName:"Crystal",fileTypes:["cr"],firstLineMatch:"^#!/.*\\bcrystal",foldingStartMarker:"^(\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\bend\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\"(\\\\.|[^\"])*+\"|'(\\\\.|[^'])*+'|[^#\"'])*(\\s(do|begin|case)|(?<!\\$)[-+=&|*/~%^<>~]\\s*+(if|unless)))\\b(?![^;]*+;.*?\\bend\\b)|(\"(\\\\.|[^\"])*+\"|'(\\\\.|[^'])*+'|[^#\"'])*(\\{(?![^}]*+\\})|\\[(?![^\\]]*+\\]))).*$|[#].*?\\(fold\\)\\s*+$",foldingStopMarker:"((^|;)\\s*+end\\s*+([#].*)?$|(^|;)\\s*+end\\..*$|^\\s*+[}\\]],?\\s*+([#].*)?$|[#].*?\\(end\\)\\s*+$|^=end)",name:"crystal",patterns:[{captures:{1:{name:"keyword.control.class.crystal"},2:{name:"keyword.control.class.crystal"},3:{name:"entity.name.type.class.crystal"},5:{name:"punctuation.separator.crystal"},6:{name:"support.class.other.type-param.crystal"},7:{name:"entity.other.inherited-class.crystal"},8:{name:"punctuation.separator.crystal"},9:{name:"punctuation.separator.crystal"},10:{name:"support.class.other.type-param.crystal"},11:{name:"punctuation.definition.variable.crystal"}},match:"^\\s*(abstract)?\\s*(class|struct|union|annotation|enum)\\s+(([.A-Z_:\\x{80}-\\x{10FFFF}][.\\w:\\x{80}-\\x{10FFFF}]*(\\(([,\\s.a-zA-Z0-9_:\\x{80}-\\x{10FFFF}]+)\\))?(\\s*(<)\\s*[.:A-Z\\x{80}-\\x{10FFFF}][.:\\w\\x{80}-\\x{10FFFF}]*(\\(([.a-zA-Z0-9_:]+\\s,)\\))?)?)|((<<)\\s*[.A-Z0-9_:\\x{80}-\\x{10FFFF}]+))",name:"meta.class.crystal"},{captures:{1:{name:"keyword.control.module.crystal"},2:{name:"entity.name.type.module.crystal"},3:{name:"entity.other.inherited-class.module.first.crystal"},4:{name:"punctuation.separator.inheritance.crystal"},5:{name:"entity.other.inherited-class.module.second.crystal"},6:{name:"punctuation.separator.inheritance.crystal"},7:{name:"entity.other.inherited-class.module.third.crystal"},8:{name:"punctuation.separator.inheritance.crystal"}},match:"^\\s*(module)\\s+(([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))?([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))?([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))*[A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*)",name:"meta.module.crystal"},{captures:{1:{name:"keyword.control.lib.crystal"},2:{name:"entity.name.type.lib.crystal"},3:{name:"entity.other.inherited-class.lib.first.crystal"},4:{name:"punctuation.separator.inheritance.crystal"},5:{name:"entity.other.inherited-class.lib.second.crystal"},6:{name:"punctuation.separator.inheritance.crystal"},7:{name:"entity.other.inherited-class.lib.third.crystal"},8:{name:"punctuation.separator.inheritance.crystal"}},match:"^\\s*(lib)\\s+(([A-Z]\\w*(::))?([A-Z]\\w*(::))?([A-Z]\\w*(::))*[A-Z]\\w*)",name:"meta.lib.crystal"},{captures:{1:{name:"keyword.control.lib.type.crystal"},2:{name:"entity.name.lib.type.crystal"},3:{name:"keyword.control.lib.crystal"},4:{name:"entity.name.lib.type.value.crystal"}},comment:"type in lib",match:"(?<!\\.)\\b(type)\\s+([A-Z]\\w+)\\s*(=)\\s*(.+)",name:"meta.lib.type.crystal"},{comment:"everything being a reserved word, not a value, and needing a 'end' is a..",match:"(?<!\\.)\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\b(?![?!:])",name:"keyword.control.crystal"},{comment:"everything being a reserved word, not a value, and not needing a 'end' is a..",match:"(?<!\\.)\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\b(?![?!:])",name:"keyword.control.primary.crystal"},{comment:"everything being a spec keyword, not a value, and needing a block is a..",match:"(?<!\\.)\\b(describe|context|it|expect_raises)\\b(?![?!:])",name:"keyword.control.crystal"},{comment:"contextual smart pair support for block parameters",match:"(?<!\\.)\\bdo\\b\\s*",name:"keyword.control.start-block.crystal"},{comment:"contextual smart pair support",match:"(?<=\\{)(\\s+)",name:"meta.syntax.crystal.start-block"},{comment:"Just as above but being not a logical operation",match:"(?<!\\.)\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\b(?![?!:])|\\.(is_a\\?|nil\\?|responds_to\\?|as\\?|as\b)",name:"keyword.control.pseudo-method.crystal"},{match:"\\bnil\\b(?![?!:])",name:"constant.language.nil.crystal"},{match:"\\b(true|false)\\b(?![?!:])",name:"constant.language.boolean.crystal"},{match:"\\b(__(DIR|FILE|LINE|END_LINE)__)\\b(?![?!:])",name:"variable.language.crystal"},{match:"\\b(self)\\b(?![?!:])",name:"variable.language.self.crystal"},{comment:"https://crystal-lang.org/api/0.36.1/Object.html#macro-summary",match:"(?<!\\.)\\b(((class_)?((getter|property)\\b[!?]?|setter\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\b)(?![?!:])",name:"support.function.kernel.crystal"},{begin:"\\b(require)\\b",captures:{1:{name:"keyword.other.special-method.crystal"}},end:"$|(?=#)",name:"meta.require.crystal",patterns:[{include:"$self"}]},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(@)[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*[?!=]?",name:"variable.other.readwrite.instance.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(@@)[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*[?!=]?",name:"variable.other.readwrite.class.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(?!%[Qxrqwi]?[(\\[{<\\|])%([a-zA-Z_]\\w*\\.)*[a-zA-Z_]\\w*",name:"variable.other.readwrite.fresh.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(\\$)(!|@|&|`|'|\\+|\\d+|~|=|/|\\\\|,|;|\\.|<|>|_|\\*|\\$|\\?|:|\"|-[0adFiIlpv])",name:"variable.other.readwrite.global.pre-defined.crystal"},{begin:"\\b(ENV)\\[",beginCaptures:{1:{name:"variable.other.constant.crystal"}},end:"\\]",name:"meta.environment-variable.crystal",patterns:[{include:"$self"}]},{comment:"Literals name of Crystal",match:"\\b[A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*",name:"support.class.crystal"},{comment:"Fetch from https://crystal-lang.org/api/0.36.1/toplevel.html",match:"(?<!\\.)\\b(abort|at_exit|caller|exit|gets|loop|main|p|pp|print|printf|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\b(?![?!:])",name:"support.function.kernel.crystal"},{comment:"Constant name in any where",match:"\\b[_A-Z]+\\b",name:"variable.other.constant.crystal"},{begin:"(?=def\\b)(?<=^|\\s)(def)\\s+((?>[a-zA-Z_]\\w*(?>\\.|::))?(?>[a-zA-Z_]\\w*(?>[?!]|=(?!>))?|\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[][?=]?|\\[]=?))\\s*(\\()",beginCaptures:{1:{name:"keyword.control.def.crystal"},2:{name:"entity.name.function.crystal"},3:{name:"punctuation.definition.parameters.crystal"}},comment:"The method pattern comes from the symbol pattern. See there for an explanation.",end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.crystal"}},name:"meta.function.method.with-arguments.crystal",patterns:[{begin:"(?![\\s,)])",end:"(?=,|\\)\\s*)",patterns:[{captures:{1:{name:"storage.type.variable.crystal"},2:{name:"constant.other.symbol.hashkey.parameter.function.crystal"},3:{name:"punctuation.definition.constant.hashkey.crystal"},4:{name:"variable.parameter.function.crystal"}},match:"\\G([&*]?)(?:([_a-zA-Z]\\w*(:))|([_a-zA-Z]\\w*))"},{include:"$self"}]}]},{captures:{1:{name:"keyword.control.def.crystal"},3:{name:"entity.name.function.crystal"}},comment:" the optional name is just to catch the def also without a method-name",match:"(?=def\\b)(?<=^|\\s)(def)\\b(\\s+((?>[a-zA-Z_]\\w*(?>\\.|::))?(?>[a-zA-Z_]\\w*(?>[?!]|=(?!>))?|\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[][?=]?|\\[]=?)))?",name:"meta.function.method.without-arguments.crystal"},{comment:"Floating point literal (fraction)",match:"\\b\\d[0-9_]*\\.\\d[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\b",name:"constant.numeric.float.crystal"},{comment:"Floating point literal (exponent)",match:"\\b\\d[0-9_]*(\\.\\d[0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\b",name:"constant.numeric.float.crystal"},{comment:"Floating point literal (typed)",match:"\\b\\d[0-9_]*(\\.\\d[0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\b",name:"constant.numeric.float.crystal"},{comment:"Integer literal (decimal)",match:"\\b(?!0\\d)\\d[0-9_]*([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.decimal.crystal"},{comment:"Integer literal (hexadecimal)",match:"\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.hexadecimal.crystal"},{comment:"Integer literal (octal)",match:"\\b0o[0-7_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.octal.crystal"},{comment:"Integer literal (binary)",match:"\\b0b[01_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.binary.crystal"},{begin:":'",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.crystal"}},comment:"symbol literal with '' delimiter",end:"'",endCaptures:{0:{name:"punctuation.definition.symbol.end.crystal"}},name:"constant.other.symbol.crystal",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.crystal"}]},{begin:':"',beginCaptures:{0:{name:"punctuation.section.symbol.begin.crystal"}},comment:'symbol literal with "" delimiter',end:'"',endCaptures:{0:{name:"punctuation.section.symbol.end.crystal"}},name:"constant.other.symbol.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{comment:"Needs higher precedence than regular expressions.",match:"(?<!\\()/=",name:"keyword.operator.assignment.augmented.crystal"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"string literal with '' delimiter",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.single.crystal",patterns:[{match:"\\\\'|\\\\\\\\",name:"constant.character.escape.crystal"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:'string literal with interpolation and "" delimiter',end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.double.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allows for interpolation)",end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"%x\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%x\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%x<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:">",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%x\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%x\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?:^|(?<=[=>~(?:\\[,|&;]|[\\s;]if\\s|[\\s;]elsif\\s|[\\s;]while\\s|[\\s;]unless\\s|[\\s;]when\\s|[\\s;]assert_match\\s|[\\s;]or\\s|[\\s;]and\\s|[\\s;]not\\s|[\\s.]index\\s|[\\s.]scan\\s|[\\s.]sub\\s|[\\s.]sub!\\s|[\\s.]gsub\\s|[\\s.]gsub!\\s|[\\s.]match\\s)|(?<=^when\\s|^if\\s|^elsif\\s|^while\\s|^unless\\s))\\s*((/))(?![*+{}?])",captures:{1:{name:"string.regexp.classic.crystal"},2:{name:"punctuation.definition.string.crystal"}},comment:"regular expressions (normal) we only start a regexp if the character before it (excluding whitespace) is what we think is before a regexp",contentName:"string.regexp.classic.crystal",end:"((/[imsx]*))",patterns:[{include:"#regex_sub"}]},{begin:"%r\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\}[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},{begin:"%r\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\][imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},{begin:"%r\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\)[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},{begin:"%r<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:">[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},{begin:"%r\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\|[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"}]},{begin:"%Q?\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation ()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%Q?\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation []",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%Q?<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation <>",end:">",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%Q?\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation -- {}",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.double.crystal.mod",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%Q\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation -- ||",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"%[qwi]\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- ()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_parens"}]},{begin:"%[qwi]<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- <>",end:">",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\>|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_ltgt"}]},{begin:"%[qwi]\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- []",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\]|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_brackets"}]},{begin:"%[qwi]\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- {}",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\}|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_curly"}]},{begin:"%[qwi]\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- ||",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{comment:"Cant be named because its not necessarily an escape.",match:"\\\\."}]},{captures:{1:{name:"punctuation.definition.constant.crystal"}},comment:"symbols",match:"(?<!:)(:)(?>[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\][?=]?|@@?[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*)",name:"constant.other.symbol.crystal"},{captures:{1:{name:"punctuation.definition.constant.crystal"}},comment:"symbols",match:"(?>[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(?>[?!])?)(:)(?!:)",name:"constant.other.symbol.crystal.19syntax"},{captures:{1:{name:"punctuation.definition.comment.crystal"}},match:"(?:^[ \\t]+)?(#).*$\\n?",name:"comment.line.number-sign.crystal"},{match:"(?<!}})\\b_([\\w]+[?!]?)\\b(?!\\()",name:"comment.unused.crystal"},{begin:"(?><<-('?)((?:[_\\w]+_|)HTML)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded HTML and indented terminator",contentName:"text.html.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.html.crystal",patterns:[{include:"#heredoc"},{include:"text.html.basic"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)SQL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded SQL and indented terminator",contentName:"text.sql.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.sql.crystal",patterns:[{include:"#heredoc"},{include:"source.sql"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CSS)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded css and intented terminator",contentName:"text.css.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.css.crystal",patterns:[{include:"#heredoc"},{include:"source.css"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CPP)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded c++ and intented terminator",contentName:"text.c++.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.cplusplus.crystal",patterns:[{include:"#heredoc"},{include:"source.c++"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)C)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded c++ and intented terminator",contentName:"text.c.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.c.crystal",patterns:[{include:"#heredoc"},{include:"source.c"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded javascript and intented terminator",contentName:"text.js.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.js.crystal",patterns:[{include:"#heredoc"},{include:"source.js"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)JQUERY)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded javascript and intented terminator",contentName:"text.js.jquery.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.js.jquery.crystal",patterns:[{include:"#heredoc"},{include:"source.js.jquery"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded shell and intented terminator",contentName:"text.shell.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.shell.crystal",patterns:[{include:"#heredoc"},{include:"source.shell"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CRYSTAL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded crystal and intented terminator",contentName:"text.crystal.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.crystal.crystal",patterns:[{include:"#heredoc"},{include:"source.crystal"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-'(\\w+)')",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with indented terminator",end:"\\s*\\1\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.heredoc.crystal",patterns:[{include:"#heredoc"},{include:"#escaped_char"}]},{begin:"(?><<-(\\w+)\\b)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with indented terminator",end:"\\s*\\1\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.heredoc.crystal",patterns:[{include:"#heredoc"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?<={|{\\s|[^A-Za-z0-9_]do|^do|[^A-Za-z0-9_]do\\s|^do\\s)(\\|)",captures:{1:{name:"punctuation.separator.variable.crystal"}},end:"(?<!\\|)(\\|)(?!\\|)",patterns:[{include:"source.crystal"},{match:"[_a-zA-Z][_a-zA-Z0-9]*",name:"variable.other.block.crystal"},{match:",",name:"punctuation.separator.variable.crystal"}]},{match:"=>",name:"punctuation.separator.key-value"},{match:"->",name:"support.function.kernel.crystal"},{match:"<<=|%=|&{1,2}=|\\*=|\\*\\*=|\\+=|-=|\\^=|\\|{1,2}=|<<",name:"keyword.operator.assignment.augmented.crystal"},{match:"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\t])\\?",name:"keyword.operator.comparison.crystal"},{match:"(?<=^|[ \\t])!|&&|\\|\\||\\^",name:"keyword.operator.logical.crystal"},{match:"(\\{\\%|\\%\\}|\\{\\{|\\}\\})",name:"keyword.operator.macro.crystal"},{captures:{1:{name:"punctuation.separator.method.crystal"}},comment:"Safe navigation operator",match:"(&\\.)\\s*(?![A-Z])"},{match:"(%|&|\\*\\*|\\*|\\+|-|/)",name:"keyword.operator.arithmetic.crystal"},{match:"=",name:"keyword.operator.assignment.crystal"},{match:"\\||~|>>",name:"keyword.operator.other.crystal"},{match:":",name:"punctuation.separator.other.crystal"},{match:"\\;",name:"punctuation.separator.statement.crystal"},{match:",",name:"punctuation.separator.object.crystal"},{match:"\\.|::",name:"punctuation.separator.method.crystal"},{match:"\\{|\\}",name:"punctuation.section.scope.crystal"},{match:"\\[|\\]",name:"punctuation.section.array.crystal"},{match:"\\(|\\)",name:"punctuation.section.function.crystal"},{begin:"(?=[a-zA-Z0-9_!?]+\\()",end:"(?<=\\))",name:"meta.function-call.crystal",patterns:[{match:"([a-zA-Z0-9_!?]+)(?=\\()",name:"entity.name.function.crystal"},{include:"$self"}]},{comment:"This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors",match:"((?<=\\W)\\b|^)\\w+\\b(?=\\s*([\\])}=+\\-\\*\\/\\^$\\,\\.]|<\\s|<<[\\s|\\.]))",name:"variable.other.crystal"}],repository:{escaped_char:{comment:"https://crystal-lang.org/reference/syntax_and_semantics/literals/string.html",match:"\\\\(?:[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\\{[a-fA-F0-9 ]+\\}|.)",name:"constant.character.escape.crystal"},heredoc:{begin:"^<<-?\\w+",end:"$",patterns:[{include:"$self"}]},interpolated_crystal:{patterns:[{begin:"#\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.crystal"}},contentName:"source.crystal",end:"(\\})",endCaptures:{0:{name:"punctuation.section.embedded.end.crystal"},1:{name:"source.crystal"}},name:"meta.embedded.line.crystal",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}],repository:{nest_curly_and_self:{patterns:[{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}}},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(#@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.instance.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(#@@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.class.crystal"},{captures:{1:{name:"punctuation.definition.variable.crystal"}},match:"(#\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.crystal"}]},nest_brackets:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\]",patterns:[{include:"#nest_brackets"}]},nest_brackets_i:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\]",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},nest_brackets_r:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\]",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},nest_curly:{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#nest_curly"}]},nest_curly_and_self:{patterns:[{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]},nest_curly_i:{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},nest_curly_r:{begin:"\\{",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\}",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},nest_ltgt:{begin:"<",captures:{0:{name:"punctuation.section.scope.crystal"}},end:">",patterns:[{include:"#nest_ltgt"}]},nest_ltgt_i:{begin:"<",captures:{0:{name:"punctuation.section.scope.crystal"}},end:">",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},nest_ltgt_r:{begin:"<",captures:{0:{name:"punctuation.section.scope.crystal"}},end:">",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},nest_parens:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\)",patterns:[{include:"#nest_parens"}]},nest_parens_i:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\)",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},nest_parens_r:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.crystal"}},end:"\\)",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},regex_sub:{patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{captures:{1:{name:"punctuation.definition.arbitrary-repetition.crystal"},3:{name:"punctuation.definition.arbitrary-repetition.crystal"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.crystal"},{begin:"\\[(?:\\^?])?",captures:{0:{name:"punctuation.definition.character-class.crystal"}},end:"]",name:"string.regexp.character-class.crystal",patterns:[{include:"#escaped_char"}]},{begin:"\\(",captures:{0:{name:"punctuation.definition.group.crystal"}},end:"\\)",name:"string.regexp.group.crystal",patterns:[{include:"#regex_sub"}]},{captures:{1:{name:"punctuation.definition.comment.crystal"}},comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",match:"(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",name:"comment.line.number-sign.crystal"}]}},scopeName:"source.crystal",embeddedLangs:["html","sql","css","c","javascript","shellscript"]})];export{s as default};