@dylanpiercey/work 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/index.mjs +619 -404
  2. package/dist/public/assets/{_DqBrnmsB.js → _-3M9WuU4.js} +2 -2
  3. package/dist/public/assets/{_DqBrnmsB.js.map → _-3M9WuU4.js.map} +1 -1
  4. package/dist/public/assets/{_DFsQS3GZ2.js → _3ZKZeEN32.js} +2 -2
  5. package/dist/public/assets/{_DFsQS3GZ2.js.map → _3ZKZeEN32.js.map} +1 -1
  6. package/dist/public/assets/{_wNWFJz0D.js → _753RhcUs.js} +2 -2
  7. package/dist/public/assets/{_wNWFJz0D.js.map → _753RhcUs.js.map} +1 -1
  8. package/dist/public/assets/{_Cu_m_g8O.js → _B1Ress7e.js} +2 -2
  9. package/dist/public/assets/{_Cu_m_g8O.js.map → _B1Ress7e.js.map} +1 -1
  10. package/dist/public/assets/{_CfBJpFPc.js → _B49wgrKW.js} +2 -2
  11. package/dist/public/assets/{_CfBJpFPc.js.map → _B49wgrKW.js.map} +1 -1
  12. package/dist/public/assets/{_CNaDFvDU.js → _B7ZTox7L.js} +2 -2
  13. package/dist/public/assets/{_CNaDFvDU.js.map → _B7ZTox7L.js.map} +1 -1
  14. package/dist/public/assets/{_DLs0iAHA.js → _BBCthCRB.js} +2 -2
  15. package/dist/public/assets/{_DLs0iAHA.js.map → _BBCthCRB.js.map} +1 -1
  16. package/dist/public/assets/{_BVwiDo7u.js → _BFnmKuGb.js} +2 -2
  17. package/dist/public/assets/{_BVwiDo7u.js.map → _BFnmKuGb.js.map} +1 -1
  18. package/dist/public/assets/{_DBTfl1BL2.js → _BG21uqHk2.js} +2 -2
  19. package/dist/public/assets/{_DBTfl1BL2.js.map → _BG21uqHk2.js.map} +1 -1
  20. package/dist/public/assets/{_Do4wHDxf.js → _BGO4yXnZ.js} +2 -2
  21. package/dist/public/assets/{_Do4wHDxf.js.map → _BGO4yXnZ.js.map} +1 -1
  22. package/dist/public/assets/{_BYAflDia.js → _BRfYhRDN.js} +2 -2
  23. package/dist/public/assets/{_BYAflDia.js.map → _BRfYhRDN.js.map} +1 -1
  24. package/dist/public/assets/{_6M2i0Bc_.js → _BVimx11r.js} +2 -2
  25. package/dist/public/assets/{_6M2i0Bc_.js.map → _BVimx11r.js.map} +1 -1
  26. package/dist/public/assets/{_GgYN_7WI2.js → _BWIzVLMa2.js} +2 -2
  27. package/dist/public/assets/{_GgYN_7WI2.js.map → _BWIzVLMa2.js.map} +1 -1
  28. package/dist/public/assets/{_DqpA4LzC.js → _BchSFDSU.js} +2 -2
  29. package/dist/public/assets/{_DqpA4LzC.js.map → _BchSFDSU.js.map} +1 -1
  30. package/dist/public/assets/{_wNGiI6rA2.js → _BeCpXzaO2.js} +2 -2
  31. package/dist/public/assets/{_wNGiI6rA2.js.map → _BeCpXzaO2.js.map} +1 -1
  32. package/dist/public/assets/{_DJdBYBDh.js → _BfCF5T_K.js} +2 -2
  33. package/dist/public/assets/{_DJdBYBDh.js.map → _BfCF5T_K.js.map} +1 -1
  34. package/dist/public/assets/{_CRgAhh4i.js → _Bo2t_uNU.js} +2 -2
  35. package/dist/public/assets/{_CRgAhh4i.js.map → _Bo2t_uNU.js.map} +1 -1
  36. package/dist/public/assets/{_CYVe1usf.js → _BooCIZFD.js} +2 -2
  37. package/dist/public/assets/{_CYVe1usf.js.map → _BooCIZFD.js.map} +1 -1
  38. package/dist/public/assets/{_BmqYEcuy.js → _BpB-O0HN.js} +2 -2
  39. package/dist/public/assets/{_BmqYEcuy.js.map → _BpB-O0HN.js.map} +1 -1
  40. package/dist/public/assets/{_Dwzheq3I.js → _BpIotmis.js} +2 -2
  41. package/dist/public/assets/{_Dwzheq3I.js.map → _BpIotmis.js.map} +1 -1
  42. package/dist/public/assets/{_sOYm8G3s.js → _BpxV-2f3.js} +2 -2
  43. package/dist/public/assets/{_sOYm8G3s.js.map → _BpxV-2f3.js.map} +1 -1
  44. package/dist/public/assets/{_B3l2kM6k.js → _Bv61tUGo.js} +2 -2
  45. package/dist/public/assets/{_B3l2kM6k.js.map → _Bv61tUGo.js.map} +1 -1
  46. package/dist/public/assets/{_DMVFmUAA2.js → _BwnkAzDN2.js} +2 -2
  47. package/dist/public/assets/{_DMVFmUAA2.js.map → _BwnkAzDN2.js.map} +1 -1
  48. package/dist/public/assets/{_CStO_rmM.js → _ByaF5Ym8.js} +2 -2
  49. package/dist/public/assets/{_CStO_rmM.js.map → _ByaF5Ym8.js.map} +1 -1
  50. package/dist/public/assets/{_DsMwRxjY.js → _C3OrD7LT.js} +2 -2
  51. package/dist/public/assets/{_DsMwRxjY.js.map → _C3OrD7LT.js.map} +1 -1
  52. package/dist/public/assets/{_BhUEmgtZ.js → _C480-4NE.js} +2 -2
  53. package/dist/public/assets/{_BhUEmgtZ.js.map → _C480-4NE.js.map} +1 -1
  54. package/dist/public/assets/{_Dr79BSWo.js → _C4JQ0avI.js} +2 -2
  55. package/dist/public/assets/{_Dr79BSWo.js.map → _C4JQ0avI.js.map} +1 -1
  56. package/dist/public/assets/{_DQCPwKUU2.js → _C5tw5jaH2.js} +2 -2
  57. package/dist/public/assets/{_DQCPwKUU2.js.map → _C5tw5jaH2.js.map} +1 -1
  58. package/dist/public/assets/{_BamL2t-o.js → _CFwjuNga.js} +2 -2
  59. package/dist/public/assets/{_BamL2t-o.js.map → _CFwjuNga.js.map} +1 -1
  60. package/dist/public/assets/{_0lnz5iGN2.js → _CG65evuJ2.js} +2 -2
  61. package/dist/public/assets/{_0lnz5iGN2.js.map → _CG65evuJ2.js.map} +1 -1
  62. package/dist/public/assets/{_BQQycE1A2.js → _COiINYul2.js} +2 -2
  63. package/dist/public/assets/{_BQQycE1A2.js.map → _COiINYul2.js.map} +1 -1
  64. package/dist/public/assets/{_Dp6szfhx.js → _CRMMWY-q.js} +2 -2
  65. package/dist/public/assets/{_Dp6szfhx.js.map → _CRMMWY-q.js.map} +1 -1
  66. package/dist/public/assets/{_C8Az9O0j2.js → _CXLqhKMK2.js} +2 -2
  67. package/dist/public/assets/{_C8Az9O0j2.js.map → _CXLqhKMK2.js.map} +1 -1
  68. package/dist/public/assets/{_D3nRbiPU.js → _CZtA_-Ie.js} +2 -2
  69. package/dist/public/assets/{_D3nRbiPU.js.map → _CZtA_-Ie.js.map} +1 -1
  70. package/dist/public/assets/{_WcLljSaq2.js → _Cbg9-SI_2.js} +2 -2
  71. package/dist/public/assets/{_WcLljSaq2.js.map → _Cbg9-SI_2.js.map} +1 -1
  72. package/dist/public/assets/{_DnP0uNvj.js → _CeybDOH3.js} +2 -2
  73. package/dist/public/assets/{_DnP0uNvj.js.map → _CeybDOH3.js.map} +1 -1
  74. package/dist/public/assets/{_BrJll1tj.js → _CgX5-PN8.js} +2 -2
  75. package/dist/public/assets/{_BrJll1tj.js.map → _CgX5-PN8.js.map} +1 -1
  76. package/dist/public/assets/{_CJyXt7A3.js → _ChXwBYfg.js} +2 -2
  77. package/dist/public/assets/{_CJyXt7A3.js.map → _ChXwBYfg.js.map} +1 -1
  78. package/dist/public/assets/{_Dd4cfSol.js → _CjAjLYnS.js} +2 -2
  79. package/dist/public/assets/{_Dd4cfSol.js.map → _CjAjLYnS.js.map} +1 -1
  80. package/dist/public/assets/{_CndbeqUD.js → _CjNZdOEs.js} +2 -2
  81. package/dist/public/assets/{_CndbeqUD.js.map → _CjNZdOEs.js.map} +1 -1
  82. package/dist/public/assets/{_DVe8KgY8.js → _CkT411UL.js} +2 -2
  83. package/dist/public/assets/{_DVe8KgY8.js.map → _CkT411UL.js.map} +1 -1
  84. package/dist/public/assets/{_n9Sk67sI2.js → _Cm-mKxlV2.js} +2 -2
  85. package/dist/public/assets/{_n9Sk67sI2.js.map → _Cm-mKxlV2.js.map} +1 -1
  86. package/dist/public/assets/{_Bd1yjUI3.js → _Cww6wLe3.js} +2 -2
  87. package/dist/public/assets/{_Bd1yjUI3.js.map → _Cww6wLe3.js.map} +1 -1
  88. package/dist/public/assets/{_D41yN8oQ2.js → _D0-uwMfH2.js} +2 -2
  89. package/dist/public/assets/{_D41yN8oQ2.js.map → _D0-uwMfH2.js.map} +1 -1
  90. package/dist/public/assets/{_CZYUzjzN.js → _D32jCBoK.js} +2 -2
  91. package/dist/public/assets/{_CZYUzjzN.js.map → _D32jCBoK.js.map} +1 -1
  92. package/dist/public/assets/{_ChPSCKci2.js → _D8RqMrGW2.js} +2 -2
  93. package/dist/public/assets/{_ChPSCKci2.js.map → _D8RqMrGW2.js.map} +1 -1
  94. package/dist/public/assets/{_HhBHIbjV.js → _DDpdWlxA.js} +2 -2
  95. package/dist/public/assets/{_HhBHIbjV.js.map → _DDpdWlxA.js.map} +1 -1
  96. package/dist/public/assets/{_CitDIRwA.js → _DGZCHdAh.js} +2 -2
  97. package/dist/public/assets/{_CitDIRwA.js.map → _DGZCHdAh.js.map} +1 -1
  98. package/dist/public/assets/{_xi-5EjUf2.js → _DInIL5iq2.js} +2 -2
  99. package/dist/public/assets/{_xi-5EjUf2.js.map → _DInIL5iq2.js.map} +1 -1
  100. package/dist/public/assets/{_DSjDjvKM.js → _DK5es8xg.js} +2 -2
  101. package/dist/public/assets/{_DSjDjvKM.js.map → _DK5es8xg.js.map} +1 -1
  102. package/dist/public/assets/{_DUvRmPhU.js → _DLg1-IRM.js} +2 -2
  103. package/dist/public/assets/{_DUvRmPhU.js.map → _DLg1-IRM.js.map} +1 -1
  104. package/dist/public/assets/{_hs8fkq392.js → _DT71qSJE2.js} +2 -2
  105. package/dist/public/assets/{_hs8fkq392.js.map → _DT71qSJE2.js.map} +1 -1
  106. package/dist/public/assets/{_C3ZNQOP62.js → _DVIw_RgW2.js} +2 -2
  107. package/dist/public/assets/{_C3ZNQOP62.js.map → _DVIw_RgW2.js.map} +1 -1
  108. package/dist/public/assets/{_DSsAmdzA2.js → _D_8pG7bS2.js} +2 -2
  109. package/dist/public/assets/{_DSsAmdzA2.js.map → _D_8pG7bS2.js.map} +1 -1
  110. package/dist/public/assets/{_Cr1i_bCo2.js → _DkpMMWAt2.js} +2 -2
  111. package/dist/public/assets/{_Cr1i_bCo2.js.map → _DkpMMWAt2.js.map} +1 -1
  112. package/dist/public/assets/{_CBghy_0n2.js → _DncMx76o2.js} +2 -2
  113. package/dist/public/assets/{_CBghy_0n2.js.map → _DncMx76o2.js.map} +1 -1
  114. package/dist/public/assets/{_BI7Ou__Z2.js → _Do3Q5gXZ2.js} +2 -2
  115. package/dist/public/assets/{_BI7Ou__Z2.js.map → _Do3Q5gXZ2.js.map} +1 -1
  116. package/dist/public/assets/{_CN-7gae5.js → _DpLjBHyL.js} +2 -2
  117. package/dist/public/assets/{_CN-7gae5.js.map → _DpLjBHyL.js.map} +1 -1
  118. package/dist/public/assets/{_OuBFV33P.js → _DqqLoHco.js} +2 -2
  119. package/dist/public/assets/{_OuBFV33P.js.map → _DqqLoHco.js.map} +1 -1
  120. package/dist/public/assets/{_D3XTD4Fq.js → _DtmS6252.js} +2 -2
  121. package/dist/public/assets/{_D3XTD4Fq.js.map → _DtmS6252.js.map} +1 -1
  122. package/dist/public/assets/{_BYdjeT-F2.js → _E5dbeZEm2.js} +2 -2
  123. package/dist/public/assets/{_BYdjeT-F2.js.map → _E5dbeZEm2.js.map} +1 -1
  124. package/dist/public/assets/{_DSiMLM3O.js → _H-G61tx0.js} +2 -2
  125. package/dist/public/assets/{_DSiMLM3O.js.map → _H-G61tx0.js.map} +1 -1
  126. package/dist/public/assets/{_DtzFboki2.js → _JmyDHQ3S2.js} +2 -2
  127. package/dist/public/assets/{_DtzFboki2.js.map → _JmyDHQ3S2.js.map} +1 -1
  128. package/dist/public/assets/{_vvD7gyMI.js → _O3QIPxoe.js} +2 -2
  129. package/dist/public/assets/{_vvD7gyMI.js.map → _O3QIPxoe.js.map} +1 -1
  130. package/dist/public/assets/{_CEP7ZGfc.js → _RgPZr-u4.js} +2 -2
  131. package/dist/public/assets/{_CEP7ZGfc.js.map → _RgPZr-u4.js.map} +1 -1
  132. package/dist/public/assets/{_MmznFepY.js → _ZSGrflxk.js} +2 -2
  133. package/dist/public/assets/{_MmznFepY.js.map → _ZSGrflxk.js.map} +1 -1
  134. package/dist/public/assets/{_pygOP_de.js → _aXYWp2ZC.js} +2 -2
  135. package/dist/public/assets/{_pygOP_de.js.map → _aXYWp2ZC.js.map} +1 -1
  136. package/dist/public/assets/{_6fGd-E4-.js → _anllqmOe.js} +2 -2
  137. package/dist/public/assets/{_6fGd-E4-.js.map → _anllqmOe.js.map} +1 -1
  138. package/dist/public/assets/{_E5IsfPKg.js → _cZMSm0LN.js} +2 -2
  139. package/dist/public/assets/{_E5IsfPKg.js.map → _cZMSm0LN.js.map} +1 -1
  140. package/dist/public/assets/{_CKPcZv9h2.js → _dkeDDehz2.js} +2 -2
  141. package/dist/public/assets/{_CKPcZv9h2.js.map → _dkeDDehz2.js.map} +1 -1
  142. package/dist/public/assets/{_BpBuZDjU.js → _g7Q1ADd0.js} +2 -2
  143. package/dist/public/assets/{_BpBuZDjU.js.map → _g7Q1ADd0.js.map} +1 -1
  144. package/dist/public/assets/{_tIqPcFUr.js → _m1KNq0Gx.js} +2 -2
  145. package/dist/public/assets/{_tIqPcFUr.js.map → _m1KNq0Gx.js.map} +1 -1
  146. package/dist/public/assets/{_D5PcDKAq.js → _q9TSOuKE.js} +2 -2
  147. package/dist/public/assets/{_D5PcDKAq.js.map → _q9TSOuKE.js.map} +1 -1
  148. package/dist/public/assets/{_CsE5tdQX2.js → _xuVEda462.js} +2 -2
  149. package/dist/public/assets/{_CsE5tdQX2.js.map → _xuVEda462.js.map} +1 -1
  150. package/dist/public/assets/index-BxVK_c-q.css +1 -0
  151. package/dist/public/assets/{index-D78h5g92.js → index-DJu3fA99.js} +63 -63
  152. package/dist/public/assets/index-DJu3fA99.js.map +1 -0
  153. package/package.json +1 -1
  154. package/dist/public/assets/index-D218Ug0a.css +0 -1
  155. package/dist/public/assets/index-D78h5g92.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{t as e}from"./_CNaDFvDU.js";import{t}from"./_BhUEmgtZ.js";import{t as n}from"./_Do4wHDxf.js";import{t as r}from"./_n9Sk67sI2.js";import{t as i}from"./_xi-5EjUf2.js";import{t as a}from"./_CndbeqUD.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=_BYAflDia.js.map
1
+ import{t as e}from"./_B7ZTox7L.js";import{t}from"./_C480-4NE.js";import{t as n}from"./_BGO4yXnZ.js";import{t as r}from"./_Cm-mKxlV2.js";import{t as i}from"./_DInIL5iq2.js";import{t as a}from"./_CjNZdOEs.js";var o=Object.freeze(JSON.parse(`{"displayName":"Crystal","fileTypes":["cr"],"firstLineMatch":"^#!/.*\\\\bcrystal","foldingStartMarker":"(?:^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-%\\\\&*+/<=>^|~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\{(?![^}]*+})|\\\\[(?![^]]*+]))).*|#.*?\\\\(fold\\\\)\\\\s*+)$","foldingStopMarker":"((^|;)\\\\s*+end\\\\s*+(#.*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[]}],?\\\\s*+(#.*)?$|#.*?\\\\(end\\\\)\\\\s*+$|^=end)","name":"crystal","patterns":[{"captures":{"1":{"name":"keyword.control.class.crystal"},"2":{"name":"keyword.control.class.crystal"},"3":{"name":"entity.name.type.class.crystal"},"5":{"name":"punctuation.separator.crystal"},"6":{"name":"support.class.other.type-param.crystal"},"7":{"name":"entity.other.inherited-class.crystal"},"8":{"name":"punctuation.separator.crystal"},"9":{"name":"punctuation.separator.crystal"},"10":{"name":"support.class.other.type-param.crystal"},"11":{"name":"punctuation.definition.variable.crystal"}},"match":"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.:A-Z_\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([,.0-:A-Z_a-z\\\\x{80}-\\\\x{10FFFF}\\\\s]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([.0-:A-Z_a-z]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.0-:A-Z_\\\\x{80}-\\\\x{10FFFF}]+))","name":"meta.class.crystal"},{"captures":{"1":{"name":"keyword.control.module.crystal"},"2":{"name":"entity.name.type.module.crystal"},"3":{"name":"entity.other.inherited-class.module.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.module.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.module.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"meta.module.crystal"},{"captures":{"1":{"name":"keyword.control.lib.crystal"},"2":{"name":"entity.name.type.lib.crystal"},"3":{"name":"entity.other.inherited-class.lib.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.lib.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.lib.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)","name":"meta.lib.crystal"},{"captures":{"1":{"name":"keyword.control.lib.type.crystal"},"2":{"name":"entity.name.lib.type.crystal"},"3":{"name":"keyword.control.lib.crystal"},"4":{"name":"entity.name.lib.type.value.crystal"}},"match":"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)","name":"meta.lib.type.crystal"},{"match":"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![!:?])","name":"keyword.control.primary.crystal"},{"match":"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\bdo\\\\b\\\\s*","name":"keyword.control.start-block.crystal"},{"match":"(?<=\\\\{)(\\\\s+)","name":"meta.syntax.crystal.start-block"},{"match":"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![!:?])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\\\x08)","name":"keyword.control.pseudo-method.crystal"},{"match":"\\\\bnil\\\\b(?![!:?])","name":"constant.language.nil.crystal"},{"match":"\\\\b(true|false)\\\\b(?![!:?])","name":"constant.language.boolean.crystal"},{"match":"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![!:?])","name":"variable.language.crystal"},{"match":"\\\\b(self)\\\\b(?![!:?])","name":"variable.language.self.crystal"},{"match":"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![!:?])","name":"support.function.kernel.crystal"},{"begin":"\\\\b(require)\\\\b","captures":{"1":{"name":"keyword.other.special-method.crystal"}},"end":"$|(?=#)","name":"meta.require.crystal","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(?!%[Qiqrwx]?[(<\\\\[{|])%([A-Z_a-z]\\\\w*\\\\.)*[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.fresh.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)([!\\\\&'+@\`]|\\\\d+|[\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])","name":"variable.other.readwrite.global.pre-defined.crystal"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.crystal"}},"end":"]","name":"meta.environment-variable.crystal","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*","name":"support.class.crystal"},{"match":"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![!:?])","name":"support.function.kernel.crystal"},{"match":"\\\\b[A-Z_]+\\\\b","name":"variable.other.constant.crystal"},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.crystal"},"2":{"name":"entity.name.function.crystal"},"3":{"name":"punctuation.definition.parameters.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.crystal"}},"name":"meta.function.method.with-arguments.crystal","patterns":[{"begin":"(?![),\\\\s])","end":"(?=,|\\\\)\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.crystal"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.crystal"},"3":{"name":"punctuation.definition.constant.hashkey.crystal"},"4":{"name":"variable.parameter.function.crystal"}},"match":"\\\\G([\\\\&*]?)(?:([A-Z_a-z]\\\\w*(:))|([A-Z_a-z]\\\\w*))"},{"include":"$self"}]}]},{"captures":{"1":{"name":"keyword.control.def.crystal"},"3":{"name":"entity.name.function.crystal"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.crystal"},{"match":"\\\\b[0-9][0-9_]*\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.decimal.crystal"},{"match":"\\\\b0x[_\\\\h]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.hexadecimal.crystal"},{"match":"\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.octal.crystal"},{"match":"\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.binary.crystal"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.crystal"}},"name":"constant.other.symbol.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.crystal"}},"name":"constant.other.symbol.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.crystal"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.single.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%x\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%x\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%x<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%x\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%x\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?:^|(?<=[\\\\&(,:;=>?\\\\[|~]|[;\\\\s]if\\\\s|[;\\\\s]elsif\\\\s|[;\\\\s]while\\\\s|[;\\\\s]unless\\\\s|[;\\\\s]when\\\\s|[;\\\\s]assert_match\\\\s|[;\\\\s]or\\\\s|[;\\\\s]and\\\\s|[;\\\\s]not\\\\s|[.\\\\s]index\\\\s|[.\\\\s]scan\\\\s|[.\\\\s]sub\\\\s|[.\\\\s]sub!\\\\s|[.\\\\s]gsub\\\\s|[.\\\\s]gsub!\\\\s|[.\\\\s]match\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\s))\\\\s*((/))(?![*+?{}])","captures":{"1":{"name":"string.regexp.classic.crystal"},"2":{"name":"punctuation.definition.string.crystal"}},"contentName":"string.regexp.classic.crystal","end":"((/[imsx]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"][imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"}]},{"begin":"%Q?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%Q?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%Q?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%Q?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.crystal.mod","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%Q\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%[iqw]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_parens"}]},{"begin":"%[iqw]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_ltgt"}]},{"begin":"%[iqw]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_brackets"}]},{"begin":"%[iqw]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.crystal"},{"include":"#nest_curly"}]},{"begin":"%[iqw]\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?<!:)(:)(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|@@?[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"constant.other.symbol.crystal"},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.symbol.crystal.19syntax"},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?:^[\\\\t ]+)?(#).*$\\\\n?","name":"comment.line.number-sign.crystal"},{"match":"(?<!}})\\\\b_(\\\\w+[!?]?)\\\\b(?!\\\\()","name":"comment.unused.crystal"},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.html.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.html.crystal","patterns":[{"include":"#heredoc"},{"include":"text.html.basic"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.sql.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.sql.crystal","patterns":[{"include":"#heredoc"},{"include":"source.sql"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.css.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.css.crystal","patterns":[{"include":"#heredoc"},{"include":"source.css"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c++.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.cplusplus.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c++"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.c.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.jquery.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.jquery.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js.jquery"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.shell.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.shell.crystal","patterns":[{"include":"#heredoc"},{"include":"source.shell"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.crystal.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.crystal.crystal","patterns":[{"include":"#heredoc"},{"include":"source.crystal"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-'(\\\\w+)')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#escaped_char"}]},{"begin":"(?><<-(\\\\w+)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.crystal"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","patterns":[{"include":"source.crystal"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.block.crystal"},{"match":",","name":"punctuation.separator.variable.crystal"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.crystal"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.crystal"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.crystal"},{"match":"(?<=^|[\\\\t ])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.crystal"},{"match":"(\\\\{%|%}|\\\\{\\\\{|}})","name":"keyword.operator.macro.crystal"},{"captures":{"1":{"name":"punctuation.separator.method.crystal"}},"match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"([%\\\\&]|\\\\*\\\\*|[-*+/])","name":"keyword.operator.arithmetic.crystal"},{"match":"=","name":"keyword.operator.assignment.crystal"},{"match":"[|~]|>>","name":"keyword.operator.other.crystal"},{"match":":","name":"punctuation.separator.other.crystal"},{"match":";","name":"punctuation.separator.statement.crystal"},{"match":",","name":"punctuation.separator.object.crystal"},{"match":"\\\\.|::","name":"punctuation.separator.method.crystal"},{"match":"[{}]","name":"punctuation.section.scope.crystal"},{"match":"[]\\\\[]","name":"punctuation.section.array.crystal"},{"match":"[()]","name":"punctuation.section.function.crystal"},{"begin":"(?=[!0-9?A-Z_a-z]+\\\\()","end":"(?<=\\\\))","name":"meta.function-call.crystal","patterns":[{"match":"([!0-9?A-Z_a-z]+)(?=\\\\()","name":"entity.name.function.crystal"},{"include":"$self"}]},{"match":"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([]$)-/=^}]|<\\\\s|<<[.|\\\\s]))","name":"variable.other.crystal"}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x\\\\h{2}|u\\\\h{4}|u\\\\{[ \\\\h]+}|.)","name":"constant.character.escape.crystal"},"heredoc":{"begin":"^<<-?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_crystal":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.crystal"}},"contentName":"source.crystal","end":"(})","endCaptures":{"0":{"name":"punctuation.section.embedded.end.crystal"},"1":{"name":"source.crystal"}},"name":"meta.embedded.line.crystal","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}],"repository":{"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}}},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"}]},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.crystal"},"3":{"name":"punctuation.definition.arbitrary-repetition.crystal"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.crystal"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.crystal"}},"end":"]","name":"string.regexp.character-class.crystal","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.crystal"}},"end":"\\\\)","name":"string.regexp.group.crystal","patterns":[{"include":"#regex_sub"}]},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?<=^|\\\\s)(#)\\\\s[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$","name":"comment.line.number-sign.crystal"}]}},"scopeName":"source.crystal","embeddedLangs":["html","sql","css","c","javascript","shellscript"]}`)),s=[...n,...r,...t,...i,...e,...a,o];export{s as default};
2
+ //# sourceMappingURL=_BRfYhRDN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_BYAflDia.js","names":["html","sql","css","c","javascript","shellscript"],"sources":["../../../node_modules/.pnpm/@shikijs+langs@4.4.2/node_modules/@shikijs/langs/dist/crystal.mjs"],"sourcesContent":["import html from './html.mjs'\nimport sql from './sql.mjs'\nimport css from './css.mjs'\nimport c from './c.mjs'\nimport javascript from './javascript.mjs'\nimport shellscript from './shellscript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Crystal\\\",\\\"fileTypes\\\":[\\\"cr\\\"],\\\"firstLineMatch\\\":\\\"^#!/.*\\\\\\\\bcrystal\\\",\\\"foldingStartMarker\\\":\\\"(?:^(\\\\\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\\\\\bend\\\\\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\\\\\\"(\\\\\\\\\\\\\\\\.|[^\\\\\\\"])*+\\\\\\\"|'(\\\\\\\\\\\\\\\\.|[^'])*+'|[^\\\\\\\"#'])*(\\\\\\\\s(do|begin|case)|(?<!\\\\\\\\$)[-%\\\\\\\\&*+/<=>^|~]\\\\\\\\s*+(if|unless)))\\\\\\\\b(?![^;]*+;.*?\\\\\\\\bend\\\\\\\\b)|(\\\\\\\"(\\\\\\\\\\\\\\\\.|[^\\\\\\\"])*+\\\\\\\"|'(\\\\\\\\\\\\\\\\.|[^'])*+'|[^\\\\\\\"#'])*(\\\\\\\\{(?![^}]*+})|\\\\\\\\[(?![^]]*+]))).*|#.*?\\\\\\\\(fold\\\\\\\\)\\\\\\\\s*+)$\\\",\\\"foldingStopMarker\\\":\\\"((^|;)\\\\\\\\s*+end\\\\\\\\s*+(#.*)?$|(^|;)\\\\\\\\s*+end\\\\\\\\..*$|^\\\\\\\\s*+[]}],?\\\\\\\\s*+(#.*)?$|#.*?\\\\\\\\(end\\\\\\\\)\\\\\\\\s*+$|^=end)\\\",\\\"name\\\":\\\"crystal\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.class.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.other.type-param.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.crystal\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.separator.crystal\\\"},\\\"10\\\":{\\\"name\\\":\\\"support.class.other.type-param.crystal\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(abstract)?\\\\\\\\s*(class|struct|union|annotation|enum)\\\\\\\\s+(([.:A-Z_\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([,.0-:A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\s]+)\\\\\\\\))?(\\\\\\\\s*(<)\\\\\\\\s*[.:A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([.0-:A-Z_a-z]+\\\\\\\\s,)\\\\\\\\))?)?)|((<<)\\\\\\\\s*[.0-:A-Z_\\\\\\\\x{80}-\\\\\\\\x{10FFFF}]+))\\\",\\\"name\\\":\\\"meta.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(module)\\\\\\\\s+(([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))*[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"meta.module.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.lib.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(lib)\\\\\\\\s+(([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))*[A-Z]\\\\\\\\w*)\\\",\\\"name\\\":\\\"meta.lib.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.type.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.lib.type.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.lib.type.value.crystal\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(type)\\\\\\\\s+([A-Z]\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*(.+)\\\",\\\"name\\\":\\\"meta.lib.type.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.primary.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(describe|context|it|expect_raises)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bdo\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"keyword.control.start-block.crystal\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\{)(\\\\\\\\s+)\\\",\\\"name\\\":\\\"meta.syntax.crystal.start-block\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\\\\\b(?![!:?])|\\\\\\\\.(is_a\\\\\\\\?|nil\\\\\\\\?|responds_to\\\\\\\\?|as\\\\\\\\?|as\\\\\\\\x08)\\\",\\\"name\\\":\\\"keyword.control.pseudo-method.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\bnil\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.nil.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.boolean.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(self)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.self.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(((class_)?((getter|property)\\\\\\\\b[!?]?|setter\\\\\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\\\\\b)(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(require)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.special-method.crystal\\\"}},\\\"end\\\":\\\"$|(?=#)\\\",\\\"name\\\":\\\"meta.require.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(?!%[Qiqrwx]?[(<\\\\\\\\[{|])%([A-Z_a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.fresh.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([!\\\\\\\\&'+@`]|\\\\\\\\d+|[\\\\\\\"$*,./:-?\\\\\\\\\\\\\\\\_~]|-[0FIadilpv])\\\",\\\"name\\\":\\\"variable.other.readwrite.global.pre-defined.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(ENV)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.environment-variable.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*\\\",\\\"name\\\":\\\"support.class.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.crystal\\\"},{\\\"begin\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"name\\\":\\\"meta.function.method.with-arguments.crystal\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?![),\\\\\\\\s])\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\)\\\\\\\\s*)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.variable.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.symbol.hashkey.parameter.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.hashkey.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.crystal\\\"}},\\\"match\\\":\\\"\\\\\\\\G([\\\\\\\\&*]?)(?:([A-Z_a-z]\\\\\\\\w*(:))|([A-Z_a-z]\\\\\\\\w*))\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"}},\\\"match\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\b(\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?)))?\\\",\\\"name\\\":\\\"meta.function.method.without-arguments.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*\\\\\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0x[_\\\\\\\\h]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.octal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.crystal\\\"},{\\\"begin\\\":\\\":'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\":\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\()/=\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.single.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%x<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?:^|(?<=[\\\\\\\\&(,:;=>?\\\\\\\\[|~]|[;\\\\\\\\s]if\\\\\\\\s|[;\\\\\\\\s]elsif\\\\\\\\s|[;\\\\\\\\s]while\\\\\\\\s|[;\\\\\\\\s]unless\\\\\\\\s|[;\\\\\\\\s]when\\\\\\\\s|[;\\\\\\\\s]assert_match\\\\\\\\s|[;\\\\\\\\s]or\\\\\\\\s|[;\\\\\\\\s]and\\\\\\\\s|[;\\\\\\\\s]not\\\\\\\\s|[.\\\\\\\\s]index\\\\\\\\s|[.\\\\\\\\s]scan\\\\\\\\s|[.\\\\\\\\s]sub\\\\\\\\s|[.\\\\\\\\s]sub!\\\\\\\\s|[.\\\\\\\\s]gsub\\\\\\\\s|[.\\\\\\\\s]gsub!\\\\\\\\s|[.\\\\\\\\s]match\\\\\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\\\\\s))\\\\\\\\s*((/))(?![*+?{}])\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.regexp.classic.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.crystal\\\"}},\\\"contentName\\\":\\\"string.regexp.classic.crystal\\\",\\\"end\\\":\\\"((/[imsx]*))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"][imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},{\\\"begin\\\":\\\"%r<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%Q?<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.crystal.mod\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%Q\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%[iqw]<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?<!:)(:)(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|@@?[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!?]?)(:)(?!:)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal.19syntax\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?:^[\\\\\\\\t ]+)?(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"},{\\\"match\\\":\\\"(?<!}})\\\\\\\\b_(\\\\\\\\w+[!?]?)\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"comment.unused.crystal\\\"},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)HTML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.html.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.html.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SQL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.sql.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.sql.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CSS)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.css.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.css.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CPP)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c++.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.cplusplus.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)C)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.c.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)J(?:S|AVASCRIPT))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)JQUERY)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.jquery.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.jquery.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js.jquery\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SH(?:|ELL))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.shell.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.shell.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.shell\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CRYSTAL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.crystal.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.crystal.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.crystal\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-'(\\\\\\\\w+)')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-(\\\\\\\\w+)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{\\\\\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\\\\\s|^do\\\\\\\\s)(\\\\\\\\|)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\|)(\\\\\\\\|)(?!\\\\\\\\|)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.crystal\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.block.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}]},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"punctuation.separator.key-value\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"<<=|%=|&{1,2}=|\\\\\\\\*=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|\\\\\\\\^=|\\\\\\\\|{1,2}=|<<\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"match\\\":\\\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\\\\\t ])\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.comparison.crystal\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t ])!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\^\\\",\\\"name\\\":\\\"keyword.operator.logical.crystal\\\"},{\\\"match\\\":\\\"(\\\\\\\\{%|%}|\\\\\\\\{\\\\\\\\{|}})\\\",\\\"name\\\":\\\"keyword.operator.macro.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"}},\\\"match\\\":\\\"(&\\\\\\\\.)\\\\\\\\s*(?![A-Z])\\\"},{\\\"match\\\":\\\"([%\\\\\\\\&]|\\\\\\\\*\\\\\\\\*|[-*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.crystal\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.crystal\\\"},{\\\"match\\\":\\\"[|~]|>>\\\",\\\"name\\\":\\\"keyword.operator.other.crystal\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.other.crystal\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\.|::\\\",\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.section.array.crystal\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.function.crystal\\\"},{\\\"begin\\\":\\\"(?=[!0-9?A-Z_a-z]+\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([!0-9?A-Z_a-z]+)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.crystal\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"((?<=\\\\\\\\W)\\\\\\\\b|^)\\\\\\\\w+\\\\\\\\b(?=\\\\\\\\s*([]$)-/=^}]|<\\\\\\\\s|<<[.|\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.crystal\\\"}],\\\"repository\\\":{\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[0-7]{1,3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{[ \\\\\\\\h]+}|.)\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"^<<-?\\\\\\\\w+\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"interpolated_crystal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.crystal\\\"}},\\\"contentName\\\":\\\"source.crystal\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.crystal\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.crystal\\\"}},\\\"name\\\":\\\"meta.embedded.line.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"$self\\\"}],\\\"repository\\\":{\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"}]},\\\"nest_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_brackets\\\"}]},\\\"nest_brackets_i\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},\\\"nest_brackets_r\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},\\\"nest_curly\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"nest_curly_i\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},\\\"nest_curly_r\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},\\\"nest_ltgt\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_ltgt\\\"}]},\\\"nest_ltgt_i\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},\\\"nest_ltgt_r\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},\\\"nest_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_parens\\\"}]},\\\"nest_parens_i\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},\\\"nest_parens_r\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},\\\"regex_sub\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"string.regexp.group.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?<=^|\\\\\\\\s)(#)\\\\\\\\s[-\\\\\\\\t !,.0-9?A-Za-z[^\\\\\\\\x00-\\\\\\\\x7F]]*$\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"}]}},\\\"scopeName\\\":\\\"source.crystal\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"sql\\\",\\\"css\\\",\\\"c\\\",\\\"javascript\\\",\\\"shellscript\\\"]}\"))\n\nexport default [\n...html,\n...sql,\n...css,\n...c,\n...javascript,\n...shellscript,\nlang\n]\n"],"x_google_ignoreList":[0],"mappings":"+MAOA,IAAM,EAAO,OAAO,OAAO,KAAK,MAAM,054BAAy9+B,CAAC,EAEhg/B,EAAe,CACf,GAAGA,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,CACA"}
1
+ {"version":3,"file":"_BRfYhRDN.js","names":["html","sql","css","c","javascript","shellscript"],"sources":["../../../node_modules/.pnpm/@shikijs+langs@4.4.2/node_modules/@shikijs/langs/dist/crystal.mjs"],"sourcesContent":["import html from './html.mjs'\nimport sql from './sql.mjs'\nimport css from './css.mjs'\nimport c from './c.mjs'\nimport javascript from './javascript.mjs'\nimport shellscript from './shellscript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Crystal\\\",\\\"fileTypes\\\":[\\\"cr\\\"],\\\"firstLineMatch\\\":\\\"^#!/.*\\\\\\\\bcrystal\\\",\\\"foldingStartMarker\\\":\\\"(?:^(\\\\\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\\\\\bend\\\\\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\\\\\\"(\\\\\\\\\\\\\\\\.|[^\\\\\\\"])*+\\\\\\\"|'(\\\\\\\\\\\\\\\\.|[^'])*+'|[^\\\\\\\"#'])*(\\\\\\\\s(do|begin|case)|(?<!\\\\\\\\$)[-%\\\\\\\\&*+/<=>^|~]\\\\\\\\s*+(if|unless)))\\\\\\\\b(?![^;]*+;.*?\\\\\\\\bend\\\\\\\\b)|(\\\\\\\"(\\\\\\\\\\\\\\\\.|[^\\\\\\\"])*+\\\\\\\"|'(\\\\\\\\\\\\\\\\.|[^'])*+'|[^\\\\\\\"#'])*(\\\\\\\\{(?![^}]*+})|\\\\\\\\[(?![^]]*+]))).*|#.*?\\\\\\\\(fold\\\\\\\\)\\\\\\\\s*+)$\\\",\\\"foldingStopMarker\\\":\\\"((^|;)\\\\\\\\s*+end\\\\\\\\s*+(#.*)?$|(^|;)\\\\\\\\s*+end\\\\\\\\..*$|^\\\\\\\\s*+[]}],?\\\\\\\\s*+(#.*)?$|#.*?\\\\\\\\(end\\\\\\\\)\\\\\\\\s*+$|^=end)\\\",\\\"name\\\":\\\"crystal\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.class.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.other.type-param.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.crystal\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.separator.crystal\\\"},\\\"10\\\":{\\\"name\\\":\\\"support.class.other.type-param.crystal\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(abstract)?\\\\\\\\s*(class|struct|union|annotation|enum)\\\\\\\\s+(([.:A-Z_\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([,.0-:A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\s]+)\\\\\\\\))?(\\\\\\\\s*(<)\\\\\\\\s*[.:A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][.:\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(\\\\\\\\(([.0-:A-Z_a-z]+\\\\\\\\s,)\\\\\\\\))?)?)|((<<)\\\\\\\\s*[.0-:A-Z_\\\\\\\\x{80}-\\\\\\\\x{10FFFF}]+))\\\",\\\"name\\\":\\\"meta.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.module.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(module)\\\\\\\\s+(([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))?([A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(::))*[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"meta.module.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.lib.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.first.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.second.crystal\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.lib.third.crystal\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.crystal\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(lib)\\\\\\\\s+(([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))?([A-Z]\\\\\\\\w*(::))*[A-Z]\\\\\\\\w*)\\\",\\\"name\\\":\\\"meta.lib.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.lib.type.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.lib.type.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.lib.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.lib.type.value.crystal\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(type)\\\\\\\\s+([A-Z]\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*(.+)\\\",\\\"name\\\":\\\"meta.lib.type.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.primary.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(describe|context|it|expect_raises)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"keyword.control.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bdo\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"keyword.control.start-block.crystal\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\{)(\\\\\\\\s+)\\\",\\\"name\\\":\\\"meta.syntax.crystal.start-block\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\\\\\b(?![!:?])|\\\\\\\\.(is_a\\\\\\\\?|nil\\\\\\\\?|responds_to\\\\\\\\?|as\\\\\\\\?|as\\\\\\\\x08)\\\",\\\"name\\\":\\\"keyword.control.pseudo-method.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\bnil\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.nil.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"constant.language.boolean.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(self)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"variable.language.self.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(((class_)?((getter|property)\\\\\\\\b[!?]?|setter\\\\\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\\\\\b)(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(require)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.special-method.crystal\\\"}},\\\"end\\\":\\\"$|(?=#)\\\",\\\"name\\\":\\\"meta.require.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(@@)[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!=?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(?!%[Qiqrwx]?[(<\\\\\\\\[{|])%([A-Z_a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.fresh.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([!\\\\\\\\&'+@`]|\\\\\\\\d+|[\\\\\\\"$*,./:-?\\\\\\\\\\\\\\\\_~]|-[0FIadilpv])\\\",\\\"name\\\":\\\"variable.other.readwrite.global.pre-defined.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(ENV)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.environment-variable.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b[A-Z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*\\\",\\\"name\\\":\\\"support.class.crystal\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\\\\\b(?![!:?])\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.crystal\\\"},{\\\"begin\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.crystal\\\"}},\\\"name\\\":\\\"meta.function.method.with-arguments.crystal\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?![),\\\\\\\\s])\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\)\\\\\\\\s*)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.variable.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.symbol.hashkey.parameter.function.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.hashkey.crystal\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.crystal\\\"}},\\\"match\\\":\\\"\\\\\\\\G([\\\\\\\\&*]?)(?:([A-Z_a-z]\\\\\\\\w*(:))|([A-Z_a-z]\\\\\\\\w*))\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.crystal\\\"}},\\\"match\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\b(\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|\\\\\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|\\\\\\\\[]=?)))?\\\",\\\"name\\\":\\\"meta.function.method.without-arguments.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*\\\\\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0x[_\\\\\\\\h]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.octal.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.crystal\\\"},{\\\"begin\\\":\\\":'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\":\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.end.crystal\\\"}},\\\"name\\\":\\\"constant.other.symbol.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\()/=\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.single.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%x<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%x\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.interpolated.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?:^|(?<=[\\\\\\\\&(,:;=>?\\\\\\\\[|~]|[;\\\\\\\\s]if\\\\\\\\s|[;\\\\\\\\s]elsif\\\\\\\\s|[;\\\\\\\\s]while\\\\\\\\s|[;\\\\\\\\s]unless\\\\\\\\s|[;\\\\\\\\s]when\\\\\\\\s|[;\\\\\\\\s]assert_match\\\\\\\\s|[;\\\\\\\\s]or\\\\\\\\s|[;\\\\\\\\s]and\\\\\\\\s|[;\\\\\\\\s]not\\\\\\\\s|[.\\\\\\\\s]index\\\\\\\\s|[.\\\\\\\\s]scan\\\\\\\\s|[.\\\\\\\\s]sub\\\\\\\\s|[.\\\\\\\\s]sub!\\\\\\\\s|[.\\\\\\\\s]gsub\\\\\\\\s|[.\\\\\\\\s]gsub!\\\\\\\\s|[.\\\\\\\\s]match\\\\\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\\\\\s))\\\\\\\\s*((/))(?![*+?{}])\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.regexp.classic.crystal\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.crystal\\\"}},\\\"contentName\\\":\\\"string.regexp.classic.crystal\\\",\\\"end\\\":\\\"((/[imsx]*))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"][imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},{\\\"begin\\\":\\\"%r<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|[imsx]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.regexp.mod-r.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%Q?<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%Q?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.double.crystal.mod\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%Q\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.upper.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%[iqw]<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%[iqw]\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.quoted.other.literal.lower.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?<!:)(:)(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[][=?]?|@@?[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.crystal\\\"}},\\\"match\\\":\\\"(?>[A-Z_a-z\\\\\\\\x{80}-\\\\\\\\x{10FFFF}][\\\\\\\\x{80}-\\\\\\\\x{10FFFF}\\\\\\\\w]*[!?]?)(:)(?!:)\\\",\\\"name\\\":\\\"constant.other.symbol.crystal.19syntax\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?:^[\\\\\\\\t ]+)?(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"},{\\\"match\\\":\\\"(?<!}})\\\\\\\\b_(\\\\\\\\w+[!?]?)\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"comment.unused.crystal\\\"},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)HTML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.html.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.html.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SQL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.sql.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.sql.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CSS)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.css.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.css.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CPP)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c++.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.cplusplus.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)C)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.c.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.c.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.c\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)J(?:S|AVASCRIPT))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)JQUERY)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.js.jquery.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.js.jquery.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.js.jquery\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)SH(?:|ELL))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.shell.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.shell.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.shell\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-('?)((?:[_\\\\\\\\w]+_|)CRYSTAL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"contentName\\\":\\\"text.crystal.embedded.crystal\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\2\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.embedded.crystal.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"source.crystal\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-'(\\\\\\\\w+)')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?><<-(\\\\\\\\w+)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\1\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.crystal\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{\\\\\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\\\\\s|^do\\\\\\\\s)(\\\\\\\\|)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\|)(\\\\\\\\|)(?!\\\\\\\\|)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.crystal\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.block.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.variable.crystal\\\"}]},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"punctuation.separator.key-value\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"support.function.kernel.crystal\\\"},{\\\"match\\\":\\\"<<=|%=|&{1,2}=|\\\\\\\\*=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|\\\\\\\\^=|\\\\\\\\|{1,2}=|<<\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.crystal\\\"},{\\\"match\\\":\\\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\\\\\t ])\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.comparison.crystal\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t ])!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\^\\\",\\\"name\\\":\\\"keyword.operator.logical.crystal\\\"},{\\\"match\\\":\\\"(\\\\\\\\{%|%}|\\\\\\\\{\\\\\\\\{|}})\\\",\\\"name\\\":\\\"keyword.operator.macro.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"}},\\\"match\\\":\\\"(&\\\\\\\\.)\\\\\\\\s*(?![A-Z])\\\"},{\\\"match\\\":\\\"([%\\\\\\\\&]|\\\\\\\\*\\\\\\\\*|[-*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.crystal\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.crystal\\\"},{\\\"match\\\":\\\"[|~]|>>\\\",\\\"name\\\":\\\"keyword.operator.other.crystal\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.other.crystal\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.crystal\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.crystal\\\"},{\\\"match\\\":\\\"\\\\\\\\.|::\\\",\\\"name\\\":\\\"punctuation.separator.method.crystal\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.section.array.crystal\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.function.crystal\\\"},{\\\"begin\\\":\\\"(?=[!0-9?A-Z_a-z]+\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.crystal\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([!0-9?A-Z_a-z]+)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.crystal\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"((?<=\\\\\\\\W)\\\\\\\\b|^)\\\\\\\\w+\\\\\\\\b(?=\\\\\\\\s*([]$)-/=^}]|<\\\\\\\\s|<<[.|\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.crystal\\\"}],\\\"repository\\\":{\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[0-7]{1,3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{[ \\\\\\\\h]+}|.)\\\",\\\"name\\\":\\\"constant.character.escape.crystal\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"^<<-?\\\\\\\\w+\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"interpolated_crystal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.crystal\\\"}},\\\"contentName\\\":\\\"source.crystal\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.crystal\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.crystal\\\"}},\\\"name\\\":\\\"meta.embedded.line.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"$self\\\"}],\\\"repository\\\":{\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#@@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.class.crystal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.crystal\\\"}},\\\"match\\\":\\\"(#\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.crystal\\\"}]},\\\"nest_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_brackets\\\"}]},\\\"nest_brackets_i\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},\\\"nest_brackets_r\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},\\\"nest_curly\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"nest_curly_i\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},\\\"nest_curly_r\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},\\\"nest_ltgt\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_ltgt\\\"}]},\\\"nest_ltgt_i\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},\\\"nest_ltgt_r\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},\\\"nest_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_parens\\\"}]},\\\"nest_parens_i\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},\\\"nest_parens_r\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},\\\"regex_sub\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_crystal\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.crystal\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.crystal\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.crystal\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.crystal\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"string.regexp.group.crystal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.crystal\\\"}},\\\"match\\\":\\\"(?<=^|\\\\\\\\s)(#)\\\\\\\\s[-\\\\\\\\t !,.0-9?A-Za-z[^\\\\\\\\x00-\\\\\\\\x7F]]*$\\\",\\\"name\\\":\\\"comment.line.number-sign.crystal\\\"}]}},\\\"scopeName\\\":\\\"source.crystal\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"sql\\\",\\\"css\\\",\\\"c\\\",\\\"javascript\\\",\\\"shellscript\\\"]}\"))\n\nexport default [\n...html,\n...sql,\n...css,\n...c,\n...javascript,\n...shellscript,\nlang\n]\n"],"x_google_ignoreList":[0],"mappings":"+MAOA,IAAM,EAAO,OAAO,OAAO,KAAK,MAAM,054BAAy9+B,CAAC,EAEhg/B,EAAe,CACf,GAAGA,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,CACA"}