richtor 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -0
  3. package/dist/abap-Y8Dl9g_6.js +6 -0
  4. package/dist/actionscript-3-DZzbMeqX.js +6 -0
  5. package/dist/ada-vP6ak0IW.js +6 -0
  6. package/dist/andromeeda-BIpZ7gaU.js +4 -0
  7. package/dist/angular-html-DPB4Rf0C.js +32 -0
  8. package/dist/angular-ts-CTOR2ofC.js +21 -0
  9. package/dist/apache-BUjz-sD2.js +6 -0
  10. package/dist/apex-oLhhs58q.js +6 -0
  11. package/dist/apl-CjNiDgad.js +16 -0
  12. package/dist/applescript-BPx7YFFu.js +6 -0
  13. package/dist/ara-Z2fSOxSw.js +6 -0
  14. package/dist/asciidoc-B-pCoB3G.js +6 -0
  15. package/dist/asm-BTWLY5ym.js +6 -0
  16. package/dist/astro-CFFExE8Q.js +18 -0
  17. package/dist/aurora-x-BwoVEUWZ.js +4 -0
  18. package/dist/awk-Fb0P9dkn.js +6 -0
  19. package/dist/ayu-dark-CxPZkpb2.js +4 -0
  20. package/dist/ballerina-oZK-YekG.js +6 -0
  21. package/dist/bash-CPB87Egg.js +377 -0
  22. package/dist/bat-0FvbqU9S.js +6 -0
  23. package/dist/beancount-DqJEb89h.js +6 -0
  24. package/dist/berry-DODBq_Ff.js +6 -0
  25. package/dist/bibtex-EULQRLY5.js +6 -0
  26. package/dist/bicep-BorU73w0.js +6 -0
  27. package/dist/blade-CRa6j5zS.js +20 -0
  28. package/dist/bsl-NkNNwerW.js +8 -0
  29. package/dist/c-Bz1-FJiA.js +277 -0
  30. package/dist/c-eeMepfLm.js +6 -0
  31. package/dist/cadence-02UX7mW8.js +6 -0
  32. package/dist/cairo-DM6WF2e3.js +8 -0
  33. package/dist/catppuccin-frappe-D3cH2rXe.js +4 -0
  34. package/dist/catppuccin-latte-C0LRGUW4.js +4 -0
  35. package/dist/catppuccin-macchiato-c5wQ11TT.js +4 -0
  36. package/dist/catppuccin-mocha-WMD6Qvya.js +4 -0
  37. package/dist/clarity-PKm5CwqM.js +6 -0
  38. package/dist/clojure-CXJfHrL3.js +6 -0
  39. package/dist/cmake-BJz8BOTU.js +6 -0
  40. package/dist/cobol-HihOMwht.js +10 -0
  41. package/dist/codeowners-Bt9yU6NX.js +6 -0
  42. package/dist/codeql-DHkodjjI.js +6 -0
  43. package/dist/coffee-DGBR_nr_.js +8 -0
  44. package/dist/common-lisp-EVqT9Zhp.js +6 -0
  45. package/dist/coq-B0L9upzn.js +6 -0
  46. package/dist/cpp-Cj177cuW.js +18 -0
  47. package/dist/crystal-CRJyc4G-.js +18 -0
  48. package/dist/csharp-AnFv7wyC.js +382 -0
  49. package/dist/csharp-C7yUs7-w.js +6 -0
  50. package/dist/css-BCTOmdxR.js +923 -0
  51. package/dist/css-CECN5uSL.js +6 -0
  52. package/dist/csv-CmYOceLb.js +6 -0
  53. package/dist/cue-ZzumE7IT.js +6 -0
  54. package/dist/cypher-jpdmjtA6.js +6 -0
  55. package/dist/d-CBagWSwH.js +6 -0
  56. package/dist/dark-plus-pUHDTVV0.js +4 -0
  57. package/dist/dart-6ObCrKr9.js +6 -0
  58. package/dist/dax-CcDT-8dH.js +6 -0
  59. package/dist/desktop-B93p9R9O.js +6 -0
  60. package/dist/diff-BxzP2J8R.js +6 -0
  61. package/dist/docker-CsHqm9tx.js +6 -0
  62. package/dist/dotenv-BMjVjUL1.js +6 -0
  63. package/dist/dracula-BtZx2Kac.js +4 -0
  64. package/dist/dracula-soft-BKa-aqBv.js +4 -0
  65. package/dist/dream-maker-PAx17jaB.js +6 -0
  66. package/dist/edge-BYQkOzbF.js +12 -0
  67. package/dist/elixir-Dh036GMp.js +8 -0
  68. package/dist/elm-BtNbw_Cd.js +8 -0
  69. package/dist/emacs-lisp-Cfxdx5D-.js +6 -0
  70. package/dist/erb-CS4zioBv.js +10 -0
  71. package/dist/erlang-DNcDT8Hi.js +8 -0
  72. package/dist/everforest-dark-DMCBqXCK.js +4 -0
  73. package/dist/everforest-light-BbXl82Em.js +4 -0
  74. package/dist/fennel-N4WcXuKx.js +6 -0
  75. package/dist/fish-BTDEUgqH.js +6 -0
  76. package/dist/fluent-BMXUxfv1.js +6 -0
  77. package/dist/fortran-fixed-form-DUsA-VGo.js +8 -0
  78. package/dist/fortran-free-form-DPIT_jbP.js +6 -0
  79. package/dist/fsharp-CYOiIVNx.js +8 -0
  80. package/dist/gdresource-BwtMIoBm.js +10 -0
  81. package/dist/gdscript-BifyeYhI.js +6 -0
  82. package/dist/gdshader-Bk8fF6yr.js +6 -0
  83. package/dist/genie-DzUvd7U9.js +6 -0
  84. package/dist/gherkin-DHRaV0YP.js +6 -0
  85. package/dist/git-commit-Bd32YZ0K.js +8 -0
  86. package/dist/git-rebase-ZWUFO_T4.js +8 -0
  87. package/dist/github-dark-DenFmJkN.js +4 -0
  88. package/dist/github-dark-default-BJPUVz4H.js +4 -0
  89. package/dist/github-dark-dimmed-DUshB20C.js +4 -0
  90. package/dist/github-dark-high-contrast-D3aGCnF8.js +4 -0
  91. package/dist/github-light-JYsPkUQd.js +4 -0
  92. package/dist/github-light-default-D99KPAby.js +4 -0
  93. package/dist/github-light-high-contrast-BbmZE-Mp.js +4 -0
  94. package/dist/gleam-Bv284lvN.js +6 -0
  95. package/dist/glimmer-js-DkxNrfPT.js +14 -0
  96. package/dist/glimmer-ts-D6YZEmK_.js +14 -0
  97. package/dist/glsl-CkUcVZNK.js +8 -0
  98. package/dist/gnuplot-yPG9-sE_.js +6 -0
  99. package/dist/go-ChxJuLYK.js +6 -0
  100. package/dist/go-CkZ9_bn0.js +151 -0
  101. package/dist/graphql-CBu2ehBn.js +14 -0
  102. package/dist/graphql-CHx1gYw6.js +70 -0
  103. package/dist/groovy-CJQTphOW.js +6 -0
  104. package/dist/gruvbox-dark-hard-C5HOtKIh.js +4 -0
  105. package/dist/gruvbox-dark-medium-FVgwJHuz.js +4 -0
  106. package/dist/gruvbox-dark-soft-B46F314v.js +4 -0
  107. package/dist/gruvbox-light-hard-CJD38wDZ.js +4 -0
  108. package/dist/gruvbox-light-medium-BlIhMYTA.js +4 -0
  109. package/dist/gruvbox-light-soft-DoPHyLVZ.js +4 -0
  110. package/dist/hack-ItRNKiEb.js +10 -0
  111. package/dist/haml-NZLVzu_R.js +10 -0
  112. package/dist/handlebars-mxStpSE7.js +14 -0
  113. package/dist/haskell-WeIwNIP6.js +6 -0
  114. package/dist/haxe-TztHsm5T.js +6 -0
  115. package/dist/hcl-D438OF-I.js +6 -0
  116. package/dist/hjson-DYBUbqOl.js +6 -0
  117. package/dist/hlsl-Bk8TCZNL.js +6 -0
  118. package/dist/houston-BDYrDoDW.js +4 -0
  119. package/dist/html-B50bmoVb.js +10 -0
  120. package/dist/html-derivative-C6bxFbFW.js +8 -0
  121. package/dist/http-DLvAkeD-.js +14 -0
  122. package/dist/hurl-CgkFN90t.js +12 -0
  123. package/dist/hxml-GbqSQCLa.js +8 -0
  124. package/dist/hy-Brt5EZ7-.js +6 -0
  125. package/dist/imba-CimUv-Uh.js +6 -0
  126. package/dist/ini-BZIuRIvJ.js +6 -0
  127. package/dist/java-BicX26Pg.js +240 -0
  128. package/dist/java-DY6VlHhP.js +6 -0
  129. package/dist/javascript-C25yR2R2.js +6 -0
  130. package/dist/javascript-DII1YQGr.js +658 -0
  131. package/dist/jinja-CFW5uAwY.js +11 -0
  132. package/dist/jison-DdreslRX.js +8 -0
  133. package/dist/json-C_6Prymp.js +38 -0
  134. package/dist/json-DxJze_jm.js +6 -0
  135. package/dist/json5-BT4Fjg39.js +6 -0
  136. package/dist/jsonc-CHjZD8gR.js +6 -0
  137. package/dist/jsonl-BGuvDmy9.js +6 -0
  138. package/dist/jsonnet-Bx2cfsXg.js +6 -0
  139. package/dist/jssm-BcADi6EI.js +6 -0
  140. package/dist/jsx-BtKADgXT.js +6 -0
  141. package/dist/julia--2-efCjg.js +16 -0
  142. package/dist/kanagawa-dragon-CiKur4Hl.js +4 -0
  143. package/dist/kanagawa-lotus-BKu-smKu.js +4 -0
  144. package/dist/kanagawa-wave-CQwozSzG.js +4 -0
  145. package/dist/kdl-BNOv9TC3.js +6 -0
  146. package/dist/kotlin-BwB8b-YX.js +242 -0
  147. package/dist/kotlin-ByBMgTeR.js +6 -0
  148. package/dist/kusto-VWFLl2T0.js +6 -0
  149. package/dist/laserwave-6a00oqik.js +4 -0
  150. package/dist/latex-Cs75fyNk.js +8 -0
  151. package/dist/lean-D5yRrexI.js +6 -0
  152. package/dist/less-B1GLI2Di.js +6 -0
  153. package/dist/less-DeNOeXmL.js +992 -0
  154. package/dist/light-plus-CZuVqSLX.js +4 -0
  155. package/dist/liquid-CHzkx3jT.js +14 -0
  156. package/dist/llvm-co1rIKs3.js +6 -0
  157. package/dist/log-Al8wyEFV.js +6 -0
  158. package/dist/logo-DBa4JDzV.js +6 -0
  159. package/dist/lua-kX5WP_P5.js +8 -0
  160. package/dist/luau-DtBSxLyz.js +6 -0
  161. package/dist/make-CsMclxtr.js +6 -0
  162. package/dist/makefile-D-gl0qMV.js +67 -0
  163. package/dist/markdown-CrScaQ96.js +6 -0
  164. package/dist/markdown-ga2-2-T7.js +216 -0
  165. package/dist/marko-ls0Jg2j8.js +14 -0
  166. package/dist/material-theme-D6KBX41T.js +4 -0
  167. package/dist/material-theme-darker-CkRroheE.js +4 -0
  168. package/dist/material-theme-lighter-BUBw43Yz.js +4 -0
  169. package/dist/material-theme-ocean-ClGX14Ja.js +4 -0
  170. package/dist/material-theme-palenight-C1RVm8K1.js +4 -0
  171. package/dist/matlab-BOAaUVP0.js +6 -0
  172. package/dist/mdc-uaivvctV.js +12 -0
  173. package/dist/mdx-BOhZZUJ8.js +6 -0
  174. package/dist/mermaid-B0ixDHKN.js +6 -0
  175. package/dist/min-dark-C7ak0t6c.js +4 -0
  176. package/dist/min-light-CKFxVcPp.js +4 -0
  177. package/dist/mipsasm-CTx18fBl.js +6 -0
  178. package/dist/mojo-BD611d7o.js +6 -0
  179. package/dist/monokai-C1KBYcO0.js +4 -0
  180. package/dist/move-F-dICmj2.js +6 -0
  181. package/dist/narrat-DmhDCBs-.js +6 -0
  182. package/dist/nextflow-DmSVRGjG.js +6 -0
  183. package/dist/nginx-5vhPAEw3.js +8 -0
  184. package/dist/night-owl-Bm2rzalh.js +4 -0
  185. package/dist/nim-QAjRdh9w.js +20 -0
  186. package/dist/nix-BZK5F767.js +9 -0
  187. package/dist/nord-CC5OiUXg.js +4 -0
  188. package/dist/nushell-D8j3dhT-.js +6 -0
  189. package/dist/objective-c-Itk8tzmv.js +6 -0
  190. package/dist/objective-cpp-DGt5UKRO.js +6 -0
  191. package/dist/objectivec-CnyrJ13Z.js +237 -0
  192. package/dist/ocaml-eSVK32Eg.js +6 -0
  193. package/dist/one-dark-pro-DTA3VF0_.js +4 -0
  194. package/dist/one-light-D9sNaUtq.js +4 -0
  195. package/dist/openscad-Sp5uZ6f2.js +6 -0
  196. package/dist/pascal-xy8pJNns.js +6 -0
  197. package/dist/perl-DkVrgJBg.js +16 -0
  198. package/dist/php-BL35ZHWM.js +566 -0
  199. package/dist/php-j2zCzTEz.js +18 -0
  200. package/dist/pkl-C-zSNmaA.js +6 -0
  201. package/dist/plastic-CSTz3KZp.js +4 -0
  202. package/dist/plsql-pVbGZfOv.js +6 -0
  203. package/dist/po-BNfHvqmm.js +6 -0
  204. package/dist/poimandres-C-VADXHD.js +4 -0
  205. package/dist/polar-CAZahv3u.js +6 -0
  206. package/dist/postcss-05aHdL-n.js +6 -0
  207. package/dist/powerquery-DI9HkTvs.js +6 -0
  208. package/dist/powershell-Clc4ydu-.js +6 -0
  209. package/dist/prisma-FZjmVtSl.js +6 -0
  210. package/dist/prolog-C5-yg4TO.js +6 -0
  211. package/dist/proto-MmCPeFAD.js +6 -0
  212. package/dist/pug-XOw9Q1Ho.js +12 -0
  213. package/dist/puppet-CUJHmnxV.js +6 -0
  214. package/dist/purescript-rUfGld-4.js +6 -0
  215. package/dist/python-BFNSHbwJ.js +6 -0
  216. package/dist/python-CymlFLB0.js +399 -0
  217. package/dist/qml-rTNXsquU.js +8 -0
  218. package/dist/qmldir-BInDYbpo.js +6 -0
  219. package/dist/qss-AeJTysr_.js +6 -0
  220. package/dist/r-Bm0uF0U2.js +6 -0
  221. package/dist/racket-B83wSAja.js +6 -0
  222. package/dist/raku-nEQ4ZJJ7.js +6 -0
  223. package/dist/razor-B1z-bksM.js +10 -0
  224. package/dist/red-7y8PH7HH.js +4 -0
  225. package/dist/reg-m_s_Kiip.js +6 -0
  226. package/dist/regexp-BazyLpPg.js +6 -0
  227. package/dist/rel-BcRfyd6Q.js +6 -0
  228. package/dist/richtor.css +1 -0
  229. package/dist/riscv-Ce8MAQLP.js +6 -0
  230. package/dist/rose-pine-BKc3yVeu.js +4 -0
  231. package/dist/rose-pine-dawn-BulJcPZT.js +4 -0
  232. package/dist/rose-pine-moon-j6jiXKV8.js +4 -0
  233. package/dist/rosmsg-Cz0w1km8.js +6 -0
  234. package/dist/rst-CcbeA9zE.js +22 -0
  235. package/dist/ruby-DMPw6uKF.js +30 -0
  236. package/dist/rust-CLzF9zIN.js +6 -0
  237. package/dist/sas-fpEvgATw.js +8 -0
  238. package/dist/sass-DxHp5rTx.js +6 -0
  239. package/dist/scala-D4grkFkl.js +6 -0
  240. package/dist/scheme-BCRWuEm4.js +6 -0
  241. package/dist/scss-B1FaCqwR.js +8 -0
  242. package/dist/scss-CknrYxoA.js +908 -0
  243. package/dist/sdbl-B7T8abf4.js +6 -0
  244. package/dist/shadcn-rich-editor.es.js +68529 -0
  245. package/dist/shadcn-rich-editor.umd.js +282 -0
  246. package/dist/shaderlab-Cr62-Wb4.js +8 -0
  247. package/dist/shell-DYrX6oL5.js +25 -0
  248. package/dist/shellscript-InADTalH.js +6 -0
  249. package/dist/shellsession-DiDJNQdy.js +8 -0
  250. package/dist/slack-dark-i7wN4OET.js +4 -0
  251. package/dist/slack-ochin-ndHf0LoP.js +4 -0
  252. package/dist/smalltalk-BlI1_OkM.js +6 -0
  253. package/dist/snazzy-light-BlSJXAu4.js +4 -0
  254. package/dist/solarized-dark-UTmkh7lw.js +4 -0
  255. package/dist/solarized-light-BheCkDPT.js +4 -0
  256. package/dist/solidity-DUWnFhS6.js +6 -0
  257. package/dist/soy-C1-6njHa.js +8 -0
  258. package/dist/sparql-B0KWFEri.js +8 -0
  259. package/dist/splunk-CRXR8A9s.js +6 -0
  260. package/dist/sql-Cn_v3PB0.js +6 -0
  261. package/dist/sql-IeKX8fQ8.js +615 -0
  262. package/dist/ssh-config-DP-hNVbF.js +6 -0
  263. package/dist/stata-B8c5fTjX.js +8 -0
  264. package/dist/stylus-CyKEU1Ej.js +6 -0
  265. package/dist/svelte-5UasyOg7.js +14 -0
  266. package/dist/swift-9UzSvamq.js +6 -0
  267. package/dist/synthwave-84-NU3C_KFZ.js +4 -0
  268. package/dist/system-verilog-BCm7smPJ.js +6 -0
  269. package/dist/systemd-C-4qm6XH.js +6 -0
  270. package/dist/talonscript-CFF3LF_O.js +6 -0
  271. package/dist/tasl-Cg_WBUAe.js +6 -0
  272. package/dist/tcl-DN7buRTF.js +6 -0
  273. package/dist/templ-peLZIM2D.js +12 -0
  274. package/dist/terraform-DGvcn9zM.js +6 -0
  275. package/dist/tex-DpOayVob.js +8 -0
  276. package/dist/tokyo-night-DP4TmcQl.js +4 -0
  277. package/dist/toml-DY62mUL_.js +6 -0
  278. package/dist/ts-tags-ioVe2PKw.js +41 -0
  279. package/dist/tsv-BtvSkaG0.js +6 -0
  280. package/dist/tsx-B8rCNbgL.js +6 -0
  281. package/dist/turtle-_H59FV7D.js +6 -0
  282. package/dist/twig-CcRLVyUg.js +18 -0
  283. package/dist/typescript-RycA9KXf.js +6 -0
  284. package/dist/typescript-SNUkGeOU.js +753 -0
  285. package/dist/typespec-DWqp-kUU.js +6 -0
  286. package/dist/typst-D_1QKWns.js +6 -0
  287. package/dist/v-BPCNiyYe.js +6 -0
  288. package/dist/vala-uxaPR7d1.js +6 -0
  289. package/dist/vb-D8_c5-KN.js +6 -0
  290. package/dist/vbnet-D7PCGZRn.js +122 -0
  291. package/dist/verilog-B-bybjPF.js +6 -0
  292. package/dist/vesper-BckBta1U.js +4 -0
  293. package/dist/vhdl-CUlNa8ac.js +6 -0
  294. package/dist/viml-DsfA-sWm.js +6 -0
  295. package/dist/vite.svg +1 -0
  296. package/dist/vitesse-black-BoGvW84i.js +4 -0
  297. package/dist/vitesse-dark-Cym-eLtO.js +4 -0
  298. package/dist/vitesse-light-CcmG315c.js +4 -0
  299. package/dist/vue-DOVAQqiz.js +31 -0
  300. package/dist/vue-html-C7WI2elu.js +10 -0
  301. package/dist/vue-vine-D386fra9.js +20 -0
  302. package/dist/vyper-CPQuu50u.js +6 -0
  303. package/dist/wasm-BBXxrAl7.js +6 -0
  304. package/dist/wasm-DQxwEHae.js +7 -0
  305. package/dist/wenyan-pbVjoM9_.js +6 -0
  306. package/dist/wgsl-DY4iK1q1.js +6 -0
  307. package/dist/wikitext-Z-MoUasO.js +6 -0
  308. package/dist/wit-CQMQOlTg.js +6 -0
  309. package/dist/wolfram-Dz4KXISs.js +6 -0
  310. package/dist/xml-B7THKYqr.js +219 -0
  311. package/dist/xml-C2J0sS9M.js +8 -0
  312. package/dist/xsl-BmSZphgC.js +8 -0
  313. package/dist/yaml-DaO7k5B1.js +6 -0
  314. package/dist/zenscript-CxBjpf9c.js +6 -0
  315. package/dist/zig-Vm0PO9wB.js +6 -0
  316. package/package.json +136 -0
@@ -0,0 +1,18 @@
1
+ import e from "./html-B50bmoVb.js";
2
+ import t from "./sql-Cn_v3PB0.js";
3
+ import n from "./css-CECN5uSL.js";
4
+ import a from "./c-eeMepfLm.js";
5
+ import r from "./javascript-C25yR2R2.js";
6
+ import s from "./shellscript-InADTalH.js";
7
+ const i = Object.freeze(JSON.parse(`{"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}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([,.0-:A-Z_a-z\\\\x{80}-\\\\x{10FFFF}\\\\s]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([.0-:A-Z_a-z]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.0-:A-Z_\\\\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}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","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"}},"match":"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)","name":"meta.lib.type.crystal"},{"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"},{"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"},{"match":"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\bdo\\\\b\\\\s*","name":"keyword.control.start-block.crystal"},{"match":"(?<=\\\\{)(\\\\s+)","name":"meta.syntax.crystal.start-block"},{"match":"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![!:?])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\\\x08)","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"},{"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-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(?!%[Qiqrwx]?[(<\\\\[{|])%([A-Z_a-z]\\\\w*\\\\.)*[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.fresh.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)([!\\\\&'+@\`]|\\\\d+|[\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])","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"}]},{"match":"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*","name":"support.class.crystal"},{"match":"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![!:?])","name":"support.function.kernel.crystal"},{"match":"\\\\b[A-Z_]+\\\\b","name":"variable.other.constant.crystal"},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.crystal"},"2":{"name":"entity.name.function.crystal"},"3":{"name":"punctuation.definition.parameters.crystal"}},"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-Z_a-z]\\\\w*(:))|([A-Z_a-z]\\\\w*))"},{"include":"$self"}]}]},{"captures":{"1":{"name":"keyword.control.def.crystal"},"3":{"name":"entity.name.function.crystal"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.crystal"},{"match":"\\\\b[0-9][0-9_]*\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.decimal.crystal"},{"match":"\\\\b0x[_\\\\h]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.hexadecimal.crystal"},{"match":"\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.octal.crystal"},{"match":"\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.binary.crystal"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.crystal"}},"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"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.crystal"}},"name":"constant.other.symbol.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.crystal"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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|if|elsif|while|unless)\\\\s))\\\\s*((/))(?![*+?{}])","captures":{"1":{"name":"string.regexp.classic.crystal"},"2":{"name":"punctuation.definition.string.crystal"}},"contentName":"string.regexp.classic.crystal","end":"((/[imsx]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%[iqw]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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":"%[iqw]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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":"%[iqw]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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":"%[iqw]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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":"%[iqw]\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?<!:)(:)(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|@@?[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"constant.other.symbol.crystal"},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!?]?)(:)(?!:)","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"}},"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"}},"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"}},"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"}},"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"}},"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]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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"}},"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(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"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"}},"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"}},"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"}},"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??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.crystal"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","patterns":[{"include":"source.crystal"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","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"}},"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":"(?=[!0-9?A-Z_a-z]+\\\\()","end":"(?<=\\\\))","name":"meta.function-call.crystal","patterns":[{"match":"([!0-9?A-Z_a-z]+)(?=\\\\()","name":"entity.name.function.crystal"},{"include":"$self"}]},{"match":"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([]$)-/=^}]|<\\\\s|<<[.|\\\\s]))","name":"variable.other.crystal"}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x\\\\h{2}|u\\\\h{4}|u\\\\{[ \\\\h]+}|.)","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-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#\\\\$)[A-Z_a-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"}},"match":"(?<=^|\\\\s)(#)\\\\s[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$","name":"comment.line.number-sign.crystal"}]}},"scopeName":"source.crystal","embeddedLangs":["html","sql","css","c","javascript","shellscript"]}`)), m = [
8
+ ...e,
9
+ ...t,
10
+ ...n,
11
+ ...a,
12
+ ...r,
13
+ ...s,
14
+ i
15
+ ];
16
+ export {
17
+ m as default
18
+ };
@@ -0,0 +1,382 @@
1
+ function C(e) {
2
+ const d = [
3
+ "bool",
4
+ "byte",
5
+ "char",
6
+ "decimal",
7
+ "delegate",
8
+ "double",
9
+ "dynamic",
10
+ "enum",
11
+ "float",
12
+ "int",
13
+ "long",
14
+ "nint",
15
+ "nuint",
16
+ "object",
17
+ "sbyte",
18
+ "short",
19
+ "string",
20
+ "ulong",
21
+ "uint",
22
+ "ushort"
23
+ ], l = [
24
+ "public",
25
+ "private",
26
+ "protected",
27
+ "static",
28
+ "internal",
29
+ "protected",
30
+ "abstract",
31
+ "async",
32
+ "extern",
33
+ "override",
34
+ "unsafe",
35
+ "virtual",
36
+ "new",
37
+ "sealed",
38
+ "partial"
39
+ ], g = [
40
+ "default",
41
+ "false",
42
+ "null",
43
+ "true"
44
+ ], O = [
45
+ "abstract",
46
+ "as",
47
+ "base",
48
+ "break",
49
+ "case",
50
+ "catch",
51
+ "class",
52
+ "const",
53
+ "continue",
54
+ "do",
55
+ "else",
56
+ "event",
57
+ "explicit",
58
+ "extern",
59
+ "finally",
60
+ "fixed",
61
+ "for",
62
+ "foreach",
63
+ "goto",
64
+ "if",
65
+ "implicit",
66
+ "in",
67
+ "interface",
68
+ "internal",
69
+ "is",
70
+ "lock",
71
+ "namespace",
72
+ "new",
73
+ "operator",
74
+ "out",
75
+ "override",
76
+ "params",
77
+ "private",
78
+ "protected",
79
+ "public",
80
+ "readonly",
81
+ "record",
82
+ "ref",
83
+ "return",
84
+ "scoped",
85
+ "sealed",
86
+ "sizeof",
87
+ "stackalloc",
88
+ "static",
89
+ "struct",
90
+ "switch",
91
+ "this",
92
+ "throw",
93
+ "try",
94
+ "typeof",
95
+ "unchecked",
96
+ "unsafe",
97
+ "using",
98
+ "virtual",
99
+ "void",
100
+ "volatile",
101
+ "while"
102
+ ], N = [
103
+ "add",
104
+ "alias",
105
+ "and",
106
+ "ascending",
107
+ "args",
108
+ "async",
109
+ "await",
110
+ "by",
111
+ "descending",
112
+ "dynamic",
113
+ "equals",
114
+ "file",
115
+ "from",
116
+ "get",
117
+ "global",
118
+ "group",
119
+ "init",
120
+ "into",
121
+ "join",
122
+ "let",
123
+ "nameof",
124
+ "not",
125
+ "notnull",
126
+ "on",
127
+ "or",
128
+ "orderby",
129
+ "partial",
130
+ "record",
131
+ "remove",
132
+ "required",
133
+ "scoped",
134
+ "select",
135
+ "set",
136
+ "unmanaged",
137
+ "value|0",
138
+ "var",
139
+ "when",
140
+ "where",
141
+ "with",
142
+ "yield"
143
+ ], n = {
144
+ keyword: O.concat(N),
145
+ built_in: d,
146
+ literal: g
147
+ }, a = e.inherit(e.TITLE_MODE, { begin: "[a-zA-Z](\\.?\\w)*" }), i = {
148
+ className: "number",
149
+ variants: [
150
+ { begin: "\\b(0b[01']+)" },
151
+ { begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)" },
152
+ { begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" }
153
+ ],
154
+ relevance: 0
155
+ }, T = {
156
+ className: "string",
157
+ begin: /"""("*)(?!")(.|\n)*?"""\1/,
158
+ relevance: 1
159
+ }, t = {
160
+ className: "string",
161
+ begin: '@"',
162
+ end: '"',
163
+ contains: [{ begin: '""' }]
164
+ }, b = e.inherit(t, { illegal: /\n/ }), r = {
165
+ className: "subst",
166
+ begin: /\{/,
167
+ end: /\}/,
168
+ keywords: n
169
+ }, c = e.inherit(r, { illegal: /\n/ }), s = {
170
+ className: "string",
171
+ begin: /\$"/,
172
+ end: '"',
173
+ illegal: /\n/,
174
+ contains: [
175
+ { begin: /\{\{/ },
176
+ { begin: /\}\}/ },
177
+ e.BACKSLASH_ESCAPE,
178
+ c
179
+ ]
180
+ }, o = {
181
+ className: "string",
182
+ begin: /\$@"/,
183
+ end: '"',
184
+ contains: [
185
+ { begin: /\{\{/ },
186
+ { begin: /\}\}/ },
187
+ { begin: '""' },
188
+ r
189
+ ]
190
+ }, M = e.inherit(o, {
191
+ illegal: /\n/,
192
+ contains: [
193
+ { begin: /\{\{/ },
194
+ { begin: /\}\}/ },
195
+ { begin: '""' },
196
+ c
197
+ ]
198
+ });
199
+ r.contains = [
200
+ o,
201
+ s,
202
+ t,
203
+ e.APOS_STRING_MODE,
204
+ e.QUOTE_STRING_MODE,
205
+ i,
206
+ e.C_BLOCK_COMMENT_MODE
207
+ ], c.contains = [
208
+ M,
209
+ s,
210
+ b,
211
+ e.APOS_STRING_MODE,
212
+ e.QUOTE_STRING_MODE,
213
+ i,
214
+ e.inherit(e.C_BLOCK_COMMENT_MODE, { illegal: /\n/ })
215
+ ];
216
+ const _ = { variants: [
217
+ T,
218
+ o,
219
+ s,
220
+ t,
221
+ e.APOS_STRING_MODE,
222
+ e.QUOTE_STRING_MODE
223
+ ] }, E = {
224
+ begin: "<",
225
+ end: ">",
226
+ contains: [
227
+ { beginKeywords: "in out" },
228
+ a
229
+ ]
230
+ }, u = e.IDENT_RE + "(<" + e.IDENT_RE + "(\\s*,\\s*" + e.IDENT_RE + ")*>)?(\\[\\])?", I = {
231
+ // prevents expressions like `@class` from incorrect flagging
232
+ // `class` as a keyword
233
+ begin: "@" + e.IDENT_RE,
234
+ relevance: 0
235
+ };
236
+ return {
237
+ name: "C#",
238
+ aliases: [
239
+ "cs",
240
+ "c#"
241
+ ],
242
+ keywords: n,
243
+ illegal: /::/,
244
+ contains: [
245
+ e.COMMENT(
246
+ "///",
247
+ "$",
248
+ {
249
+ returnBegin: !0,
250
+ contains: [
251
+ {
252
+ className: "doctag",
253
+ variants: [
254
+ {
255
+ begin: "///",
256
+ relevance: 0
257
+ },
258
+ { begin: "<!--|-->" },
259
+ {
260
+ begin: "</?",
261
+ end: ">"
262
+ }
263
+ ]
264
+ }
265
+ ]
266
+ }
267
+ ),
268
+ e.C_LINE_COMMENT_MODE,
269
+ e.C_BLOCK_COMMENT_MODE,
270
+ {
271
+ className: "meta",
272
+ begin: "#",
273
+ end: "$",
274
+ keywords: { keyword: "if else elif endif define undef warning error line region endregion pragma checksum" }
275
+ },
276
+ _,
277
+ i,
278
+ {
279
+ beginKeywords: "class interface",
280
+ relevance: 0,
281
+ end: /[{;=]/,
282
+ illegal: /[^\s:,]/,
283
+ contains: [
284
+ { beginKeywords: "where class" },
285
+ a,
286
+ E,
287
+ e.C_LINE_COMMENT_MODE,
288
+ e.C_BLOCK_COMMENT_MODE
289
+ ]
290
+ },
291
+ {
292
+ beginKeywords: "namespace",
293
+ relevance: 0,
294
+ end: /[{;=]/,
295
+ illegal: /[^\s:]/,
296
+ contains: [
297
+ a,
298
+ e.C_LINE_COMMENT_MODE,
299
+ e.C_BLOCK_COMMENT_MODE
300
+ ]
301
+ },
302
+ {
303
+ beginKeywords: "record",
304
+ relevance: 0,
305
+ end: /[{;=]/,
306
+ illegal: /[^\s:]/,
307
+ contains: [
308
+ a,
309
+ E,
310
+ e.C_LINE_COMMENT_MODE,
311
+ e.C_BLOCK_COMMENT_MODE
312
+ ]
313
+ },
314
+ {
315
+ // [Attributes("")]
316
+ className: "meta",
317
+ begin: "^\\s*\\[(?=[\\w])",
318
+ excludeBegin: !0,
319
+ end: "\\]",
320
+ excludeEnd: !0,
321
+ contains: [
322
+ {
323
+ className: "string",
324
+ begin: /"/,
325
+ end: /"/
326
+ }
327
+ ]
328
+ },
329
+ {
330
+ // Expression keywords prevent 'keyword Name(...)' from being
331
+ // recognized as a function definition
332
+ beginKeywords: "new return throw await else",
333
+ relevance: 0
334
+ },
335
+ {
336
+ className: "function",
337
+ begin: "(" + u + "\\s+)+" + e.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(",
338
+ returnBegin: !0,
339
+ end: /\s*[{;=]/,
340
+ excludeEnd: !0,
341
+ keywords: n,
342
+ contains: [
343
+ // prevents these from being highlighted `title`
344
+ {
345
+ beginKeywords: l.join(" "),
346
+ relevance: 0
347
+ },
348
+ {
349
+ begin: e.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(",
350
+ returnBegin: !0,
351
+ contains: [
352
+ e.TITLE_MODE,
353
+ E
354
+ ],
355
+ relevance: 0
356
+ },
357
+ { match: /\(\)/ },
358
+ {
359
+ className: "params",
360
+ begin: /\(/,
361
+ end: /\)/,
362
+ excludeBegin: !0,
363
+ excludeEnd: !0,
364
+ keywords: n,
365
+ relevance: 0,
366
+ contains: [
367
+ _,
368
+ i,
369
+ e.C_BLOCK_COMMENT_MODE
370
+ ]
371
+ },
372
+ e.C_LINE_COMMENT_MODE,
373
+ e.C_BLOCK_COMMENT_MODE
374
+ ]
375
+ },
376
+ I
377
+ ]
378
+ };
379
+ }
380
+ export {
381
+ C as default
382
+ };