@dylanpiercey/work 0.0.13 → 0.0.14
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 +3 -3
- package/dist/public/assets/{_CJfh1bA_.js → _1PYA5v6h.js} +2 -2
- package/dist/public/assets/{_CJfh1bA_.js.map → _1PYA5v6h.js.map} +1 -1
- package/dist/public/assets/{_D8DKeNtk2.js → _37DiDfEe2.js} +2 -2
- package/dist/public/assets/{_D8DKeNtk2.js.map → _37DiDfEe2.js.map} +1 -1
- package/dist/public/assets/{_BtGc54QO.js → _4GBVe70g.js} +2 -2
- package/dist/public/assets/{_BtGc54QO.js.map → _4GBVe70g.js.map} +1 -1
- package/dist/public/assets/{_DtW-KREB.js → _BDmZKLpT.js} +2 -2
- package/dist/public/assets/{_DtW-KREB.js.map → _BDmZKLpT.js.map} +1 -1
- package/dist/public/assets/{_CTwY-w6f2.js → _BFL5ebqS2.js} +2 -2
- package/dist/public/assets/{_CTwY-w6f2.js.map → _BFL5ebqS2.js.map} +1 -1
- package/dist/public/assets/{_BD3GuTLe.js → _BMjt74CT.js} +2 -2
- package/dist/public/assets/{_BD3GuTLe.js.map → _BMjt74CT.js.map} +1 -1
- package/dist/public/assets/{_CCOa-67I.js → _BS5HCQXD.js} +2 -2
- package/dist/public/assets/{_CCOa-67I.js.map → _BS5HCQXD.js.map} +1 -1
- package/dist/public/assets/{_vvqUsxvZ.js → _BUYXKQWK.js} +2 -2
- package/dist/public/assets/{_vvqUsxvZ.js.map → _BUYXKQWK.js.map} +1 -1
- package/dist/public/assets/{_DU_7z2vs.js → _BXjUVBpA.js} +2 -2
- package/dist/public/assets/{_DU_7z2vs.js.map → _BXjUVBpA.js.map} +1 -1
- package/dist/public/assets/{_GlOqBOcg2.js → _BYe0JdJ12.js} +2 -2
- package/dist/public/assets/{_GlOqBOcg2.js.map → _BYe0JdJ12.js.map} +1 -1
- package/dist/public/assets/{_BH3qAqXE.js → _BZImyte8.js} +2 -2
- package/dist/public/assets/{_BH3qAqXE.js.map → _BZImyte8.js.map} +1 -1
- package/dist/public/assets/{_B6OKTJ3U.js → _Bh5KV4D5.js} +2 -2
- package/dist/public/assets/{_B6OKTJ3U.js.map → _Bh5KV4D5.js.map} +1 -1
- package/dist/public/assets/{_DmaZeTni.js → _BhcPbeCA.js} +2 -2
- package/dist/public/assets/{_DmaZeTni.js.map → _BhcPbeCA.js.map} +1 -1
- package/dist/public/assets/{_CnphyoYq.js → _BkasMCr7.js} +2 -2
- package/dist/public/assets/{_CnphyoYq.js.map → _BkasMCr7.js.map} +1 -1
- package/dist/public/assets/{_Dp25UBl7.js → _BlHZ_Kf_.js} +2 -2
- package/dist/public/assets/{_Dp25UBl7.js.map → _BlHZ_Kf_.js.map} +1 -1
- package/dist/public/assets/{_CCWd2cbl.js → _Brp01NXq.js} +2 -2
- package/dist/public/assets/{_CCWd2cbl.js.map → _Brp01NXq.js.map} +1 -1
- package/dist/public/assets/{_LLhMP4fB2.js → _BsdChN-o2.js} +2 -2
- package/dist/public/assets/{_LLhMP4fB2.js.map → _BsdChN-o2.js.map} +1 -1
- package/dist/public/assets/{_Ca6yBPZK2.js → _BtX0OV9L2.js} +2 -2
- package/dist/public/assets/{_Ca6yBPZK2.js.map → _BtX0OV9L2.js.map} +1 -1
- package/dist/public/assets/{_B8okAqG-.js → _BwfU4p-S.js} +2 -2
- package/dist/public/assets/{_B8okAqG-.js.map → _BwfU4p-S.js.map} +1 -1
- package/dist/public/assets/{_xHfOHdoE2.js → _ByVrIZCY2.js} +2 -2
- package/dist/public/assets/{_xHfOHdoE2.js.map → _ByVrIZCY2.js.map} +1 -1
- package/dist/public/assets/{_BCDnEeXi2.js → _Bym_871-2.js} +2 -2
- package/dist/public/assets/{_BCDnEeXi2.js.map → _Bym_871-2.js.map} +1 -1
- package/dist/public/assets/{__Q8ATTST.js → _C-2JDMwn.js} +2 -2
- package/dist/public/assets/{__Q8ATTST.js.map → _C-2JDMwn.js.map} +1 -1
- package/dist/public/assets/{_K6YjF5HA2.js → _C36kllbW2.js} +2 -2
- package/dist/public/assets/{_K6YjF5HA2.js.map → _C36kllbW2.js.map} +1 -1
- package/dist/public/assets/{_CvIA8snX.js → _C3JXJPv9.js} +2 -2
- package/dist/public/assets/{_CvIA8snX.js.map → _C3JXJPv9.js.map} +1 -1
- package/dist/public/assets/{_BuU3dU-v.js → _CBAwKZ_C.js} +2 -2
- package/dist/public/assets/{_BuU3dU-v.js.map → _CBAwKZ_C.js.map} +1 -1
- package/dist/public/assets/{_DDtfsPTV.js → _CCYH4Ky0.js} +2 -2
- package/dist/public/assets/{_DDtfsPTV.js.map → _CCYH4Ky0.js.map} +1 -1
- package/dist/public/assets/{_9XtunSg7.js → _CGKi9mEa.js} +2 -2
- package/dist/public/assets/{_9XtunSg7.js.map → _CGKi9mEa.js.map} +1 -1
- package/dist/public/assets/{_speyknRe2.js → _CNm-Qj_22.js} +2 -2
- package/dist/public/assets/{_speyknRe2.js.map → _CNm-Qj_22.js.map} +1 -1
- package/dist/public/assets/{_rdXXJ91o.js → _CYGmgYex.js} +2 -2
- package/dist/public/assets/{_rdXXJ91o.js.map → _CYGmgYex.js.map} +1 -1
- package/dist/public/assets/{_BLA94hyL.js → _C_HKi7R3.js} +2 -2
- package/dist/public/assets/{_BLA94hyL.js.map → _C_HKi7R3.js.map} +1 -1
- package/dist/public/assets/{_CxVlY1q1.js → _Cbd9gTf8.js} +2 -2
- package/dist/public/assets/{_CxVlY1q1.js.map → _Cbd9gTf8.js.map} +1 -1
- package/dist/public/assets/{_DrB0wHeE.js → _CcY_fkdX.js} +2 -2
- package/dist/public/assets/{_DrB0wHeE.js.map → _CcY_fkdX.js.map} +1 -1
- package/dist/public/assets/{_CNPd6AKz2.js → _CccTxCW92.js} +2 -2
- package/dist/public/assets/{_CNPd6AKz2.js.map → _CccTxCW92.js.map} +1 -1
- package/dist/public/assets/{_Cm86uuyb.js → _CcuBmBFx.js} +2 -2
- package/dist/public/assets/{_Cm86uuyb.js.map → _CcuBmBFx.js.map} +1 -1
- package/dist/public/assets/{_DH0HY4Nr.js → _Ce1AxkTQ.js} +2 -2
- package/dist/public/assets/{_DH0HY4Nr.js.map → _Ce1AxkTQ.js.map} +1 -1
- package/dist/public/assets/{_CzGoLHpy.js → _ChmfpmBk.js} +2 -2
- package/dist/public/assets/{_CzGoLHpy.js.map → _ChmfpmBk.js.map} +1 -1
- package/dist/public/assets/{_BmaVzQYH2.js → _Ci9zG2ie2.js} +2 -2
- package/dist/public/assets/{_BmaVzQYH2.js.map → _Ci9zG2ie2.js.map} +1 -1
- package/dist/public/assets/{_B7X9man_.js → _ClgMqvJk.js} +2 -2
- package/dist/public/assets/{_B7X9man_.js.map → _ClgMqvJk.js.map} +1 -1
- package/dist/public/assets/{_CvPUh_B0.js → _Cs6eIEq5.js} +2 -2
- package/dist/public/assets/{_CvPUh_B0.js.map → _Cs6eIEq5.js.map} +1 -1
- package/dist/public/assets/{_BpWV4xDR2.js → _Cv9uSMiO2.js} +2 -2
- package/dist/public/assets/{_BpWV4xDR2.js.map → _Cv9uSMiO2.js.map} +1 -1
- package/dist/public/assets/{_Ne8qEUH82.js → _D5PUFlIB2.js} +2 -2
- package/dist/public/assets/{_Ne8qEUH82.js.map → _D5PUFlIB2.js.map} +1 -1
- package/dist/public/assets/{_DQxqrF2p2.js → _D6hErX6k2.js} +2 -2
- package/dist/public/assets/{_DQxqrF2p2.js.map → _D6hErX6k2.js.map} +1 -1
- package/dist/public/assets/{_CXQQiNs1.js → _D7Nr1Fkx.js} +2 -2
- package/dist/public/assets/{_CXQQiNs1.js.map → _D7Nr1Fkx.js.map} +1 -1
- package/dist/public/assets/{_DoNipARR.js → _DEubpY7q.js} +2 -2
- package/dist/public/assets/{_DoNipARR.js.map → _DEubpY7q.js.map} +1 -1
- package/dist/public/assets/{_BOMR_lTT.js → _DG7JD0Wq.js} +2 -2
- package/dist/public/assets/{_BOMR_lTT.js.map → _DG7JD0Wq.js.map} +1 -1
- package/dist/public/assets/{_Ct7oMGlY2.js → _DGEc5tY92.js} +2 -2
- package/dist/public/assets/{_Ct7oMGlY2.js.map → _DGEc5tY92.js.map} +1 -1
- package/dist/public/assets/{_B31BFjeo.js → _DHF6f-Qb.js} +2 -2
- package/dist/public/assets/{_B31BFjeo.js.map → _DHF6f-Qb.js.map} +1 -1
- package/dist/public/assets/{_CypNdMTQ.js → _DIqHX5oS.js} +2 -2
- package/dist/public/assets/{_CypNdMTQ.js.map → _DIqHX5oS.js.map} +1 -1
- package/dist/public/assets/{_CLa87tfT.js → _DLfg1G6i.js} +2 -2
- package/dist/public/assets/{_CLa87tfT.js.map → _DLfg1G6i.js.map} +1 -1
- package/dist/public/assets/{_Cs2xR5zT.js → _DOlpOlzZ.js} +2 -2
- package/dist/public/assets/{_Cs2xR5zT.js.map → _DOlpOlzZ.js.map} +1 -1
- package/dist/public/assets/{_v0CL1jTB.js → _DQ9zeCqC.js} +2 -2
- package/dist/public/assets/{_v0CL1jTB.js.map → _DQ9zeCqC.js.map} +1 -1
- package/dist/public/assets/{_Gpz7cA9P.js → _DR5ZG0w3.js} +2 -2
- package/dist/public/assets/{_Gpz7cA9P.js.map → _DR5ZG0w3.js.map} +1 -1
- package/dist/public/assets/{_B4U6RXlg.js → _DVj22Fhb.js} +2 -2
- package/dist/public/assets/{_B4U6RXlg.js.map → _DVj22Fhb.js.map} +1 -1
- package/dist/public/assets/{_CKHJpMi32.js → _DWNYhaMZ2.js} +2 -2
- package/dist/public/assets/{_CKHJpMi32.js.map → _DWNYhaMZ2.js.map} +1 -1
- package/dist/public/assets/{_UABdeDPG.js → _DWltXATi.js} +2 -2
- package/dist/public/assets/{_UABdeDPG.js.map → _DWltXATi.js.map} +1 -1
- package/dist/public/assets/{_BzmURZrG2.js → _DZAVCSn-2.js} +2 -2
- package/dist/public/assets/{_BzmURZrG2.js.map → _DZAVCSn-2.js.map} +1 -1
- package/dist/public/assets/{_VpkJ9R4I2.js → _DbhzZP5E2.js} +2 -2
- package/dist/public/assets/{_VpkJ9R4I2.js.map → _DbhzZP5E2.js.map} +1 -1
- package/dist/public/assets/{_BP3KIWZr.js → _Ddhm-dQX.js} +2 -2
- package/dist/public/assets/{_BP3KIWZr.js.map → _Ddhm-dQX.js.map} +1 -1
- package/dist/public/assets/{_Bw-xXnfr2.js → _DhTbYHFb2.js} +2 -2
- package/dist/public/assets/{_Bw-xXnfr2.js.map → _DhTbYHFb2.js.map} +1 -1
- package/dist/public/assets/{_ioxvNBlq2.js → _Dr7LwIoY2.js} +2 -2
- package/dist/public/assets/{_ioxvNBlq2.js.map → _Dr7LwIoY2.js.map} +1 -1
- package/dist/public/assets/{_Dvy34Yg_2.js → _DtifEQOQ2.js} +2 -2
- package/dist/public/assets/{_Dvy34Yg_2.js.map → _DtifEQOQ2.js.map} +1 -1
- package/dist/public/assets/{_wyUUoFip.js → _Euo_IdCD.js} +2 -2
- package/dist/public/assets/{_wyUUoFip.js.map → _Euo_IdCD.js.map} +1 -1
- package/dist/public/assets/{_C0VVn7_H.js → _K5NvnxJU.js} +2 -2
- package/dist/public/assets/{_C0VVn7_H.js.map → _K5NvnxJU.js.map} +1 -1
- package/dist/public/assets/{_BsL8kuCs.js → _LszNpqGA.js} +2 -2
- package/dist/public/assets/{_BsL8kuCs.js.map → _LszNpqGA.js.map} +1 -1
- package/dist/public/assets/{_RHQKbTNw.js → _NdVLMlDn.js} +2 -2
- package/dist/public/assets/{_RHQKbTNw.js.map → _NdVLMlDn.js.map} +1 -1
- package/dist/public/assets/{_D0UH-qzF.js → _VkiUGcZN.js} +2 -2
- package/dist/public/assets/{_D0UH-qzF.js.map → _VkiUGcZN.js.map} +1 -1
- package/dist/public/assets/{_CqX4LQGj2.js → _YnlBl5Ip2.js} +2 -2
- package/dist/public/assets/{_CqX4LQGj2.js.map → _YnlBl5Ip2.js.map} +1 -1
- package/dist/public/assets/{_BMK2JGG-2.js → __Pss17dn2.js} +2 -2
- package/dist/public/assets/{_BMK2JGG-2.js.map → __Pss17dn2.js.map} +1 -1
- package/dist/public/assets/{_-gyK8vJ-.js → _d4DNovnq.js} +2 -2
- package/dist/public/assets/{_-gyK8vJ-.js.map → _d4DNovnq.js.map} +1 -1
- package/dist/public/assets/{__WU9JTqk.js → _lzPB5GF7.js} +2 -2
- package/dist/public/assets/{__WU9JTqk.js.map → _lzPB5GF7.js.map} +1 -1
- package/dist/public/assets/{_l-4CNi-P.js → _mWkgrXwR.js} +2 -2
- package/dist/public/assets/{_l-4CNi-P.js.map → _mWkgrXwR.js.map} +1 -1
- package/dist/public/assets/{_DXjhrVim2.js → _wd5Ka9-u2.js} +2 -2
- package/dist/public/assets/{_DXjhrVim2.js.map → _wd5Ka9-u2.js.map} +1 -1
- package/dist/public/assets/{_Brh7taK_.js → _xTZ99WxP.js} +2 -2
- package/dist/public/assets/{_Brh7taK_.js.map → _xTZ99WxP.js.map} +1 -1
- package/dist/public/assets/{_VdrzhuKU.js → _yp1JBHQQ.js} +2 -2
- package/dist/public/assets/{_VdrzhuKU.js.map → _yp1JBHQQ.js.map} +1 -1
- package/dist/public/assets/{index-DMpI1yWM.js → index-DQjYJ4v3.js} +4 -4
- package/dist/public/assets/index-DQjYJ4v3.js.map +1 -0
- package/package.json +1 -1
- package/dist/public/assets/index-DMpI1yWM.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./_B6OKTJ3U.js";import{t}from"./_D0UH-qzF.js";import{t as n}from"./_RHQKbTNw.js";import{t as r}from"./_CKHJpMi32.js";import{t as i}from"./_BpWV4xDR2.js";import{t as a}from"./_UABdeDPG.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"./_Bh5KV4D5.js";import{t}from"./_VkiUGcZN.js";import{t as n}from"./_NdVLMlDn.js";import{t as r}from"./_DWNYhaMZ2.js";import{t as i}from"./_Cv9uSMiO2.js";import{t as a}from"./_DWltXATi.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=_BXjUVBpA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_DU_7z2vs.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":"_BXjUVBpA.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"}
|