@dylanpiercey/work 0.0.20 → 0.0.21
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/dist/index.mjs +137 -153
- package/dist/public/assets/{_DRazGDj4.js → _-3M9WuU4.js} +2 -2
- package/dist/public/assets/{_DRazGDj4.js.map → _-3M9WuU4.js.map} +1 -1
- package/dist/public/assets/{_CekmLjtJ2.js → _3ZKZeEN32.js} +2 -2
- package/dist/public/assets/{_CekmLjtJ2.js.map → _3ZKZeEN32.js.map} +1 -1
- package/dist/public/assets/{_DNygB11b.js → _753RhcUs.js} +2 -2
- package/dist/public/assets/{_DNygB11b.js.map → _753RhcUs.js.map} +1 -1
- package/dist/public/assets/{_D6GBnH1C.js → _B1Ress7e.js} +2 -2
- package/dist/public/assets/{_D6GBnH1C.js.map → _B1Ress7e.js.map} +1 -1
- package/dist/public/assets/{_BZzhWd3g.js → _B49wgrKW.js} +2 -2
- package/dist/public/assets/{_BZzhWd3g.js.map → _B49wgrKW.js.map} +1 -1
- package/dist/public/assets/{_g8IPJgde.js → _B7ZTox7L.js} +2 -2
- package/dist/public/assets/{_g8IPJgde.js.map → _B7ZTox7L.js.map} +1 -1
- package/dist/public/assets/{_1vY8pby1.js → _BBCthCRB.js} +2 -2
- package/dist/public/assets/{_1vY8pby1.js.map → _BBCthCRB.js.map} +1 -1
- package/dist/public/assets/{_T_Eme7qq.js → _BFnmKuGb.js} +2 -2
- package/dist/public/assets/{_T_Eme7qq.js.map → _BFnmKuGb.js.map} +1 -1
- package/dist/public/assets/{_wSQWJJZf2.js → _BG21uqHk2.js} +2 -2
- package/dist/public/assets/{_wSQWJJZf2.js.map → _BG21uqHk2.js.map} +1 -1
- package/dist/public/assets/{_Dge-k2OK.js → _BGO4yXnZ.js} +2 -2
- package/dist/public/assets/{_Dge-k2OK.js.map → _BGO4yXnZ.js.map} +1 -1
- package/dist/public/assets/{_DDQcSiNZ.js → _BRfYhRDN.js} +2 -2
- package/dist/public/assets/{_DDQcSiNZ.js.map → _BRfYhRDN.js.map} +1 -1
- package/dist/public/assets/{_C6_Bkr9e.js → _BVimx11r.js} +2 -2
- package/dist/public/assets/{_C6_Bkr9e.js.map → _BVimx11r.js.map} +1 -1
- package/dist/public/assets/{_DGb5RYdw2.js → _BWIzVLMa2.js} +2 -2
- package/dist/public/assets/{_DGb5RYdw2.js.map → _BWIzVLMa2.js.map} +1 -1
- package/dist/public/assets/{_CcQeIXwg.js → _BchSFDSU.js} +2 -2
- package/dist/public/assets/{_CcQeIXwg.js.map → _BchSFDSU.js.map} +1 -1
- package/dist/public/assets/{_BTQOUkJH2.js → _BeCpXzaO2.js} +2 -2
- package/dist/public/assets/{_BTQOUkJH2.js.map → _BeCpXzaO2.js.map} +1 -1
- package/dist/public/assets/{_c4JkcQT9.js → _BfCF5T_K.js} +2 -2
- package/dist/public/assets/{_c4JkcQT9.js.map → _BfCF5T_K.js.map} +1 -1
- package/dist/public/assets/{_CONbe6YE.js → _Bo2t_uNU.js} +2 -2
- package/dist/public/assets/{_CONbe6YE.js.map → _Bo2t_uNU.js.map} +1 -1
- package/dist/public/assets/{_CSdPg73e.js → _BooCIZFD.js} +2 -2
- package/dist/public/assets/{_CSdPg73e.js.map → _BooCIZFD.js.map} +1 -1
- package/dist/public/assets/{_VrKcP-IA.js → _BpB-O0HN.js} +2 -2
- package/dist/public/assets/{_VrKcP-IA.js.map → _BpB-O0HN.js.map} +1 -1
- package/dist/public/assets/{_Bg0vcVNm.js → _BpIotmis.js} +2 -2
- package/dist/public/assets/{_Bg0vcVNm.js.map → _BpIotmis.js.map} +1 -1
- package/dist/public/assets/{_CY51jVa3.js → _BpxV-2f3.js} +2 -2
- package/dist/public/assets/{_CY51jVa3.js.map → _BpxV-2f3.js.map} +1 -1
- package/dist/public/assets/{_DHU3s4L8.js → _Bv61tUGo.js} +2 -2
- package/dist/public/assets/{_DHU3s4L8.js.map → _Bv61tUGo.js.map} +1 -1
- package/dist/public/assets/{_Dia6fhph2.js → _BwnkAzDN2.js} +2 -2
- package/dist/public/assets/{_Dia6fhph2.js.map → _BwnkAzDN2.js.map} +1 -1
- package/dist/public/assets/{_CSCYugS_.js → _ByaF5Ym8.js} +2 -2
- package/dist/public/assets/{_CSCYugS_.js.map → _ByaF5Ym8.js.map} +1 -1
- package/dist/public/assets/{_DUKDYAof.js → _C3OrD7LT.js} +2 -2
- package/dist/public/assets/{_DUKDYAof.js.map → _C3OrD7LT.js.map} +1 -1
- package/dist/public/assets/{_BpQoL5sK.js → _C480-4NE.js} +2 -2
- package/dist/public/assets/{_BpQoL5sK.js.map → _C480-4NE.js.map} +1 -1
- package/dist/public/assets/{_DPQpBMwo.js → _C4JQ0avI.js} +2 -2
- package/dist/public/assets/{_DPQpBMwo.js.map → _C4JQ0avI.js.map} +1 -1
- package/dist/public/assets/{_D4YgBy102.js → _C5tw5jaH2.js} +2 -2
- package/dist/public/assets/{_D4YgBy102.js.map → _C5tw5jaH2.js.map} +1 -1
- package/dist/public/assets/{_Dh0ojLY7.js → _CFwjuNga.js} +2 -2
- package/dist/public/assets/{_Dh0ojLY7.js.map → _CFwjuNga.js.map} +1 -1
- package/dist/public/assets/{_DQm9_WBm2.js → _CG65evuJ2.js} +2 -2
- package/dist/public/assets/{_DQm9_WBm2.js.map → _CG65evuJ2.js.map} +1 -1
- package/dist/public/assets/{_8HSgn8Ae2.js → _COiINYul2.js} +2 -2
- package/dist/public/assets/{_8HSgn8Ae2.js.map → _COiINYul2.js.map} +1 -1
- package/dist/public/assets/{_9e0FE9jl.js → _CRMMWY-q.js} +2 -2
- package/dist/public/assets/{_9e0FE9jl.js.map → _CRMMWY-q.js.map} +1 -1
- package/dist/public/assets/{_CTmSJ3aE2.js → _CXLqhKMK2.js} +2 -2
- package/dist/public/assets/{_CTmSJ3aE2.js.map → _CXLqhKMK2.js.map} +1 -1
- package/dist/public/assets/{_C96rg9Cn.js → _CZtA_-Ie.js} +2 -2
- package/dist/public/assets/{_C96rg9Cn.js.map → _CZtA_-Ie.js.map} +1 -1
- package/dist/public/assets/{_aiX4inqS2.js → _Cbg9-SI_2.js} +2 -2
- package/dist/public/assets/{_aiX4inqS2.js.map → _Cbg9-SI_2.js.map} +1 -1
- package/dist/public/assets/{_DyzfV4EQ.js → _CeybDOH3.js} +2 -2
- package/dist/public/assets/{_DyzfV4EQ.js.map → _CeybDOH3.js.map} +1 -1
- package/dist/public/assets/{_sq9fDeBh.js → _CgX5-PN8.js} +2 -2
- package/dist/public/assets/{_sq9fDeBh.js.map → _CgX5-PN8.js.map} +1 -1
- package/dist/public/assets/{_D1QJFY1d.js → _ChXwBYfg.js} +2 -2
- package/dist/public/assets/{_D1QJFY1d.js.map → _ChXwBYfg.js.map} +1 -1
- package/dist/public/assets/{_CsU7IfeP.js → _CjAjLYnS.js} +2 -2
- package/dist/public/assets/{_CsU7IfeP.js.map → _CjAjLYnS.js.map} +1 -1
- package/dist/public/assets/{_C0Aq200h.js → _CjNZdOEs.js} +2 -2
- package/dist/public/assets/{_C0Aq200h.js.map → _CjNZdOEs.js.map} +1 -1
- package/dist/public/assets/{_Bc6gDxIN.js → _CkT411UL.js} +2 -2
- package/dist/public/assets/{_Bc6gDxIN.js.map → _CkT411UL.js.map} +1 -1
- package/dist/public/assets/{_BdrBTnQV2.js → _Cm-mKxlV2.js} +2 -2
- package/dist/public/assets/{_BdrBTnQV2.js.map → _Cm-mKxlV2.js.map} +1 -1
- package/dist/public/assets/{_BC-q6DS6.js → _Cww6wLe3.js} +2 -2
- package/dist/public/assets/{_BC-q6DS6.js.map → _Cww6wLe3.js.map} +1 -1
- package/dist/public/assets/{_BoyRXB0-2.js → _D0-uwMfH2.js} +2 -2
- package/dist/public/assets/{_BoyRXB0-2.js.map → _D0-uwMfH2.js.map} +1 -1
- package/dist/public/assets/{_U_zJ788O.js → _D32jCBoK.js} +2 -2
- package/dist/public/assets/{_U_zJ788O.js.map → _D32jCBoK.js.map} +1 -1
- package/dist/public/assets/{_Dc3dYVuw2.js → _D8RqMrGW2.js} +2 -2
- package/dist/public/assets/{_Dc3dYVuw2.js.map → _D8RqMrGW2.js.map} +1 -1
- package/dist/public/assets/{_CBgFzcoa.js → _DDpdWlxA.js} +2 -2
- package/dist/public/assets/{_CBgFzcoa.js.map → _DDpdWlxA.js.map} +1 -1
- package/dist/public/assets/{_Bexv6Y9B.js → _DGZCHdAh.js} +2 -2
- package/dist/public/assets/{_Bexv6Y9B.js.map → _DGZCHdAh.js.map} +1 -1
- package/dist/public/assets/{_D5E_RD5H2.js → _DInIL5iq2.js} +2 -2
- package/dist/public/assets/{_D5E_RD5H2.js.map → _DInIL5iq2.js.map} +1 -1
- package/dist/public/assets/{_Dgh3CpAc.js → _DK5es8xg.js} +2 -2
- package/dist/public/assets/{_Dgh3CpAc.js.map → _DK5es8xg.js.map} +1 -1
- package/dist/public/assets/{_WdzvtYc4.js → _DLg1-IRM.js} +2 -2
- package/dist/public/assets/{_WdzvtYc4.js.map → _DLg1-IRM.js.map} +1 -1
- package/dist/public/assets/{_D6mf7azh2.js → _DT71qSJE2.js} +2 -2
- package/dist/public/assets/{_D6mf7azh2.js.map → _DT71qSJE2.js.map} +1 -1
- package/dist/public/assets/{_B-3tfKTw2.js → _DVIw_RgW2.js} +2 -2
- package/dist/public/assets/{_B-3tfKTw2.js.map → _DVIw_RgW2.js.map} +1 -1
- package/dist/public/assets/{_DxQA8DF72.js → _D_8pG7bS2.js} +2 -2
- package/dist/public/assets/{_DxQA8DF72.js.map → _D_8pG7bS2.js.map} +1 -1
- package/dist/public/assets/{_Cqdz3hZN2.js → _DkpMMWAt2.js} +2 -2
- package/dist/public/assets/{_Cqdz3hZN2.js.map → _DkpMMWAt2.js.map} +1 -1
- package/dist/public/assets/{_C9vwBOMi2.js → _DncMx76o2.js} +2 -2
- package/dist/public/assets/{_C9vwBOMi2.js.map → _DncMx76o2.js.map} +1 -1
- package/dist/public/assets/{_CzS0SrVK2.js → _Do3Q5gXZ2.js} +2 -2
- package/dist/public/assets/{_CzS0SrVK2.js.map → _Do3Q5gXZ2.js.map} +1 -1
- package/dist/public/assets/{_CwXWcR4L.js → _DpLjBHyL.js} +2 -2
- package/dist/public/assets/{_CwXWcR4L.js.map → _DpLjBHyL.js.map} +1 -1
- package/dist/public/assets/{_CtMaZFiS.js → _DqqLoHco.js} +2 -2
- package/dist/public/assets/{_CtMaZFiS.js.map → _DqqLoHco.js.map} +1 -1
- package/dist/public/assets/{_cy1N2YQO.js → _DtmS6252.js} +2 -2
- package/dist/public/assets/{_cy1N2YQO.js.map → _DtmS6252.js.map} +1 -1
- package/dist/public/assets/{_CvQo4_H-2.js → _E5dbeZEm2.js} +2 -2
- package/dist/public/assets/{_CvQo4_H-2.js.map → _E5dbeZEm2.js.map} +1 -1
- package/dist/public/assets/{_CWiaS9tN.js → _H-G61tx0.js} +2 -2
- package/dist/public/assets/{_CWiaS9tN.js.map → _H-G61tx0.js.map} +1 -1
- package/dist/public/assets/{_ephmTnv12.js → _JmyDHQ3S2.js} +2 -2
- package/dist/public/assets/{_ephmTnv12.js.map → _JmyDHQ3S2.js.map} +1 -1
- package/dist/public/assets/{_BhcFcxh_.js → _O3QIPxoe.js} +2 -2
- package/dist/public/assets/{_BhcFcxh_.js.map → _O3QIPxoe.js.map} +1 -1
- package/dist/public/assets/{_CVYrmNa5.js → _RgPZr-u4.js} +2 -2
- package/dist/public/assets/{_CVYrmNa5.js.map → _RgPZr-u4.js.map} +1 -1
- package/dist/public/assets/{_n3dr6s1l.js → _ZSGrflxk.js} +2 -2
- package/dist/public/assets/{_n3dr6s1l.js.map → _ZSGrflxk.js.map} +1 -1
- package/dist/public/assets/{_GnVvdLnS.js → _aXYWp2ZC.js} +2 -2
- package/dist/public/assets/{_GnVvdLnS.js.map → _aXYWp2ZC.js.map} +1 -1
- package/dist/public/assets/{_BiAQN2ar.js → _anllqmOe.js} +2 -2
- package/dist/public/assets/{_BiAQN2ar.js.map → _anllqmOe.js.map} +1 -1
- package/dist/public/assets/{_BMXWQXeX.js → _cZMSm0LN.js} +2 -2
- package/dist/public/assets/{_BMXWQXeX.js.map → _cZMSm0LN.js.map} +1 -1
- package/dist/public/assets/{_BTrOYuEk2.js → _dkeDDehz2.js} +2 -2
- package/dist/public/assets/{_BTrOYuEk2.js.map → _dkeDDehz2.js.map} +1 -1
- package/dist/public/assets/{_BrtaMKSf.js → _g7Q1ADd0.js} +2 -2
- package/dist/public/assets/{_BrtaMKSf.js.map → _g7Q1ADd0.js.map} +1 -1
- package/dist/public/assets/{_CexcTijs.js → _m1KNq0Gx.js} +2 -2
- package/dist/public/assets/{_CexcTijs.js.map → _m1KNq0Gx.js.map} +1 -1
- package/dist/public/assets/{_hecKvkGK.js → _q9TSOuKE.js} +2 -2
- package/dist/public/assets/{_hecKvkGK.js.map → _q9TSOuKE.js.map} +1 -1
- package/dist/public/assets/{_C_N5lXIT2.js → _xuVEda462.js} +2 -2
- package/dist/public/assets/{_C_N5lXIT2.js.map → _xuVEda462.js.map} +1 -1
- package/dist/public/assets/{index-CxxdFG3E.css → index-BxVK_c-q.css} +1 -1
- package/dist/public/assets/{index-CxXU95sL.js → index-DJu3fA99.js} +43 -43
- package/dist/public/assets/index-DJu3fA99.js.map +1 -0
- package/package.json +1 -1
- package/dist/public/assets/index-CxXU95sL.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./_g8IPJgde.js";import{t}from"./_BpQoL5sK.js";import{t as n}from"./_Dge-k2OK.js";import{t as r}from"./_BdrBTnQV2.js";import{t as i}from"./_D5E_RD5H2.js";import{t as a}from"./_C0Aq200h.js";var o=Object.freeze(JSON.parse(`{"displayName":"Crystal","fileTypes":["cr"],"firstLineMatch":"^#!/.*\\\\bcrystal","foldingStartMarker":"(?:^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-%\\\\&*+/<=>^|~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\{(?![^}]*+})|\\\\[(?![^]]*+]))).*|#.*?\\\\(fold\\\\)\\\\s*+)$","foldingStopMarker":"((^|;)\\\\s*+end\\\\s*+(#.*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[]}],?\\\\s*+(#.*)?$|#.*?\\\\(end\\\\)\\\\s*+$|^=end)","name":"crystal","patterns":[{"captures":{"1":{"name":"keyword.control.class.crystal"},"2":{"name":"keyword.control.class.crystal"},"3":{"name":"entity.name.type.class.crystal"},"5":{"name":"punctuation.separator.crystal"},"6":{"name":"support.class.other.type-param.crystal"},"7":{"name":"entity.other.inherited-class.crystal"},"8":{"name":"punctuation.separator.crystal"},"9":{"name":"punctuation.separator.crystal"},"10":{"name":"support.class.other.type-param.crystal"},"11":{"name":"punctuation.definition.variable.crystal"}},"match":"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.:A-Z_\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([,.0-:A-Z_a-z\\\\x{80}-\\\\x{10FFFF}\\\\s]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([.0-:A-Z_a-z]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.0-:A-Z_\\\\x{80}-\\\\x{10FFFF}]+))","name":"meta.class.crystal"},{"captures":{"1":{"name":"keyword.control.module.crystal"},"2":{"name":"entity.name.type.module.crystal"},"3":{"name":"entity.other.inherited-class.module.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.module.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.module.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"meta.module.crystal"},{"captures":{"1":{"name":"keyword.control.lib.crystal"},"2":{"name":"entity.name.type.lib.crystal"},"3":{"name":"entity.other.inherited-class.lib.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.lib.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.lib.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)","name":"meta.lib.crystal"},{"captures":{"1":{"name":"keyword.control.lib.type.crystal"},"2":{"name":"entity.name.lib.type.crystal"},"3":{"name":"keyword.control.lib.crystal"},"4":{"name":"entity.name.lib.type.value.crystal"}},"match":"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)","name":"meta.lib.type.crystal"},{"match":"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![!:?])","name":"keyword.control.primary.crystal"},{"match":"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\bdo\\\\b\\\\s*","name":"keyword.control.start-block.crystal"},{"match":"(?<=\\\\{)(\\\\s+)","name":"meta.syntax.crystal.start-block"},{"match":"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![!:?])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\\\x08)","name":"keyword.control.pseudo-method.crystal"},{"match":"\\\\bnil\\\\b(?![!:?])","name":"constant.language.nil.crystal"},{"match":"\\\\b(true|false)\\\\b(?![!:?])","name":"constant.language.boolean.crystal"},{"match":"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![!:?])","name":"variable.language.crystal"},{"match":"\\\\b(self)\\\\b(?![!:?])","name":"variable.language.self.crystal"},{"match":"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![!:?])","name":"support.function.kernel.crystal"},{"begin":"\\\\b(require)\\\\b","captures":{"1":{"name":"keyword.other.special-method.crystal"}},"end":"$|(?=#)","name":"meta.require.crystal","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(?!%[Qiqrwx]?[(<\\\\[{|])%([A-Z_a-z]\\\\w*\\\\.)*[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.fresh.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)([!\\\\&'+@\`]|\\\\d+|[\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])","name":"variable.other.readwrite.global.pre-defined.crystal"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.crystal"}},"end":"]","name":"meta.environment-variable.crystal","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*","name":"support.class.crystal"},{"match":"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![!:?])","name":"support.function.kernel.crystal"},{"match":"\\\\b[A-Z_]+\\\\b","name":"variable.other.constant.crystal"},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.crystal"},"2":{"name":"entity.name.function.crystal"},"3":{"name":"punctuation.definition.parameters.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.crystal"}},"name":"meta.function.method.with-arguments.crystal","patterns":[{"begin":"(?![),\\\\s])","end":"(?=,|\\\\)\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.crystal"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.crystal"},"3":{"name":"punctuation.definition.constant.hashkey.crystal"},"4":{"name":"variable.parameter.function.crystal"}},"match":"\\\\G([\\\\&*]?)(?:([A-Z_a-z]\\\\w*(:))|([A-Z_a-z]\\\\w*))"},{"include":"$self"}]}]},{"captures":{"1":{"name":"keyword.control.def.crystal"},"3":{"name":"entity.name.function.crystal"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.crystal"},{"match":"\\\\b[0-9][0-9_]*\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.decimal.crystal"},{"match":"\\\\b0x[_\\\\h]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.hexadecimal.crystal"},{"match":"\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.octal.crystal"},{"match":"\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.binary.crystal"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.crystal"}},"name":"constant.other.symbol.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.crystal"}},"name":"constant.other.symbol.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.crystal"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.single.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%x\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%x\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%x<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%x\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%x\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?:^|(?<=[\\\\&(,:;=>?\\\\[|~]|[;\\\\s]if\\\\s|[;\\\\s]elsif\\\\s|[;\\\\s]while\\\\s|[;\\\\s]unless\\\\s|[;\\\\s]when\\\\s|[;\\\\s]assert_match\\\\s|[;\\\\s]or\\\\s|[;\\\\s]and\\\\s|[;\\\\s]not\\\\s|[.\\\\s]index\\\\s|[.\\\\s]scan\\\\s|[.\\\\s]sub\\\\s|[.\\\\s]sub!\\\\s|[.\\\\s]gsub\\\\s|[.\\\\s]gsub!\\\\s|[.\\\\s]match\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\s))\\\\s*((/))(?![*+?{}])","captures":{"1":{"name":"string.regexp.classic.crystal"},"2":{"name":"punctuation.definition.string.crystal"}},"contentName":"string.regexp.classic.crystal","end":"((/[imsx]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"][imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"}]},{"begin":"%Q?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%Q?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%Q?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%Q?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.crystal.mod","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%Q\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%[iqw]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_parens"}]},{"begin":"%[iqw]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_ltgt"}]},{"begin":"%[iqw]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_brackets"}]},{"begin":"%[iqw]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.crystal"},{"include":"#nest_curly"}]},{"begin":"%[iqw]\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?<!:)(:)(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|@@?[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"constant.other.symbol.crystal"},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.symbol.crystal.19syntax"},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?:^[\\\\t ]+)?(#).*$\\\\n?","name":"comment.line.number-sign.crystal"},{"match":"(?<!}})\\\\b_(\\\\w+[!?]?)\\\\b(?!\\\\()","name":"comment.unused.crystal"},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.html.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.html.crystal","patterns":[{"include":"#heredoc"},{"include":"text.html.basic"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.sql.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.sql.crystal","patterns":[{"include":"#heredoc"},{"include":"source.sql"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.css.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.css.crystal","patterns":[{"include":"#heredoc"},{"include":"source.css"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c++.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.cplusplus.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c++"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.c.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.jquery.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.jquery.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js.jquery"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.shell.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.shell.crystal","patterns":[{"include":"#heredoc"},{"include":"source.shell"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.crystal.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.crystal.crystal","patterns":[{"include":"#heredoc"},{"include":"source.crystal"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-'(\\\\w+)')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#escaped_char"}]},{"begin":"(?><<-(\\\\w+)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.crystal"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","patterns":[{"include":"source.crystal"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.block.crystal"},{"match":",","name":"punctuation.separator.variable.crystal"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.crystal"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.crystal"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.crystal"},{"match":"(?<=^|[\\\\t ])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.crystal"},{"match":"(\\\\{%|%}|\\\\{\\\\{|}})","name":"keyword.operator.macro.crystal"},{"captures":{"1":{"name":"punctuation.separator.method.crystal"}},"match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"([%\\\\&]|\\\\*\\\\*|[-*+/])","name":"keyword.operator.arithmetic.crystal"},{"match":"=","name":"keyword.operator.assignment.crystal"},{"match":"[|~]|>>","name":"keyword.operator.other.crystal"},{"match":":","name":"punctuation.separator.other.crystal"},{"match":";","name":"punctuation.separator.statement.crystal"},{"match":",","name":"punctuation.separator.object.crystal"},{"match":"\\\\.|::","name":"punctuation.separator.method.crystal"},{"match":"[{}]","name":"punctuation.section.scope.crystal"},{"match":"[]\\\\[]","name":"punctuation.section.array.crystal"},{"match":"[()]","name":"punctuation.section.function.crystal"},{"begin":"(?=[!0-9?A-Z_a-z]+\\\\()","end":"(?<=\\\\))","name":"meta.function-call.crystal","patterns":[{"match":"([!0-9?A-Z_a-z]+)(?=\\\\()","name":"entity.name.function.crystal"},{"include":"$self"}]},{"match":"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([]$)-/=^}]|<\\\\s|<<[.|\\\\s]))","name":"variable.other.crystal"}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x\\\\h{2}|u\\\\h{4}|u\\\\{[ \\\\h]+}|.)","name":"constant.character.escape.crystal"},"heredoc":{"begin":"^<<-?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_crystal":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.crystal"}},"contentName":"source.crystal","end":"(})","endCaptures":{"0":{"name":"punctuation.section.embedded.end.crystal"},"1":{"name":"source.crystal"}},"name":"meta.embedded.line.crystal","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}],"repository":{"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}}},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"}]},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.crystal"},"3":{"name":"punctuation.definition.arbitrary-repetition.crystal"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.crystal"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.crystal"}},"end":"]","name":"string.regexp.character-class.crystal","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.crystal"}},"end":"\\\\)","name":"string.regexp.group.crystal","patterns":[{"include":"#regex_sub"}]},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?<=^|\\\\s)(#)\\\\s[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$","name":"comment.line.number-sign.crystal"}]}},"scopeName":"source.crystal","embeddedLangs":["html","sql","css","c","javascript","shellscript"]}`)),s=[...n,...r,...t,...i,...e,...a,o];export{s as default};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{t as e}from"./_B7ZTox7L.js";import{t}from"./_C480-4NE.js";import{t as n}from"./_BGO4yXnZ.js";import{t as r}from"./_Cm-mKxlV2.js";import{t as i}from"./_DInIL5iq2.js";import{t as a}from"./_CjNZdOEs.js";var o=Object.freeze(JSON.parse(`{"displayName":"Crystal","fileTypes":["cr"],"firstLineMatch":"^#!/.*\\\\bcrystal","foldingStartMarker":"(?:^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-%\\\\&*+/<=>^|~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\{(?![^}]*+})|\\\\[(?![^]]*+]))).*|#.*?\\\\(fold\\\\)\\\\s*+)$","foldingStopMarker":"((^|;)\\\\s*+end\\\\s*+(#.*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[]}],?\\\\s*+(#.*)?$|#.*?\\\\(end\\\\)\\\\s*+$|^=end)","name":"crystal","patterns":[{"captures":{"1":{"name":"keyword.control.class.crystal"},"2":{"name":"keyword.control.class.crystal"},"3":{"name":"entity.name.type.class.crystal"},"5":{"name":"punctuation.separator.crystal"},"6":{"name":"support.class.other.type-param.crystal"},"7":{"name":"entity.other.inherited-class.crystal"},"8":{"name":"punctuation.separator.crystal"},"9":{"name":"punctuation.separator.crystal"},"10":{"name":"support.class.other.type-param.crystal"},"11":{"name":"punctuation.definition.variable.crystal"}},"match":"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.:A-Z_\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([,.0-:A-Z_a-z\\\\x{80}-\\\\x{10FFFF}\\\\s]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([.0-:A-Z_a-z]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.0-:A-Z_\\\\x{80}-\\\\x{10FFFF}]+))","name":"meta.class.crystal"},{"captures":{"1":{"name":"keyword.control.module.crystal"},"2":{"name":"entity.name.type.module.crystal"},"3":{"name":"entity.other.inherited-class.module.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.module.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.module.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"meta.module.crystal"},{"captures":{"1":{"name":"keyword.control.lib.crystal"},"2":{"name":"entity.name.type.lib.crystal"},"3":{"name":"entity.other.inherited-class.lib.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.lib.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.lib.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)","name":"meta.lib.crystal"},{"captures":{"1":{"name":"keyword.control.lib.type.crystal"},"2":{"name":"entity.name.lib.type.crystal"},"3":{"name":"keyword.control.lib.crystal"},"4":{"name":"entity.name.lib.type.value.crystal"}},"match":"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)","name":"meta.lib.type.crystal"},{"match":"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![!:?])","name":"keyword.control.primary.crystal"},{"match":"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\bdo\\\\b\\\\s*","name":"keyword.control.start-block.crystal"},{"match":"(?<=\\\\{)(\\\\s+)","name":"meta.syntax.crystal.start-block"},{"match":"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![!:?])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\\\x08)","name":"keyword.control.pseudo-method.crystal"},{"match":"\\\\bnil\\\\b(?![!:?])","name":"constant.language.nil.crystal"},{"match":"\\\\b(true|false)\\\\b(?![!:?])","name":"constant.language.boolean.crystal"},{"match":"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![!:?])","name":"variable.language.crystal"},{"match":"\\\\b(self)\\\\b(?![!:?])","name":"variable.language.self.crystal"},{"match":"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![!:?])","name":"support.function.kernel.crystal"},{"begin":"\\\\b(require)\\\\b","captures":{"1":{"name":"keyword.other.special-method.crystal"}},"end":"$|(?=#)","name":"meta.require.crystal","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(?!%[Qiqrwx]?[(<\\\\[{|])%([A-Z_a-z]\\\\w*\\\\.)*[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.fresh.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)([!\\\\&'+@\`]|\\\\d+|[\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])","name":"variable.other.readwrite.global.pre-defined.crystal"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.crystal"}},"end":"]","name":"meta.environment-variable.crystal","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*","name":"support.class.crystal"},{"match":"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![!:?])","name":"support.function.kernel.crystal"},{"match":"\\\\b[A-Z_]+\\\\b","name":"variable.other.constant.crystal"},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.crystal"},"2":{"name":"entity.name.function.crystal"},"3":{"name":"punctuation.definition.parameters.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.crystal"}},"name":"meta.function.method.with-arguments.crystal","patterns":[{"begin":"(?![),\\\\s])","end":"(?=,|\\\\)\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.crystal"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.crystal"},"3":{"name":"punctuation.definition.constant.hashkey.crystal"},"4":{"name":"variable.parameter.function.crystal"}},"match":"\\\\G([\\\\&*]?)(?:([A-Z_a-z]\\\\w*(:))|([A-Z_a-z]\\\\w*))"},{"include":"$self"}]}]},{"captures":{"1":{"name":"keyword.control.def.crystal"},"3":{"name":"entity.name.function.crystal"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.crystal"},{"match":"\\\\b[0-9][0-9_]*\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.decimal.crystal"},{"match":"\\\\b0x[_\\\\h]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.hexadecimal.crystal"},{"match":"\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.octal.crystal"},{"match":"\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.binary.crystal"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.crystal"}},"name":"constant.other.symbol.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.crystal"}},"name":"constant.other.symbol.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.crystal"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.single.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%x\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%x\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%x<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%x\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%x\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?:^|(?<=[\\\\&(,:;=>?\\\\[|~]|[;\\\\s]if\\\\s|[;\\\\s]elsif\\\\s|[;\\\\s]while\\\\s|[;\\\\s]unless\\\\s|[;\\\\s]when\\\\s|[;\\\\s]assert_match\\\\s|[;\\\\s]or\\\\s|[;\\\\s]and\\\\s|[;\\\\s]not\\\\s|[.\\\\s]index\\\\s|[.\\\\s]scan\\\\s|[.\\\\s]sub\\\\s|[.\\\\s]sub!\\\\s|[.\\\\s]gsub\\\\s|[.\\\\s]gsub!\\\\s|[.\\\\s]match\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\s))\\\\s*((/))(?![*+?{}])","captures":{"1":{"name":"string.regexp.classic.crystal"},"2":{"name":"punctuation.definition.string.crystal"}},"contentName":"string.regexp.classic.crystal","end":"((/[imsx]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"][imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"}]},{"begin":"%Q?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%Q?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%Q?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%Q?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.crystal.mod","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%Q\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%[iqw]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_parens"}]},{"begin":"%[iqw]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_ltgt"}]},{"begin":"%[iqw]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_brackets"}]},{"begin":"%[iqw]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.crystal"},{"include":"#nest_curly"}]},{"begin":"%[iqw]\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?<!:)(:)(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|@@?[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"constant.other.symbol.crystal"},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.symbol.crystal.19syntax"},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?:^[\\\\t ]+)?(#).*$\\\\n?","name":"comment.line.number-sign.crystal"},{"match":"(?<!}})\\\\b_(\\\\w+[!?]?)\\\\b(?!\\\\()","name":"comment.unused.crystal"},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.html.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.html.crystal","patterns":[{"include":"#heredoc"},{"include":"text.html.basic"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.sql.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.sql.crystal","patterns":[{"include":"#heredoc"},{"include":"source.sql"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.css.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.css.crystal","patterns":[{"include":"#heredoc"},{"include":"source.css"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c++.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.cplusplus.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c++"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.c.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.jquery.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.jquery.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js.jquery"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.shell.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.shell.crystal","patterns":[{"include":"#heredoc"},{"include":"source.shell"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.crystal.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.crystal.crystal","patterns":[{"include":"#heredoc"},{"include":"source.crystal"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-'(\\\\w+)')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#escaped_char"}]},{"begin":"(?><<-(\\\\w+)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.crystal"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","patterns":[{"include":"source.crystal"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.block.crystal"},{"match":",","name":"punctuation.separator.variable.crystal"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.crystal"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.crystal"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.crystal"},{"match":"(?<=^|[\\\\t ])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.crystal"},{"match":"(\\\\{%|%}|\\\\{\\\\{|}})","name":"keyword.operator.macro.crystal"},{"captures":{"1":{"name":"punctuation.separator.method.crystal"}},"match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"([%\\\\&]|\\\\*\\\\*|[-*+/])","name":"keyword.operator.arithmetic.crystal"},{"match":"=","name":"keyword.operator.assignment.crystal"},{"match":"[|~]|>>","name":"keyword.operator.other.crystal"},{"match":":","name":"punctuation.separator.other.crystal"},{"match":";","name":"punctuation.separator.statement.crystal"},{"match":",","name":"punctuation.separator.object.crystal"},{"match":"\\\\.|::","name":"punctuation.separator.method.crystal"},{"match":"[{}]","name":"punctuation.section.scope.crystal"},{"match":"[]\\\\[]","name":"punctuation.section.array.crystal"},{"match":"[()]","name":"punctuation.section.function.crystal"},{"begin":"(?=[!0-9?A-Z_a-z]+\\\\()","end":"(?<=\\\\))","name":"meta.function-call.crystal","patterns":[{"match":"([!0-9?A-Z_a-z]+)(?=\\\\()","name":"entity.name.function.crystal"},{"include":"$self"}]},{"match":"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([]$)-/=^}]|<\\\\s|<<[.|\\\\s]))","name":"variable.other.crystal"}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x\\\\h{2}|u\\\\h{4}|u\\\\{[ \\\\h]+}|.)","name":"constant.character.escape.crystal"},"heredoc":{"begin":"^<<-?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_crystal":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.crystal"}},"contentName":"source.crystal","end":"(})","endCaptures":{"0":{"name":"punctuation.section.embedded.end.crystal"},"1":{"name":"source.crystal"}},"name":"meta.embedded.line.crystal","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}],"repository":{"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}}},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"}]},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.crystal"},"3":{"name":"punctuation.definition.arbitrary-repetition.crystal"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.crystal"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.crystal"}},"end":"]","name":"string.regexp.character-class.crystal","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.crystal"}},"end":"\\\\)","name":"string.regexp.group.crystal","patterns":[{"include":"#regex_sub"}]},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?<=^|\\\\s)(#)\\\\s[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$","name":"comment.line.number-sign.crystal"}]}},"scopeName":"source.crystal","embeddedLangs":["html","sql","css","c","javascript","shellscript"]}`)),s=[...n,...r,...t,...i,...e,...a,o];export{s as default};
|
|
2
|
+
//# sourceMappingURL=_BRfYhRDN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_DDQcSiNZ.js","names":["html","sql","css","c","javascript","shellscript"],"sources":["../../../node_modules/.pnpm/@shikijs+langs@4.4.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}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([,.0-:A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\s]+)\\\\\\\\))?(\\\\\\\\s*(<)\\\\\\\\s*[.:A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([.0-:A-Z_a-z]+\\\\\\\\s,)\\\\\\\\))?)?)|((<<)\\\\\\\\s*[.0-:A-Z_\\\\\\\\x{80}-\\\\\\\\x{10FFFF}]+))\\\",\\\"name\\\":\\\"meta.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(module)\\\\\\\\s+(([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))*[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"meta.module.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.lib.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(lib)\\\\\\\\s+(([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))*[A-Z]\\\\\\\\w*)\\\",\\\"name\\\":\\\"meta.lib.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.type.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.lib.type.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.lib.type.value.crystal\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(type)\\\\\\\\s+([A-Z]\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*(.+)\\\",\\\"name\\\":\\\"meta.lib.type.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.primary.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(describe|context|it|expect_raises)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bdo\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"keyword.control.start-block.crystal\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\{)(\\\\\\\\s+)\\\",\\\"name\\\":\\\"meta.syntax.crystal.start-block\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\\\\\b(?![!:?])|\\\\\\\\.(is_a\\\\\\\\?|nil\\\\\\\\?|responds_to\\\\\\\\?|as\\\\\\\\?|as\\\\\\\\x08)\\\",\\\"name\\\":\\\"keyword.control.pseudo-method.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\bnil\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.nil.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.boolean.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(self)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.self.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(((class_)?((getter|property)\\\\\\\\b[!?]?|setter\\\\\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\\\\\b)(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(require)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.special-method.crystal\\\"}},\\\"end\\\":\\\"$|(?=#)\\\",\\\"name\\\":\\\"meta.require.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(?!%[Qiqrwx]?[(<\\\\\\\\[{|])%([A-Z_a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.fresh.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([!\\\\\\\\&'+@`]|\\\\\\\\d+|[\\\\\\\"$*,./:-?\\\\\\\\\\\\\\\\_~]|-[0FIadilpv])\\\",\\\"name\\\":\\\"variable.other.readwrite.global.pre-defined.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(ENV)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.environment-variable.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*\\\",\\\"name\\\":\\\"support.class.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.crystal\\\"},{\\\"begin\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"name\\\":\\\"meta.function.method.with-arguments.crystal\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?![),\\\\\\\\s])\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\)\\\\\\\\s*)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.variable.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.symbol.hashkey.parameter.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.hashkey.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.crystal\\\"}},\\\"match\\\":\\\"\\\\\\\\G([\\\\\\\\&*]?)(?:([A-Z_a-z]\\\\\\\\w*(:))|([A-Z_a-z]\\\\\\\\w*))\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"}},\\\"match\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\b(\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?)))?\\\",\\\"name\\\":\\\"meta.function.method.without-arguments.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*\\\\\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0x[_\\\\\\\\h]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.octal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.crystal\\\"},{\\\"begin\\\":\\\":'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\":\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\()/=\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.single.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%x<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?:^|(?<=[\\\\\\\\&(,:;=>?\\\\\\\\[|~]|[;\\\\\\\\s]if\\\\\\\\s|[;\\\\\\\\s]elsif\\\\\\\\s|[;\\\\\\\\s]while\\\\\\\\s|[;\\\\\\\\s]unless\\\\\\\\s|[;\\\\\\\\s]when\\\\\\\\s|[;\\\\\\\\s]assert_match\\\\\\\\s|[;\\\\\\\\s]or\\\\\\\\s|[;\\\\\\\\s]and\\\\\\\\s|[;\\\\\\\\s]not\\\\\\\\s|[.\\\\\\\\s]index\\\\\\\\s|[.\\\\\\\\s]scan\\\\\\\\s|[.\\\\\\\\s]sub\\\\\\\\s|[.\\\\\\\\s]sub!\\\\\\\\s|[.\\\\\\\\s]gsub\\\\\\\\s|[.\\\\\\\\s]gsub!\\\\\\\\s|[.\\\\\\\\s]match\\\\\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\\\\\s))\\\\\\\\s*((/))(?![*+?{}])\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.regexp.classic.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.crystal\\\"}},\\\"contentName\\\":\\\"string.regexp.classic.crystal\\\",\\\"end\\\":\\\"((/[imsx]*))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"][imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},{\\\"begin\\\":\\\"%r<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%Q?<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.crystal.mod\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%Q\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%[iqw]<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?<!:)(:)(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|@@?[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!?]?)(:)(?!:)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal.19syntax\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?:^[\\\\\\\\t ]+)?(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"},{\\\"match\\\":\\\"(?<!}})\\\\\\\\b_(\\\\\\\\w+[!?]?)\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"comment.unused.crystal\\\"},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)HTML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.html.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.html.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SQL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.sql.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.sql.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CSS)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.css.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.css.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CPP)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c++.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.cplusplus.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)C)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.c.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)J(?:S|AVASCRIPT))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)JQUERY)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.jquery.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.jquery.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js.jquery\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SH(?:|ELL))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.shell.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.shell.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.shell\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CRYSTAL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.crystal.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.crystal.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.crystal\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-'(\\\\\\\\w+)')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-(\\\\\\\\w+)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{\\\\\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\\\\\s|^do\\\\\\\\s)(\\\\\\\\|)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\|)(\\\\\\\\|)(?!\\\\\\\\|)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.crystal\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.block.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}]},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"punctuation.separator.key-value\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"<<=|%=|&{1,2}=|\\\\\\\\*=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|\\\\\\\\^=|\\\\\\\\|{1,2}=|<<\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"match\\\":\\\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\\\\\t ])\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.comparison.crystal\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t ])!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\^\\\",\\\"name\\\":\\\"keyword.operator.logical.crystal\\\"},{\\\"match\\\":\\\"(\\\\\\\\{%|%}|\\\\\\\\{\\\\\\\\{|}})\\\",\\\"name\\\":\\\"keyword.operator.macro.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"}},\\\"match\\\":\\\"(&\\\\\\\\.)\\\\\\\\s*(?![A-Z])\\\"},{\\\"match\\\":\\\"([%\\\\\\\\&]|\\\\\\\\*\\\\\\\\*|[-*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.crystal\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.crystal\\\"},{\\\"match\\\":\\\"[|~]|>>\\\",\\\"name\\\":\\\"keyword.operator.other.crystal\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.other.crystal\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\.|::\\\",\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.section.array.crystal\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.function.crystal\\\"},{\\\"begin\\\":\\\"(?=[!0-9?A-Z_a-z]+\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([!0-9?A-Z_a-z]+)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.crystal\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"((?<=\\\\\\\\W)\\\\\\\\b|^)\\\\\\\\w+\\\\\\\\b(?=\\\\\\\\s*([]$)-/=^}]|<\\\\\\\\s|<<[.|\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.crystal\\\"}],\\\"repository\\\":{\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[0-7]{1,3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{[ \\\\\\\\h]+}|.)\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"^<<-?\\\\\\\\w+\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"interpolated_crystal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.crystal\\\"}},\\\"contentName\\\":\\\"source.crystal\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.crystal\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.crystal\\\"}},\\\"name\\\":\\\"meta.embedded.line.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"$self\\\"}],\\\"repository\\\":{\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"}]},\\\"nest_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_brackets\\\"}]},\\\"nest_brackets_i\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},\\\"nest_brackets_r\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},\\\"nest_curly\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"nest_curly_i\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},\\\"nest_curly_r\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},\\\"nest_ltgt\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_ltgt\\\"}]},\\\"nest_ltgt_i\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},\\\"nest_ltgt_r\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},\\\"nest_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_parens\\\"}]},\\\"nest_parens_i\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},\\\"nest_parens_r\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},\\\"regex_sub\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"string.regexp.group.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?<=^|\\\\\\\\s)(#)\\\\\\\\s[-\\\\\\\\t !,.0-9?A-Za-z[^\\\\\\\\x00-\\\\\\\\x7F]]*$\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"}]}},\\\"scopeName\\\":\\\"source.crystal\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"sql\\\",\\\"css\\\",\\\"c\\\",\\\"javascript\\\",\\\"shellscript\\\"]}\"))\n\nexport default [\n...html,\n...sql,\n...css,\n...c,\n...javascript,\n...shellscript,\nlang\n]\n"],"x_google_ignoreList":[0],"mappings":"+MAOA,IAAM,EAAO,OAAO,OAAO,KAAK,MAAM,054BAAy9+B,CAAC,EAEhg/B,EAAe,CACf,GAAGA,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,CACA"}
|
|
1
|
+
{"version":3,"file":"_BRfYhRDN.js","names":["html","sql","css","c","javascript","shellscript"],"sources":["../../../node_modules/.pnpm/@shikijs+langs@4.4.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}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([,.0-:A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\s]+)\\\\\\\\))?(\\\\\\\\s*(<)\\\\\\\\s*[.:A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([.0-:A-Z_a-z]+\\\\\\\\s,)\\\\\\\\))?)?)|((<<)\\\\\\\\s*[.0-:A-Z_\\\\\\\\x{80}-\\\\\\\\x{10FFFF}]+))\\\",\\\"name\\\":\\\"meta.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(module)\\\\\\\\s+(([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))*[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"meta.module.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.lib.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(lib)\\\\\\\\s+(([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))*[A-Z]\\\\\\\\w*)\\\",\\\"name\\\":\\\"meta.lib.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.type.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.lib.type.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.lib.type.value.crystal\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(type)\\\\\\\\s+([A-Z]\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*(.+)\\\",\\\"name\\\":\\\"meta.lib.type.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.primary.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(describe|context|it|expect_raises)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bdo\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"keyword.control.start-block.crystal\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\{)(\\\\\\\\s+)\\\",\\\"name\\\":\\\"meta.syntax.crystal.start-block\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\\\\\b(?![!:?])|\\\\\\\\.(is_a\\\\\\\\?|nil\\\\\\\\?|responds_to\\\\\\\\?|as\\\\\\\\?|as\\\\\\\\x08)\\\",\\\"name\\\":\\\"keyword.control.pseudo-method.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\bnil\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.nil.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.boolean.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(self)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.self.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(((class_)?((getter|property)\\\\\\\\b[!?]?|setter\\\\\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\\\\\b)(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(require)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.special-method.crystal\\\"}},\\\"end\\\":\\\"$|(?=#)\\\",\\\"name\\\":\\\"meta.require.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(?!%[Qiqrwx]?[(<\\\\\\\\[{|])%([A-Z_a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.fresh.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([!\\\\\\\\&'+@`]|\\\\\\\\d+|[\\\\\\\"$*,./:-?\\\\\\\\\\\\\\\\_~]|-[0FIadilpv])\\\",\\\"name\\\":\\\"variable.other.readwrite.global.pre-defined.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(ENV)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.environment-variable.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*\\\",\\\"name\\\":\\\"support.class.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.crystal\\\"},{\\\"begin\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"name\\\":\\\"meta.function.method.with-arguments.crystal\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?![),\\\\\\\\s])\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\)\\\\\\\\s*)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.variable.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.symbol.hashkey.parameter.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.hashkey.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.crystal\\\"}},\\\"match\\\":\\\"\\\\\\\\G([\\\\\\\\&*]?)(?:([A-Z_a-z]\\\\\\\\w*(:))|([A-Z_a-z]\\\\\\\\w*))\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"}},\\\"match\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\b(\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?)))?\\\",\\\"name\\\":\\\"meta.function.method.without-arguments.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*\\\\\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0x[_\\\\\\\\h]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.octal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.crystal\\\"},{\\\"begin\\\":\\\":'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\":\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\()/=\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.single.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%x<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?:^|(?<=[\\\\\\\\&(,:;=>?\\\\\\\\[|~]|[;\\\\\\\\s]if\\\\\\\\s|[;\\\\\\\\s]elsif\\\\\\\\s|[;\\\\\\\\s]while\\\\\\\\s|[;\\\\\\\\s]unless\\\\\\\\s|[;\\\\\\\\s]when\\\\\\\\s|[;\\\\\\\\s]assert_match\\\\\\\\s|[;\\\\\\\\s]or\\\\\\\\s|[;\\\\\\\\s]and\\\\\\\\s|[;\\\\\\\\s]not\\\\\\\\s|[.\\\\\\\\s]index\\\\\\\\s|[.\\\\\\\\s]scan\\\\\\\\s|[.\\\\\\\\s]sub\\\\\\\\s|[.\\\\\\\\s]sub!\\\\\\\\s|[.\\\\\\\\s]gsub\\\\\\\\s|[.\\\\\\\\s]gsub!\\\\\\\\s|[.\\\\\\\\s]match\\\\\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\\\\\s))\\\\\\\\s*((/))(?![*+?{}])\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.regexp.classic.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.crystal\\\"}},\\\"contentName\\\":\\\"string.regexp.classic.crystal\\\",\\\"end\\\":\\\"((/[imsx]*))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"][imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},{\\\"begin\\\":\\\"%r<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%Q?<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.crystal.mod\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%Q\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%[iqw]<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?<!:)(:)(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|@@?[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!?]?)(:)(?!:)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal.19syntax\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?:^[\\\\\\\\t ]+)?(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"},{\\\"match\\\":\\\"(?<!}})\\\\\\\\b_(\\\\\\\\w+[!?]?)\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"comment.unused.crystal\\\"},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)HTML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.html.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.html.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SQL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.sql.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.sql.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CSS)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.css.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.css.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CPP)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c++.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.cplusplus.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)C)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.c.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)J(?:S|AVASCRIPT))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)JQUERY)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.jquery.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.jquery.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js.jquery\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SH(?:|ELL))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.shell.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.shell.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.shell\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CRYSTAL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.crystal.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.crystal.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.crystal\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-'(\\\\\\\\w+)')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-(\\\\\\\\w+)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{\\\\\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\\\\\s|^do\\\\\\\\s)(\\\\\\\\|)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\|)(\\\\\\\\|)(?!\\\\\\\\|)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.crystal\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.block.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}]},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"punctuation.separator.key-value\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"<<=|%=|&{1,2}=|\\\\\\\\*=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|\\\\\\\\^=|\\\\\\\\|{1,2}=|<<\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"match\\\":\\\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\\\\\t ])\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.comparison.crystal\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t ])!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\^\\\",\\\"name\\\":\\\"keyword.operator.logical.crystal\\\"},{\\\"match\\\":\\\"(\\\\\\\\{%|%}|\\\\\\\\{\\\\\\\\{|}})\\\",\\\"name\\\":\\\"keyword.operator.macro.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"}},\\\"match\\\":\\\"(&\\\\\\\\.)\\\\\\\\s*(?![A-Z])\\\"},{\\\"match\\\":\\\"([%\\\\\\\\&]|\\\\\\\\*\\\\\\\\*|[-*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.crystal\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.crystal\\\"},{\\\"match\\\":\\\"[|~]|>>\\\",\\\"name\\\":\\\"keyword.operator.other.crystal\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.other.crystal\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\.|::\\\",\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.section.array.crystal\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.function.crystal\\\"},{\\\"begin\\\":\\\"(?=[!0-9?A-Z_a-z]+\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([!0-9?A-Z_a-z]+)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.crystal\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"((?<=\\\\\\\\W)\\\\\\\\b|^)\\\\\\\\w+\\\\\\\\b(?=\\\\\\\\s*([]$)-/=^}]|<\\\\\\\\s|<<[.|\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.crystal\\\"}],\\\"repository\\\":{\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[0-7]{1,3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{[ \\\\\\\\h]+}|.)\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"^<<-?\\\\\\\\w+\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"interpolated_crystal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.crystal\\\"}},\\\"contentName\\\":\\\"source.crystal\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.crystal\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.crystal\\\"}},\\\"name\\\":\\\"meta.embedded.line.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"$self\\\"}],\\\"repository\\\":{\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"}]},\\\"nest_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_brackets\\\"}]},\\\"nest_brackets_i\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},\\\"nest_brackets_r\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},\\\"nest_curly\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"nest_curly_i\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},\\\"nest_curly_r\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},\\\"nest_ltgt\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_ltgt\\\"}]},\\\"nest_ltgt_i\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},\\\"nest_ltgt_r\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},\\\"nest_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_parens\\\"}]},\\\"nest_parens_i\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},\\\"nest_parens_r\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},\\\"regex_sub\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"string.regexp.group.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?<=^|\\\\\\\\s)(#)\\\\\\\\s[-\\\\\\\\t !,.0-9?A-Za-z[^\\\\\\\\x00-\\\\\\\\x7F]]*$\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"}]}},\\\"scopeName\\\":\\\"source.crystal\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"sql\\\",\\\"css\\\",\\\"c\\\",\\\"javascript\\\",\\\"shellscript\\\"]}\"))\n\nexport default [\n...html,\n...sql,\n...css,\n...c,\n...javascript,\n...shellscript,\nlang\n]\n"],"x_google_ignoreList":[0],"mappings":"+MAOA,IAAM,EAAO,OAAO,OAAO,KAAK,MAAM,054BAAy9+B,CAAC,EAEhg/B,EAAe,CACf,GAAGA,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,CACA"}
|