@speakeasy-api/moonshine 1.32.3 → 1.32.5
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.
- package/README.md +2 -2
- package/dist/{createCustomLucideIcon-CHinWCaE.mjs → createCustomLucideIcon-CwBuQKYl.mjs} +2 -2
- package/dist/{createCustomLucideIcon-CHinWCaE.mjs.map → createCustomLucideIcon-CwBuQKYl.mjs.map} +1 -1
- package/dist/{gems-kthuboPC.mjs → gems-7WBWZqjs.mjs} +2 -2
- package/dist/{gems-kthuboPC.mjs.map → gems-7WBWZqjs.mjs.map} +1 -1
- package/dist/{go-C0gy0MIK.mjs → go-CUtQka4z.mjs} +2 -2
- package/dist/{go-C0gy0MIK.mjs.map → go-CUtQka4z.mjs.map} +1 -1
- package/dist/index-CHP5oTwC.mjs +16351 -0
- package/dist/index-CHP5oTwC.mjs.map +1 -0
- package/dist/{maven-vv1HJcYy.mjs → maven-fyzv0GQH.mjs} +2 -2
- package/dist/{maven-vv1HJcYy.mjs.map → maven-fyzv0GQH.mjs.map} +1 -1
- package/dist/moonshine.es.js +1 -1
- package/dist/{npm-BM0hwqym.mjs → npm-tVQR82F_.mjs} +2 -2
- package/dist/{npm-BM0hwqym.mjs.map → npm-tVQR82F_.mjs.map} +1 -1
- package/dist/{nuget-Bq3Kj-S7.mjs → nuget-BzLsQOfJ.mjs} +2 -2
- package/dist/{nuget-Bq3Kj-S7.mjs.map → nuget-BzLsQOfJ.mjs.map} +1 -1
- package/dist/{packagist-DsmqdmGX.mjs → packagist-5ZH-_L0j.mjs} +2 -2
- package/dist/{packagist-DsmqdmGX.mjs.map → packagist-5ZH-_L0j.mjs.map} +1 -1
- package/dist/{pypi-DXe0LAe6.mjs → pypi-DJ3Vvkjr.mjs} +2 -2
- package/dist/{pypi-DXe0LAe6.mjs.map → pypi-DJ3Vvkjr.mjs.map} +1 -1
- package/package.json +13 -13
- package/types/utilities.d.ts +1 -1
- package/dist/abap-BmBUA35e.mjs +0 -7
- package/dist/abap-BmBUA35e.mjs.map +0 -1
- package/dist/actionscript-3-zFUbzQa9.mjs +0 -7
- package/dist/actionscript-3-zFUbzQa9.mjs.map +0 -1
- package/dist/ada-CBvPkFpZ.mjs +0 -7
- package/dist/ada-CBvPkFpZ.mjs.map +0 -1
- package/dist/andromeeda-uXNdzNpk.mjs +0 -5
- package/dist/andromeeda-uXNdzNpk.mjs.map +0 -1
- package/dist/angular-html-BhtSbFnZ.mjs +0 -33
- package/dist/angular-html-BhtSbFnZ.mjs.map +0 -1
- package/dist/angular-ts-bStD6yyK.mjs +0 -22
- package/dist/angular-ts-bStD6yyK.mjs.map +0 -1
- package/dist/apache-CVNlsSDc.mjs +0 -7
- package/dist/apache-CVNlsSDc.mjs.map +0 -1
- package/dist/apex-DFk3KRB1.mjs +0 -7
- package/dist/apex-DFk3KRB1.mjs.map +0 -1
- package/dist/apl-CA1nkFYd.mjs +0 -17
- package/dist/apl-CA1nkFYd.mjs.map +0 -1
- package/dist/applescript-CYMR_y0g.mjs +0 -7
- package/dist/applescript-CYMR_y0g.mjs.map +0 -1
- package/dist/ara-4QmU5e04.mjs +0 -7
- package/dist/ara-4QmU5e04.mjs.map +0 -1
- package/dist/asciidoc-v_1bjgUg.mjs +0 -7
- package/dist/asciidoc-v_1bjgUg.mjs.map +0 -1
- package/dist/asm-RC0Yh-NZ.mjs +0 -7
- package/dist/asm-RC0Yh-NZ.mjs.map +0 -1
- package/dist/astro-CXeTC_CH.mjs +0 -17
- package/dist/astro-CXeTC_CH.mjs.map +0 -1
- package/dist/aurora-x-BwoVEUWZ.mjs +0 -5
- package/dist/aurora-x-BwoVEUWZ.mjs.map +0 -1
- package/dist/awk-gPH8MVMW.mjs +0 -7
- package/dist/awk-gPH8MVMW.mjs.map +0 -1
- package/dist/ayu-dark-CxPZkpb2.mjs +0 -5
- package/dist/ayu-dark-CxPZkpb2.mjs.map +0 -1
- package/dist/ballerina-kvLnRU_e.mjs +0 -7
- package/dist/ballerina-kvLnRU_e.mjs.map +0 -1
- package/dist/bat-BHYy44sT.mjs +0 -7
- package/dist/bat-BHYy44sT.mjs.map +0 -1
- package/dist/beancount-D-MADTs_.mjs +0 -7
- package/dist/beancount-D-MADTs_.mjs.map +0 -1
- package/dist/berry-Ci9U0o4h.mjs +0 -7
- package/dist/berry-Ci9U0o4h.mjs.map +0 -1
- package/dist/bibtex-CX618D15.mjs +0 -7
- package/dist/bibtex-CX618D15.mjs.map +0 -1
- package/dist/bicep-iuYiPopT.mjs +0 -7
- package/dist/bicep-iuYiPopT.mjs.map +0 -1
- package/dist/blade-Bz3IlFwt.mjs +0 -19
- package/dist/blade-Bz3IlFwt.mjs.map +0 -1
- package/dist/bsl-CTrvii3L.mjs +0 -9
- package/dist/bsl-CTrvii3L.mjs.map +0 -1
- package/dist/c-DASdrs7p.mjs +0 -7
- package/dist/c-DASdrs7p.mjs.map +0 -1
- package/dist/cadence-BDALQi26.mjs +0 -7
- package/dist/cadence-BDALQi26.mjs.map +0 -1
- package/dist/cairo-D1s_gneF.mjs +0 -9
- package/dist/cairo-D1s_gneF.mjs.map +0 -1
- package/dist/catppuccin-frappe-BrTOiad2.mjs +0 -5
- package/dist/catppuccin-frappe-BrTOiad2.mjs.map +0 -1
- package/dist/catppuccin-latte-D-dc_R4m.mjs +0 -5
- package/dist/catppuccin-latte-D-dc_R4m.mjs.map +0 -1
- package/dist/catppuccin-macchiato-DN4jOp0G.mjs +0 -5
- package/dist/catppuccin-macchiato-DN4jOp0G.mjs.map +0 -1
- package/dist/catppuccin-mocha-B8yCE3-3.mjs +0 -5
- package/dist/catppuccin-mocha-B8yCE3-3.mjs.map +0 -1
- package/dist/clarity-CNgV2Ths.mjs +0 -7
- package/dist/clarity-CNgV2Ths.mjs.map +0 -1
- package/dist/clojure-CsKKFGwv.mjs +0 -7
- package/dist/clojure-CsKKFGwv.mjs.map +0 -1
- package/dist/cmake-Dr-A3iJx.mjs +0 -7
- package/dist/cmake-Dr-A3iJx.mjs.map +0 -1
- package/dist/cobol-CYEBkEp7.mjs +0 -11
- package/dist/cobol-CYEBkEp7.mjs.map +0 -1
- package/dist/codeowners-Bt9yU6NX.mjs +0 -7
- package/dist/codeowners-Bt9yU6NX.mjs.map +0 -1
- package/dist/codeql-DBNTqJi1.mjs +0 -7
- package/dist/codeql-DBNTqJi1.mjs.map +0 -1
- package/dist/coffee-DvtbvZqr.mjs +0 -9
- package/dist/coffee-DvtbvZqr.mjs.map +0 -1
- package/dist/common-lisp-r7ZEOG7T.mjs +0 -7
- package/dist/common-lisp-r7ZEOG7T.mjs.map +0 -1
- package/dist/coq-CB6Pv_W9.mjs +0 -7
- package/dist/coq-CB6Pv_W9.mjs.map +0 -1
- package/dist/cpp-BUcwCuNf.mjs +0 -19
- package/dist/cpp-BUcwCuNf.mjs.map +0 -1
- package/dist/crystal-BfrtH35M.mjs +0 -19
- package/dist/crystal-BfrtH35M.mjs.map +0 -1
- package/dist/csharp-CYWRhZ2R.mjs +0 -7
- package/dist/csharp-CYWRhZ2R.mjs.map +0 -1
- package/dist/css-D1aVdRIU.mjs +0 -7
- package/dist/css-D1aVdRIU.mjs.map +0 -1
- package/dist/csv-DvCncUGQ.mjs +0 -7
- package/dist/csv-DvCncUGQ.mjs.map +0 -1
- package/dist/cue-BXMrmvay.mjs +0 -7
- package/dist/cue-BXMrmvay.mjs.map +0 -1
- package/dist/cypher-DTm5zNR1.mjs +0 -7
- package/dist/cypher-DTm5zNR1.mjs.map +0 -1
- package/dist/d-D6ZXmn3l.mjs +0 -7
- package/dist/d-D6ZXmn3l.mjs.map +0 -1
- package/dist/dark-plus-pUHDTVV0.mjs +0 -5
- package/dist/dark-plus-pUHDTVV0.mjs.map +0 -1
- package/dist/dart-Dz59Is3F.mjs +0 -7
- package/dist/dart-Dz59Is3F.mjs.map +0 -1
- package/dist/dax-DTVGzydb.mjs +0 -7
- package/dist/dax-DTVGzydb.mjs.map +0 -1
- package/dist/desktop-Db9vb-dl.mjs +0 -7
- package/dist/desktop-Db9vb-dl.mjs.map +0 -1
- package/dist/diff-XmNrvgM1.mjs +0 -7
- package/dist/diff-XmNrvgM1.mjs.map +0 -1
- package/dist/docker-DWH2onkn.mjs +0 -7
- package/dist/docker-DWH2onkn.mjs.map +0 -1
- package/dist/dotenv-4337wvzu.mjs +0 -7
- package/dist/dotenv-4337wvzu.mjs.map +0 -1
- package/dist/dracula-BtZx2Kac.mjs +0 -5
- package/dist/dracula-BtZx2Kac.mjs.map +0 -1
- package/dist/dracula-soft-BKa-aqBv.mjs +0 -5
- package/dist/dracula-soft-BKa-aqBv.mjs.map +0 -1
- package/dist/dream-maker-CvvfrJSx.mjs +0 -7
- package/dist/dream-maker-CvvfrJSx.mjs.map +0 -1
- package/dist/edge-rB7bfPUq.mjs +0 -13
- package/dist/edge-rB7bfPUq.mjs.map +0 -1
- package/dist/elixir-I2bDeTwH.mjs +0 -9
- package/dist/elixir-I2bDeTwH.mjs.map +0 -1
- package/dist/elm-DJq5SiXR.mjs +0 -9
- package/dist/elm-DJq5SiXR.mjs.map +0 -1
- package/dist/emacs-lisp-BAefI874.mjs +0 -7
- package/dist/emacs-lisp-BAefI874.mjs.map +0 -1
- package/dist/erb-CGi140rl.mjs +0 -11
- package/dist/erb-CGi140rl.mjs.map +0 -1
- package/dist/erlang-CmIiwF3I.mjs +0 -7
- package/dist/erlang-CmIiwF3I.mjs.map +0 -1
- package/dist/everforest-dark-DMCBqXCK.mjs +0 -5
- package/dist/everforest-dark-DMCBqXCK.mjs.map +0 -1
- package/dist/everforest-light-BbXl82Em.mjs +0 -5
- package/dist/everforest-light-BbXl82Em.mjs.map +0 -1
- package/dist/fennel-DNqkz9pE.mjs +0 -7
- package/dist/fennel-DNqkz9pE.mjs.map +0 -1
- package/dist/fish-DIm72t2T.mjs +0 -7
- package/dist/fish-DIm72t2T.mjs.map +0 -1
- package/dist/fluent-BapTxJsC.mjs +0 -7
- package/dist/fluent-BapTxJsC.mjs.map +0 -1
- package/dist/fortran-fixed-form-VPBWA6Oj.mjs +0 -9
- package/dist/fortran-fixed-form-VPBWA6Oj.mjs.map +0 -1
- package/dist/fortran-free-form-CNDsBFUj.mjs +0 -7
- package/dist/fortran-free-form-CNDsBFUj.mjs.map +0 -1
- package/dist/fsharp-pl5ubXXm.mjs +0 -9
- package/dist/fsharp-pl5ubXXm.mjs.map +0 -1
- package/dist/gdresource-DcjoNYCE.mjs +0 -11
- package/dist/gdresource-DcjoNYCE.mjs.map +0 -1
- package/dist/gdscript-D7aheHm-.mjs +0 -7
- package/dist/gdscript-D7aheHm-.mjs.map +0 -1
- package/dist/gdshader-BGJEsM2Z.mjs +0 -7
- package/dist/gdshader-BGJEsM2Z.mjs.map +0 -1
- package/dist/genie-C9gPjc6J.mjs +0 -7
- package/dist/genie-C9gPjc6J.mjs.map +0 -1
- package/dist/gherkin-bka1Exbx.mjs +0 -7
- package/dist/gherkin-bka1Exbx.mjs.map +0 -1
- package/dist/git-commit-CFAr918P.mjs +0 -9
- package/dist/git-commit-CFAr918P.mjs.map +0 -1
- package/dist/git-rebase-CxSmy0Ou.mjs +0 -9
- package/dist/git-rebase-CxSmy0Ou.mjs.map +0 -1
- package/dist/github-dark-DenFmJkN.mjs +0 -5
- package/dist/github-dark-DenFmJkN.mjs.map +0 -1
- package/dist/github-dark-default-BJPUVz4H.mjs +0 -5
- package/dist/github-dark-default-BJPUVz4H.mjs.map +0 -1
- package/dist/github-dark-dimmed-DUshB20C.mjs +0 -5
- package/dist/github-dark-dimmed-DUshB20C.mjs.map +0 -1
- package/dist/github-dark-high-contrast-D3aGCnF8.mjs +0 -5
- package/dist/github-dark-high-contrast-D3aGCnF8.mjs.map +0 -1
- package/dist/github-light-JYsPkUQd.mjs +0 -5
- package/dist/github-light-JYsPkUQd.mjs.map +0 -1
- package/dist/github-light-default-D99KPAby.mjs +0 -5
- package/dist/github-light-default-D99KPAby.mjs.map +0 -1
- package/dist/github-light-high-contrast-BbmZE-Mp.mjs +0 -5
- package/dist/github-light-high-contrast-BbmZE-Mp.mjs.map +0 -1
- package/dist/gleam-B4k9YFGD.mjs +0 -7
- package/dist/gleam-B4k9YFGD.mjs.map +0 -1
- package/dist/glimmer-js-hZtIWxMD.mjs +0 -15
- package/dist/glimmer-js-hZtIWxMD.mjs.map +0 -1
- package/dist/glimmer-ts-CuzrSuha.mjs +0 -15
- package/dist/glimmer-ts-CuzrSuha.mjs.map +0 -1
- package/dist/glsl-OqD2hBdi.mjs +0 -9
- package/dist/glsl-OqD2hBdi.mjs.map +0 -1
- package/dist/gnuplot-DnWoRZt-.mjs +0 -7
- package/dist/gnuplot-DnWoRZt-.mjs.map +0 -1
- package/dist/go-BErP6iv1.mjs +0 -7
- package/dist/go-BErP6iv1.mjs.map +0 -1
- package/dist/graphql-DYVIBhmu.mjs +0 -15
- package/dist/graphql-DYVIBhmu.mjs.map +0 -1
- package/dist/groovy-IWs5-NIO.mjs +0 -7
- package/dist/groovy-IWs5-NIO.mjs.map +0 -1
- package/dist/hack-BTzkdQe-.mjs +0 -11
- package/dist/hack-BTzkdQe-.mjs.map +0 -1
- package/dist/haml-Bcedh39y.mjs +0 -11
- package/dist/haml-Bcedh39y.mjs.map +0 -1
- package/dist/handlebars-D8JD9VEM.mjs +0 -15
- package/dist/handlebars-D8JD9VEM.mjs.map +0 -1
- package/dist/haskell-CtlGos0K.mjs +0 -7
- package/dist/haskell-CtlGos0K.mjs.map +0 -1
- package/dist/haxe-CZZ33vZw.mjs +0 -7
- package/dist/haxe-CZZ33vZw.mjs.map +0 -1
- package/dist/hcl-6hOg9WP4.mjs +0 -7
- package/dist/hcl-6hOg9WP4.mjs.map +0 -1
- package/dist/hjson-CgwED-oz.mjs +0 -7
- package/dist/hjson-CgwED-oz.mjs.map +0 -1
- package/dist/hlsl-3-lv4gi7.mjs +0 -7
- package/dist/hlsl-3-lv4gi7.mjs.map +0 -1
- package/dist/houston-BDYrDoDW.mjs +0 -5
- package/dist/houston-BDYrDoDW.mjs.map +0 -1
- package/dist/html-DCqQGUFB.mjs +0 -11
- package/dist/html-DCqQGUFB.mjs.map +0 -1
- package/dist/html-derivative-CINTDFWb.mjs +0 -9
- package/dist/html-derivative-CINTDFWb.mjs.map +0 -1
- package/dist/http-BMfANYks.mjs +0 -15
- package/dist/http-BMfANYks.mjs.map +0 -1
- package/dist/hxml-CFNexoAf.mjs +0 -9
- package/dist/hxml-CFNexoAf.mjs.map +0 -1
- package/dist/hy-C2xHhR6I.mjs +0 -7
- package/dist/hy-C2xHhR6I.mjs.map +0 -1
- package/dist/imba-IHaNY69y.mjs +0 -9
- package/dist/imba-IHaNY69y.mjs.map +0 -1
- package/dist/index-Dvha3rYC.mjs +0 -48363
- package/dist/index-Dvha3rYC.mjs.map +0 -1
- package/dist/ini-BUcvsX-U.mjs +0 -7
- package/dist/ini-BUcvsX-U.mjs.map +0 -1
- package/dist/java-B7odJ7Ap.mjs +0 -7
- package/dist/java-B7odJ7Ap.mjs.map +0 -1
- package/dist/javascript-fa8UlHZE.mjs +0 -7
- package/dist/javascript-fa8UlHZE.mjs.map +0 -1
- package/dist/jinja-DocYDOmm.mjs +0 -12
- package/dist/jinja-DocYDOmm.mjs.map +0 -1
- package/dist/jison-B92c88Nc.mjs +0 -9
- package/dist/jison-B92c88Nc.mjs.map +0 -1
- package/dist/json-71t8ZF9g.mjs +0 -7
- package/dist/json-71t8ZF9g.mjs.map +0 -1
- package/dist/json5-Z7F6rA6a.mjs +0 -7
- package/dist/json5-Z7F6rA6a.mjs.map +0 -1
- package/dist/jsonc-Dphhs4m2.mjs +0 -7
- package/dist/jsonc-Dphhs4m2.mjs.map +0 -1
- package/dist/jsonl-D9jj92Gg.mjs +0 -7
- package/dist/jsonl-D9jj92Gg.mjs.map +0 -1
- package/dist/jsonnet-DEQ7IUoJ.mjs +0 -7
- package/dist/jsonnet-DEQ7IUoJ.mjs.map +0 -1
- package/dist/jssm-j74e88UX.mjs +0 -7
- package/dist/jssm-j74e88UX.mjs.map +0 -1
- package/dist/jsx-Bkesy5tT.mjs +0 -7
- package/dist/jsx-Bkesy5tT.mjs.map +0 -1
- package/dist/julia-PiEGPp77.mjs +0 -17
- package/dist/julia-PiEGPp77.mjs.map +0 -1
- package/dist/kanagawa-dragon-CiKur4Hl.mjs +0 -5
- package/dist/kanagawa-dragon-CiKur4Hl.mjs.map +0 -1
- package/dist/kanagawa-lotus-BKu-smKu.mjs +0 -5
- package/dist/kanagawa-lotus-BKu-smKu.mjs.map +0 -1
- package/dist/kanagawa-wave-CQwozSzG.mjs +0 -5
- package/dist/kanagawa-wave-CQwozSzG.mjs.map +0 -1
- package/dist/kotlin-DCgZY7Ii.mjs +0 -7
- package/dist/kotlin-DCgZY7Ii.mjs.map +0 -1
- package/dist/kusto-Cw029H-v.mjs +0 -7
- package/dist/kusto-Cw029H-v.mjs.map +0 -1
- package/dist/laserwave-6a00oqik.mjs +0 -5
- package/dist/laserwave-6a00oqik.mjs.map +0 -1
- package/dist/latex-DgM2a7EB.mjs +0 -9
- package/dist/latex-DgM2a7EB.mjs.map +0 -1
- package/dist/lean-CYSet4vs.mjs +0 -7
- package/dist/lean-CYSet4vs.mjs.map +0 -1
- package/dist/less-DQA4v-Nm.mjs +0 -7
- package/dist/less-DQA4v-Nm.mjs.map +0 -1
- package/dist/light-plus-CZuVqSLX.mjs +0 -5
- package/dist/light-plus-CZuVqSLX.mjs.map +0 -1
- package/dist/liquid-BRkwQupg.mjs +0 -15
- package/dist/liquid-BRkwQupg.mjs.map +0 -1
- package/dist/log-D2eRfqDn.mjs +0 -7
- package/dist/log-D2eRfqDn.mjs.map +0 -1
- package/dist/logo-QEAtGWZ9.mjs +0 -7
- package/dist/logo-QEAtGWZ9.mjs.map +0 -1
- package/dist/lua-BtYIXco8.mjs +0 -9
- package/dist/lua-BtYIXco8.mjs.map +0 -1
- package/dist/luau-BjYGiqID.mjs +0 -7
- package/dist/luau-BjYGiqID.mjs.map +0 -1
- package/dist/make-BjuHP00g.mjs +0 -7
- package/dist/make-BjuHP00g.mjs.map +0 -1
- package/dist/markdown-B6guhLWd.mjs +0 -7
- package/dist/markdown-B6guhLWd.mjs.map +0 -1
- package/dist/marko-6vZhsog9.mjs +0 -15
- package/dist/marko-6vZhsog9.mjs.map +0 -1
- package/dist/material-theme-D6KBX41T.mjs +0 -5
- package/dist/material-theme-D6KBX41T.mjs.map +0 -1
- package/dist/material-theme-darker-CkRroheE.mjs +0 -5
- package/dist/material-theme-darker-CkRroheE.mjs.map +0 -1
- package/dist/material-theme-lighter-BUBw43Yz.mjs +0 -5
- package/dist/material-theme-lighter-BUBw43Yz.mjs.map +0 -1
- package/dist/material-theme-ocean-ClGX14Ja.mjs +0 -5
- package/dist/material-theme-ocean-ClGX14Ja.mjs.map +0 -1
- package/dist/material-theme-palenight-C1RVm8K1.mjs +0 -5
- package/dist/material-theme-palenight-C1RVm8K1.mjs.map +0 -1
- package/dist/matlab-BpQlIJiw.mjs +0 -7
- package/dist/matlab-BpQlIJiw.mjs.map +0 -1
- package/dist/mdc-CxH01fQP.mjs +0 -13
- package/dist/mdc-CxH01fQP.mjs.map +0 -1
- package/dist/mdx-DIoECIFU.mjs +0 -7
- package/dist/mdx-DIoECIFU.mjs.map +0 -1
- package/dist/mermaid-BZ7WHNIe.mjs +0 -7
- package/dist/mermaid-BZ7WHNIe.mjs.map +0 -1
- package/dist/min-dark-C7ak0t6c.mjs +0 -5
- package/dist/min-dark-C7ak0t6c.mjs.map +0 -1
- package/dist/min-light-CKFxVcPp.mjs +0 -5
- package/dist/min-light-CKFxVcPp.mjs.map +0 -1
- package/dist/mipsasm-DusDYkFc.mjs +0 -7
- package/dist/mipsasm-DusDYkFc.mjs.map +0 -1
- package/dist/mojo-CY9jaezJ.mjs +0 -7
- package/dist/mojo-CY9jaezJ.mjs.map +0 -1
- package/dist/monokai-C1KBYcO0.mjs +0 -5
- package/dist/monokai-C1KBYcO0.mjs.map +0 -1
- package/dist/move-ChphFumd.mjs +0 -7
- package/dist/move-ChphFumd.mjs.map +0 -1
- package/dist/narrat-Dz4d7OmN.mjs +0 -7
- package/dist/narrat-Dz4d7OmN.mjs.map +0 -1
- package/dist/nextflow-DW0Yq9a2.mjs +0 -7
- package/dist/nextflow-DW0Yq9a2.mjs.map +0 -1
- package/dist/nginx-BQs0PKon.mjs +0 -9
- package/dist/nginx-BQs0PKon.mjs.map +0 -1
- package/dist/night-owl-Bm2rzalh.mjs +0 -5
- package/dist/night-owl-Bm2rzalh.mjs.map +0 -1
- package/dist/nim-BTAY9FRa.mjs +0 -21
- package/dist/nim-BTAY9FRa.mjs.map +0 -1
- package/dist/nix-Cg5uV_xg.mjs +0 -7
- package/dist/nix-Cg5uV_xg.mjs.map +0 -1
- package/dist/nord-CC5OiUXg.mjs +0 -5
- package/dist/nord-CC5OiUXg.mjs.map +0 -1
- package/dist/nushell-BfRnzRWn.mjs +0 -7
- package/dist/nushell-BfRnzRWn.mjs.map +0 -1
- package/dist/objective-c-BGg9R27G.mjs +0 -7
- package/dist/objective-c-BGg9R27G.mjs.map +0 -1
- package/dist/objective-cpp-CJ3y3V_5.mjs +0 -7
- package/dist/objective-cpp-CJ3y3V_5.mjs.map +0 -1
- package/dist/ocaml-BZLsfx_o.mjs +0 -7
- package/dist/ocaml-BZLsfx_o.mjs.map +0 -1
- package/dist/one-dark-pro-D7-kP8fv.mjs +0 -5
- package/dist/one-dark-pro-D7-kP8fv.mjs.map +0 -1
- package/dist/one-light-D9sNaUtq.mjs +0 -5
- package/dist/one-light-D9sNaUtq.mjs.map +0 -1
- package/dist/pascal-l2bqd7Dz.mjs +0 -7
- package/dist/pascal-l2bqd7Dz.mjs.map +0 -1
- package/dist/perl-C4wlepez.mjs +0 -17
- package/dist/perl-C4wlepez.mjs.map +0 -1
- package/dist/php-D8EvpYwb.mjs +0 -19
- package/dist/php-D8EvpYwb.mjs.map +0 -1
- package/dist/plastic-CSTz3KZp.mjs +0 -5
- package/dist/plastic-CSTz3KZp.mjs.map +0 -1
- package/dist/plsql-oVq_K_wH.mjs +0 -7
- package/dist/plsql-oVq_K_wH.mjs.map +0 -1
- package/dist/po-5jaeIyVd.mjs +0 -7
- package/dist/po-5jaeIyVd.mjs.map +0 -1
- package/dist/poimandres-C-VADXHD.mjs +0 -5
- package/dist/poimandres-C-VADXHD.mjs.map +0 -1
- package/dist/polar-wcLp8ci7.mjs +0 -7
- package/dist/polar-wcLp8ci7.mjs.map +0 -1
- package/dist/postcss-BZ3MNRIJ.mjs +0 -7
- package/dist/postcss-BZ3MNRIJ.mjs.map +0 -1
- package/dist/powerquery-CgRa2XRw.mjs +0 -7
- package/dist/powerquery-CgRa2XRw.mjs.map +0 -1
- package/dist/powershell-Diwyv8Eh.mjs +0 -7
- package/dist/powershell-Diwyv8Eh.mjs.map +0 -1
- package/dist/prisma-COL_v1x4.mjs +0 -7
- package/dist/prisma-COL_v1x4.mjs.map +0 -1
- package/dist/prolog-CuvJOxqT.mjs +0 -7
- package/dist/prolog-CuvJOxqT.mjs.map +0 -1
- package/dist/proto-o9HLmF90.mjs +0 -7
- package/dist/proto-o9HLmF90.mjs.map +0 -1
- package/dist/pug-BrFUCFUu.mjs +0 -13
- package/dist/pug-BrFUCFUu.mjs.map +0 -1
- package/dist/puppet-wpGOnQp5.mjs +0 -7
- package/dist/puppet-wpGOnQp5.mjs.map +0 -1
- package/dist/purescript-B_1NgE2N.mjs +0 -7
- package/dist/purescript-B_1NgE2N.mjs.map +0 -1
- package/dist/python-xYxLFJY-.mjs +0 -7
- package/dist/python-xYxLFJY-.mjs.map +0 -1
- package/dist/qml-sumwFfQD.mjs +0 -9
- package/dist/qml-sumwFfQD.mjs.map +0 -1
- package/dist/qmldir-BInDYbpo.mjs +0 -7
- package/dist/qmldir-BInDYbpo.mjs.map +0 -1
- package/dist/qss-D-h4NdUG.mjs +0 -7
- package/dist/qss-D-h4NdUG.mjs.map +0 -1
- package/dist/r-F-9I-ITZ.mjs +0 -7
- package/dist/r-F-9I-ITZ.mjs.map +0 -1
- package/dist/racket-BoD1TBFT.mjs +0 -7
- package/dist/racket-BoD1TBFT.mjs.map +0 -1
- package/dist/raku-IaYcw19m.mjs +0 -7
- package/dist/raku-IaYcw19m.mjs.map +0 -1
- package/dist/razor-CpHzlFPs.mjs +0 -11
- package/dist/razor-CpHzlFPs.mjs.map +0 -1
- package/dist/red-7y8PH7HH.mjs +0 -5
- package/dist/red-7y8PH7HH.mjs.map +0 -1
- package/dist/reg-CMUdAgIP.mjs +0 -7
- package/dist/reg-CMUdAgIP.mjs.map +0 -1
- package/dist/regexp-GiFkbxS-.mjs +0 -7
- package/dist/regexp-GiFkbxS-.mjs.map +0 -1
- package/dist/rel-BaRn3QX7.mjs +0 -7
- package/dist/rel-BaRn3QX7.mjs.map +0 -1
- package/dist/riscv-B9V3SsvW.mjs +0 -7
- package/dist/riscv-B9V3SsvW.mjs.map +0 -1
- package/dist/rose-pine-DhT-HZE9.mjs +0 -5
- package/dist/rose-pine-DhT-HZE9.mjs.map +0 -1
- package/dist/rose-pine-dawn-DiCjL2i4.mjs +0 -5
- package/dist/rose-pine-dawn-DiCjL2i4.mjs.map +0 -1
- package/dist/rose-pine-moon-BNmGHlcn.mjs +0 -5
- package/dist/rose-pine-moon-BNmGHlcn.mjs.map +0 -1
- package/dist/rst-BzwuVDd3.mjs +0 -23
- package/dist/rst-BzwuVDd3.mjs.map +0 -1
- package/dist/ruby-BamR9AWX.mjs +0 -31
- package/dist/ruby-BamR9AWX.mjs.map +0 -1
- package/dist/rust-Pc7DCsZD.mjs +0 -7
- package/dist/rust-Pc7DCsZD.mjs.map +0 -1
- package/dist/sas-CFo8oeCx.mjs +0 -9
- package/dist/sas-CFo8oeCx.mjs.map +0 -1
- package/dist/sass-iCyS6eP9.mjs +0 -7
- package/dist/sass-iCyS6eP9.mjs.map +0 -1
- package/dist/scala-Cly-fENF.mjs +0 -7
- package/dist/scala-Cly-fENF.mjs.map +0 -1
- package/dist/scheme-Zi24oEYu.mjs +0 -7
- package/dist/scheme-Zi24oEYu.mjs.map +0 -1
- package/dist/scss-BDjOwJ4w.mjs +0 -9
- package/dist/scss-BDjOwJ4w.mjs.map +0 -1
- package/dist/sdbl-BBamrXFL.mjs +0 -7
- package/dist/sdbl-BBamrXFL.mjs.map +0 -1
- package/dist/shaderlab-WXePUd_q.mjs +0 -9
- package/dist/shaderlab-WXePUd_q.mjs.map +0 -1
- package/dist/shellscript-Dn0-btNd.mjs +0 -7
- package/dist/shellscript-Dn0-btNd.mjs.map +0 -1
- package/dist/shellsession-M0CMExXv.mjs +0 -9
- package/dist/shellsession-M0CMExXv.mjs.map +0 -1
- package/dist/slack-dark-i7wN4OET.mjs +0 -5
- package/dist/slack-dark-i7wN4OET.mjs.map +0 -1
- package/dist/slack-ochin-ndHf0LoP.mjs +0 -5
- package/dist/slack-ochin-ndHf0LoP.mjs.map +0 -1
- package/dist/smalltalk-Cns31tKw.mjs +0 -7
- package/dist/smalltalk-Cns31tKw.mjs.map +0 -1
- package/dist/snazzy-light-BlSJXAu4.mjs +0 -5
- package/dist/snazzy-light-BlSJXAu4.mjs.map +0 -1
- package/dist/solarized-dark-UTmkh7lw.mjs +0 -5
- package/dist/solarized-dark-UTmkh7lw.mjs.map +0 -1
- package/dist/solarized-light-BheCkDPT.mjs +0 -5
- package/dist/solarized-light-BheCkDPT.mjs.map +0 -1
- package/dist/solidity-BG_k8fA_.mjs +0 -7
- package/dist/solidity-BG_k8fA_.mjs.map +0 -1
- package/dist/soy-Brw0esQZ.mjs +0 -9
- package/dist/soy-Brw0esQZ.mjs.map +0 -1
- package/dist/sparql-B0MwMtw4.mjs +0 -9
- package/dist/sparql-B0MwMtw4.mjs.map +0 -1
- package/dist/splunk-CTqDjQdo.mjs +0 -7
- package/dist/splunk-CTqDjQdo.mjs.map +0 -1
- package/dist/sql-DCkt643-.mjs +0 -7
- package/dist/sql-DCkt643-.mjs.map +0 -1
- package/dist/ssh-config-DHHGll-v.mjs +0 -7
- package/dist/ssh-config-DHHGll-v.mjs.map +0 -1
- package/dist/stata-B41mYDek.mjs +0 -9
- package/dist/stata-B41mYDek.mjs.map +0 -1
- package/dist/stylus-n_9f0QQ5.mjs +0 -7
- package/dist/stylus-n_9f0QQ5.mjs.map +0 -1
- package/dist/svelte-DLh_Y2-1.mjs +0 -15
- package/dist/svelte-DLh_Y2-1.mjs.map +0 -1
- package/dist/swift-BAWqNR8A.mjs +0 -7
- package/dist/swift-BAWqNR8A.mjs.map +0 -1
- package/dist/synthwave-84-NU3C_KFZ.mjs +0 -5
- package/dist/synthwave-84-NU3C_KFZ.mjs.map +0 -1
- package/dist/system-verilog-Cui-g-ut.mjs +0 -7
- package/dist/system-verilog-Cui-g-ut.mjs.map +0 -1
- package/dist/systemd-CsKYQIQK.mjs +0 -7
- package/dist/systemd-CsKYQIQK.mjs.map +0 -1
- package/dist/talonscript-D2dGh8FO.mjs +0 -7
- package/dist/talonscript-D2dGh8FO.mjs.map +0 -1
- package/dist/tasl-D3W8HMV6.mjs +0 -7
- package/dist/tasl-D3W8HMV6.mjs.map +0 -1
- package/dist/tcl-2y0Fuc4S.mjs +0 -7
- package/dist/tcl-2y0Fuc4S.mjs.map +0 -1
- package/dist/templ-Clf72F0b.mjs +0 -13
- package/dist/templ-Clf72F0b.mjs.map +0 -1
- package/dist/terraform-BGW6Oerf.mjs +0 -7
- package/dist/terraform-BGW6Oerf.mjs.map +0 -1
- package/dist/tex-DslmykYW.mjs +0 -9
- package/dist/tex-DslmykYW.mjs.map +0 -1
- package/dist/tokyo-night-LhP3hHhi.mjs +0 -5
- package/dist/tokyo-night-LhP3hHhi.mjs.map +0 -1
- package/dist/toml-CQSfOn0e.mjs +0 -7
- package/dist/toml-CQSfOn0e.mjs.map +0 -1
- package/dist/ts-tags-BKojuJph.mjs +0 -42
- package/dist/ts-tags-BKojuJph.mjs.map +0 -1
- package/dist/tsv-BtvSkaG0.mjs +0 -7
- package/dist/tsv-BtvSkaG0.mjs.map +0 -1
- package/dist/tsx-DiGsgWT8.mjs +0 -7
- package/dist/tsx-DiGsgWT8.mjs.map +0 -1
- package/dist/turtle-BJ2wmjPc.mjs +0 -7
- package/dist/turtle-BJ2wmjPc.mjs.map +0 -1
- package/dist/twig-np_0LfuC.mjs +0 -19
- package/dist/twig-np_0LfuC.mjs.map +0 -1
- package/dist/typescript-buWNZFwO.mjs +0 -7
- package/dist/typescript-buWNZFwO.mjs.map +0 -1
- package/dist/typespec-bLbdsxJL.mjs +0 -7
- package/dist/typespec-bLbdsxJL.mjs.map +0 -1
- package/dist/typst-Y9_SmXTs.mjs +0 -7
- package/dist/typst-Y9_SmXTs.mjs.map +0 -1
- package/dist/v-wa8Orrdd.mjs +0 -7
- package/dist/v-wa8Orrdd.mjs.map +0 -1
- package/dist/vala-DRdriFr_.mjs +0 -7
- package/dist/vala-DRdriFr_.mjs.map +0 -1
- package/dist/vb-E2_-jk4M.mjs +0 -7
- package/dist/vb-E2_-jk4M.mjs.map +0 -1
- package/dist/verilog-B1iBoR5_.mjs +0 -7
- package/dist/verilog-B1iBoR5_.mjs.map +0 -1
- package/dist/vesper-CJsaOsSM.mjs +0 -5
- package/dist/vesper-CJsaOsSM.mjs.map +0 -1
- package/dist/vhdl-CRVaAhXk.mjs +0 -7
- package/dist/vhdl-CRVaAhXk.mjs.map +0 -1
- package/dist/viml-B-zWOd7Z.mjs +0 -7
- package/dist/viml-B-zWOd7Z.mjs.map +0 -1
- package/dist/vitesse-black-BoGvW84i.mjs +0 -5
- package/dist/vitesse-black-BoGvW84i.mjs.map +0 -1
- package/dist/vitesse-dark-Cym-eLtO.mjs +0 -5
- package/dist/vitesse-dark-Cym-eLtO.mjs.map +0 -1
- package/dist/vitesse-light-CcmG315c.mjs +0 -5
- package/dist/vitesse-light-CcmG315c.mjs.map +0 -1
- package/dist/vue-DilDRuBu.mjs +0 -32
- package/dist/vue-DilDRuBu.mjs.map +0 -1
- package/dist/vue-html-DUQ56-xa.mjs +0 -11
- package/dist/vue-html-DUQ56-xa.mjs.map +0 -1
- package/dist/vyper-DWutKXpa.mjs +0 -7
- package/dist/vyper-DWutKXpa.mjs.map +0 -1
- package/dist/wasm-Bv5f0gKv.mjs +0 -7
- package/dist/wasm-Bv5f0gKv.mjs.map +0 -1
- package/dist/wasm-DQxwEHae.mjs +0 -8
- package/dist/wasm-DQxwEHae.mjs.map +0 -1
- package/dist/wenyan-BMYnfus1.mjs +0 -7
- package/dist/wenyan-BMYnfus1.mjs.map +0 -1
- package/dist/wgsl-DnPoPGDU.mjs +0 -7
- package/dist/wgsl-DnPoPGDU.mjs.map +0 -1
- package/dist/wikitext-CntM04PE.mjs +0 -7
- package/dist/wikitext-CntM04PE.mjs.map +0 -1
- package/dist/wolfram-Ws5qPlX9.mjs +0 -7
- package/dist/wolfram-Ws5qPlX9.mjs.map +0 -1
- package/dist/xml-w1xXtXHV.mjs +0 -9
- package/dist/xml-w1xXtXHV.mjs.map +0 -1
- package/dist/xsl-CV3KoNEn.mjs +0 -9
- package/dist/xsl-CV3KoNEn.mjs.map +0 -1
- package/dist/yaml-Bbg74JKr.mjs +0 -7
- package/dist/yaml-Bbg74JKr.mjs.map +0 -1
- package/dist/zenscript-C0RKE4nU.mjs +0 -7
- package/dist/zenscript-C0RKE4nU.mjs.map +0 -1
- package/dist/zig-D6SXBGNm.mjs +0 -7
- package/dist/zig-D6SXBGNm.mjs.map +0 -1
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import e from "./html-DCqQGUFB.mjs";
|
|
2
|
-
import t from "./sql-DCkt643-.mjs";
|
|
3
|
-
import n from "./css-D1aVdRIU.mjs";
|
|
4
|
-
import a from "./c-DASdrs7p.mjs";
|
|
5
|
-
import r from "./javascript-fa8UlHZE.mjs";
|
|
6
|
-
import i from "./shellscript-Dn0-btNd.mjs";
|
|
7
|
-
const s = 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}][.\\\\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[0-9][0-9_]*\\\\.[0-9][0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\\\b","name":"constant.numeric.float.crystal"},{"comment":"Floating point literal (exponent)","match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\\\b","name":"constant.numeric.float.crystal"},{"comment":"Floating point literal (typed)","match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\\\b","name":"constant.numeric.float.crystal"},{"comment":"Integer literal (decimal)","match":"\\\\b(?!0[0-9])[0-9][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"]}`)), p = [
|
|
8
|
-
...e,
|
|
9
|
-
...t,
|
|
10
|
-
...n,
|
|
11
|
-
...a,
|
|
12
|
-
...r,
|
|
13
|
-
...i,
|
|
14
|
-
s
|
|
15
|
-
];
|
|
16
|
-
export {
|
|
17
|
-
p as default
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=crystal-BfrtH35M.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crystal-BfrtH35M.mjs","sources":["../node_modules/.pnpm/@shikijs+langs@1.29.2/node_modules/@shikijs/langs/dist/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(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}][.\\\\\\\\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[0-9][0-9_]*\\\\\\\\.[0-9][0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"comment\\\":\\\"Floating point literal (exponent)\\\",\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"comment\\\":\\\"Floating point literal (typed)\\\",\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"comment\\\":\\\"Integer literal (decimal)\\\",\\\"match\\\":\\\"\\\\\\\\b(?!0[0-9])[0-9][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\\\"]}\"))\n\nexport default [\n...html,\n...sql,\n...css,\n...c,\n...javascript,\n...shellscript,\nlang\n]\n"],"names":["lang","crystal","html","sql","css","c","javascript","shellscript"],"mappings":";;;;;;AAOA,MAAMA,IAAO,OAAO,OAAO,KAAK,MAAM,iqhCAAw+nC,CAAC,GAEhgoCC,IAAA;AAAA,EACf,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACHP;AACA;","x_google_ignoreList":[0]}
|