@malloy-publisher/server 0.0.109 → 0.0.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/assets/{Chip-DulNumvr.js → Chip-DFxjDMYx.js} +1 -1
- package/dist/app/assets/{Container-Dn_IEeIp.js → Container-DvcpwYS4.js} +1 -1
- package/dist/app/assets/{DialogTitle-CBoB5s1x.js → DialogTitle-D-8JHIhX.js} +1 -1
- package/dist/app/assets/{Edit-CnTAusNy.js → Edit-CY66B5e8.js} +1 -1
- package/dist/app/assets/FormControlContext-BW02KQZu.js +1 -0
- package/dist/app/assets/HomePage-Bov6-5AZ.js +3 -0
- package/dist/app/assets/{MainPage-6getdplb.js → MainPage-BYUYRBax.js} +1 -1
- package/dist/app/assets/{MenuItem-DE8NK-Xy.js → MenuItem-CpI-7eAr.js} +1 -1
- package/dist/app/assets/{Modal-PUsNPbDx.js → Modal-C-Euultz.js} +1 -1
- package/dist/app/assets/{ModelPage-Cuqbuu_v.js → ModelPage-BMg6IR4I.js} +2 -2
- package/dist/app/assets/{MoreVert-BqUb6vJH.js → MoreVert-BVtzLkHm.js} +1 -1
- package/dist/app/assets/{PackagePage-Cc5cjUZ9.js → PackagePage-Ca-5S4bY.js} +1 -1
- package/dist/app/assets/{ProjectPage-CJbF04bc.js → ProjectPage-Csve1erO.js} +1 -1
- package/dist/app/assets/{RouteError-CTlaesPV.js → RouteError-DVrYYQx8.js} +1 -1
- package/dist/app/assets/{WorkbookPage-CGJZfEXN.js → WorkbookPage-Bos3GG6c.js} +1 -1
- package/dist/app/assets/{index-BVlZ6i8j.js → index-B4eYfbqj.js} +1 -1
- package/dist/app/assets/{index-DycfvfsO.js → index-CUx2TJnu.js} +1 -1
- package/dist/app/assets/{index-DdF3z9Gd.js → index-CXVjjE47.js} +13 -13
- package/dist/app/assets/{index.es20-DlWN4z3R.js → index.es20-D_GGseeK.js} +1 -1
- package/dist/app/assets/{index.es23-BDdtxnbW.js → index.es23-BsVG9VR1.js} +2 -2
- package/dist/app/assets/{index.es310-AKXDC8rl.js → index.es311-B4I7CPCs.js} +1 -1
- package/dist/app/assets/{index.es311-CE0-K0fx.js → index.es312-D6Wb5Qbz.js} +1 -1
- package/dist/app/assets/{index.es314-CsD4AFJi.js → index.es315-De-j80TX.js} +1 -1
- package/dist/app/assets/{index.es319-BAaFF8nF.js → index.es320-BOD1ZJZT.js} +1 -1
- package/dist/app/assets/{index.es327-CLjg00CO.js → index.es328-CVyYL2Cb.js} +1 -1
- package/dist/app/assets/{index.es328-Dk49f56D.js → index.es329-C73tSnxx.js} +1 -1
- package/dist/app/assets/{index.es331-CNjOIk10.js → index.es332-pdJPCQ16.js} +1 -1
- package/dist/app/assets/{index.es335-BeNrivcI.js → index.es336-BW2O-pnR.js} +1 -1
- package/dist/app/assets/{index.es338-BhR7SkS5.js → index.es339-BaWHmQaH.js} +1 -1
- package/dist/app/assets/{index.es341-C_6PzCoq.js → index.es342-D2Lnssjt.js} +1 -1
- package/dist/app/assets/{index.es342-D1uAr8c1.js → index.es343-YbS6hTnA.js} +1 -1
- package/dist/app/assets/{index.es356-7PPXN4m3.js → index.es357-CoBUMGfg.js} +1 -1
- package/dist/app/assets/{index.es357-CJh2QG0N.js → index.es358-DbSm3pvF.js} +1 -1
- package/dist/app/assets/{index.es358-C_zZutkw.js → index.es359-DMGMoOZB.js} +1 -1
- package/dist/app/assets/{index.es360-DeQ44nE8.js → index.es361-BHceIWHs.js} +1 -1
- package/dist/app/assets/{index.es365-oFKdnBEe.js → index.es366-PXx-OsXN.js} +1 -1
- package/dist/app/assets/{index.es367-BUiiHWL7.js → index.es368-Cr9RaTtA.js} +1 -1
- package/dist/app/assets/{index.es368-Bb8Mmpp1.js → index.es369-C0mtzGRN.js} +1 -1
- package/dist/app/assets/{index.es373-C5Q5iXfG.js → index.es374-Drv5n-HJ.js} +1 -1
- package/dist/app/assets/{index.es374-s3ewK3v_.js → index.es375-U_De2V6q.js} +1 -1
- package/dist/app/assets/{index.es376-Dot0I9EF.js → index.es377-B3MRYiit.js} +1 -1
- package/dist/app/assets/{index.es377-B6TLwhtH.js → index.es378-DoTPPeUr.js} +1 -1
- package/dist/app/assets/{index.es378-mEifvHi6.js → index.es379-BPm5p9Tu.js} +1 -1
- package/dist/app/assets/{index.es381-DdV8KTBv.js → index.es382-DKIqkYbM.js} +1 -1
- package/dist/app/assets/{index.es383-B762Qvzb.js → index.es384-DXiKOUzH.js} +1 -1
- package/dist/app/assets/{index.es384-DBjLFE2E.js → index.es385-CLF2pcju.js} +1 -1
- package/dist/app/assets/{index.es385-DkDs29_v.js → index.es386-Bh-sEjq4.js} +1 -1
- package/dist/app/assets/{index.es391-BOBiTPht.js → index.es392-CRHao7mg.js} +1 -1
- package/dist/app/assets/{index.es392-BGdYwXRd.js → index.es393-Cm6sEy7_.js} +1 -1
- package/dist/app/assets/{index.es393-BnuSumNM.js → index.es394-B8ZpxCSt.js} +1 -1
- package/dist/app/assets/{index.es394-DMJpONen.js → index.es395-DkWbmmH5.js} +1 -1
- package/dist/app/assets/{index.es396-Dexy1Fdn.js → index.es397-CKDseQYx.js} +1 -1
- package/dist/app/assets/{index.es400-V_MXD6ds.js → index.es401-CtFcnffO.js} +1 -1
- package/dist/app/assets/{index.es401-CAcCA7it.js → index.es402-CxdH5hVg.js} +1 -1
- package/dist/app/assets/{index.es409-DgSxLsfq.js → index.es410-DUOnTx6Y.js} +1 -1
- package/dist/app/assets/{index.es412-wcTkTrNP.js → index.es413-o0g0o7a9.js} +1 -1
- package/dist/app/assets/{index.es415-hnSTt9Hn.js → index.es416-Dy45-wq4.js} +1 -1
- package/dist/app/assets/{index.es418-DwuHSZfi.js → index.es419-DltXKq7x.js} +1 -1
- package/dist/app/assets/{index.es422-DWsCMo9a.js → index.es423-CYo8sXPV.js} +1 -1
- package/dist/app/assets/{index.es424-CX2jVTDC.js → index.es425-8kqvQzEa.js} +1 -1
- package/dist/app/assets/{index.es432-DpOOpPot.js → index.es433-D_41FSTK.js} +1 -1
- package/dist/app/assets/{index.es433--E-hGrgp.js → index.es434-DeV3Y_jn.js} +1 -1
- package/dist/app/assets/{index.es440-NJaU5ncf.js → index.es441-Cj1Yw83T.js} +1 -1
- package/dist/app/assets/{index.es441-CR0Ohpvp.js → index.es442-BAhAeZbN.js} +1 -1
- package/dist/app/assets/{index.es451-sHTEx-Dl.js → index.es452-CPGmraR2.js} +1 -1
- package/dist/app/assets/{index.es455-9ZC7rz1G.js → index.es456-BdFu7nX3.js} +1 -1
- package/dist/app/assets/{index.es461-DAQjszqb.js → index.es462-D6GNpC-z.js} +1 -1
- package/dist/app/assets/{index.es466-sT_GOjPl.js → index.es467-ClH_GnCa.js} +1 -1
- package/dist/app/assets/{index.es467-D1qnNYJr.js → index.es468-Di3zYFeC.js} +1 -1
- package/dist/app/assets/{index.es469-DW1np4pg.js → index.es470-DgLPjbVB.js} +1 -1
- package/dist/app/assets/{index.es473-wVAdvQ6_.js → index.es474-B824aOrb.js} +1 -1
- package/dist/app/assets/{index.es475-CZM7KBU8.js → index.es476-BlPAYHhB.js} +1 -1
- package/dist/app/assets/{index.es477-OAyIdwW_.js → index.es478-BBy72e0U.js} +1 -1
- package/dist/app/assets/{index.es480-DSR8isSz.js → index.es481-Df-VYnz4.js} +1 -1
- package/dist/app/assets/{index.es481-CBydsWwB.js → index.es482-DNcoqtdL.js} +1 -1
- package/dist/app/assets/{index.es485-CJc4fpNV.js → index.es486-D8LYNoLQ.js} +1 -1
- package/dist/app/assets/{index.es487-C1wULFp4.js → index.es488-BUMxLwvA.js} +1 -1
- package/dist/app/assets/{index.es494-BLp6ucpV.js → index.es495-D-qd6FpS.js} +1 -1
- package/dist/app/assets/{index.es496-Tis1R15L.js → index.es497-LaARGtc9.js} +1 -1
- package/dist/app/assets/{index.es498-DnIxUf2o.js → index.es499-DUJgu_Bk.js} +1 -1
- package/dist/app/assets/{index.es502-DhEHE70J.js → index.es503-BJ9VRCwz.js} +1 -1
- package/dist/app/assets/{index.es512-B---8rhN.js → index.es513-DcdvkC6C.js} +1 -1
- package/dist/app/assets/{index.es513-BU_koFtA.js → index.es514-BR9aJ-oz.js} +1 -1
- package/dist/app/assets/{index.es520-ZlB1VPRK.js → index.es521-B5F1bSbk.js} +1 -1
- package/dist/app/assets/{index.es521-VBglaSPm.js → index.es522-DMB2cdTG.js} +1 -1
- package/dist/app/assets/index.es7-B-1xtkbo.js +1 -0
- package/dist/app/assets/{index.modern--uQhcQlR.js → index.modern-CUFHTrKB.js} +1 -1
- package/dist/app/assets/{index.umd-DraF67oa.js → index.umd-BkIL5b5A.js} +1 -1
- package/dist/app/assets/{listItemTextClasses-BY1YL8dW.js → listItemTextClasses-lEedVyO7.js} +1 -1
- package/dist/app/index.html +1 -1
- package/dist/server.js +6047 -1474
- package/package.json +1 -1
- package/src/server.ts +11 -0
- package/src/service/project.ts +11 -17
- package/src/service/project_store.ts +156 -47
- package/dist/app/assets/FormControlContext-BWbaVxQH.js +0 -1
- package/dist/app/assets/HomePage-vbEJVepI.js +0 -3
- package/dist/app/assets/index.es7-OgxBdVPl.js +0 -1
- /package/dist/app/assets/{index.es299-CG6Dc4jp.js → index.es300-CG6Dc4jp.js} +0 -0
- /package/dist/app/assets/{index.es307-DsBKuouk.js → index.es308-DsBKuouk.js} +0 -0
- /package/dist/app/assets/{index.es308-D_z4Izcz.js → index.es309-D_z4Izcz.js} +0 -0
- /package/dist/app/assets/{index.es309-727ZlQH0.js → index.es310-727ZlQH0.js} +0 -0
- /package/dist/app/assets/{index.es312-Dn00JSTd.js → index.es313-Dn00JSTd.js} +0 -0
- /package/dist/app/assets/{index.es313-COJ4H7py.js → index.es314-COJ4H7py.js} +0 -0
- /package/dist/app/assets/{index.es315-Bu5BbsvL.js → index.es316-Bu5BbsvL.js} +0 -0
- /package/dist/app/assets/{index.es316-7O62HKoU.js → index.es317-7O62HKoU.js} +0 -0
- /package/dist/app/assets/{index.es317-BPT9niGB.js → index.es318-BPT9niGB.js} +0 -0
- /package/dist/app/assets/{index.es318-Dhn9LcZ4.js → index.es319-Dhn9LcZ4.js} +0 -0
- /package/dist/app/assets/{index.es320-eg146-Ew.js → index.es321-eg146-Ew.js} +0 -0
- /package/dist/app/assets/{index.es321-Du268qiB.js → index.es322-Du268qiB.js} +0 -0
- /package/dist/app/assets/{index.es322-fje9CFhw.js → index.es323-fje9CFhw.js} +0 -0
- /package/dist/app/assets/{index.es323-BwXTMy5W.js → index.es324-BwXTMy5W.js} +0 -0
- /package/dist/app/assets/{index.es324-3xVqZejG.js → index.es325-3xVqZejG.js} +0 -0
- /package/dist/app/assets/{index.es325-xW4inM5L.js → index.es326-xW4inM5L.js} +0 -0
- /package/dist/app/assets/{index.es326-DHo0CJ0O.js → index.es327-DHo0CJ0O.js} +0 -0
- /package/dist/app/assets/{index.es329-C3t2pwGQ.js → index.es330-C3t2pwGQ.js} +0 -0
- /package/dist/app/assets/{index.es330-DNquZEk8.js → index.es331-DNquZEk8.js} +0 -0
- /package/dist/app/assets/{index.es332-BHOwM8T6.js → index.es333-BHOwM8T6.js} +0 -0
- /package/dist/app/assets/{index.es333-DxSadP1t.js → index.es334-DxSadP1t.js} +0 -0
- /package/dist/app/assets/{index.es334-DbXoA79R.js → index.es335-DbXoA79R.js} +0 -0
- /package/dist/app/assets/{index.es336-Bp6g37R7.js → index.es337-Bp6g37R7.js} +0 -0
- /package/dist/app/assets/{index.es337-sacFqUAJ.js → index.es338-sacFqUAJ.js} +0 -0
- /package/dist/app/assets/{index.es339-C7gG9l05.js → index.es340-C7gG9l05.js} +0 -0
- /package/dist/app/assets/{index.es340-Dsg_Bt_b.js → index.es341-Dsg_Bt_b.js} +0 -0
- /package/dist/app/assets/{index.es343-D9R-vmeu.js → index.es344-D9R-vmeu.js} +0 -0
- /package/dist/app/assets/{index.es344-BPhBrDlE.js → index.es345-BPhBrDlE.js} +0 -0
- /package/dist/app/assets/{index.es345-C-TU5hQ_.js → index.es346-C-TU5hQ_.js} +0 -0
- /package/dist/app/assets/{index.es346-DtFQj3wx.js → index.es347-DtFQj3wx.js} +0 -0
- /package/dist/app/assets/{index.es347-m2LEI-9-.js → index.es348-m2LEI-9-.js} +0 -0
- /package/dist/app/assets/{index.es348-BoXegm-a.js → index.es349-BoXegm-a.js} +0 -0
- /package/dist/app/assets/{index.es349-B9wLZaAG.js → index.es350-B9wLZaAG.js} +0 -0
- /package/dist/app/assets/{index.es350-ClGRhx96.js → index.es351-ClGRhx96.js} +0 -0
- /package/dist/app/assets/{index.es351-DEIpsLCJ.js → index.es352-DEIpsLCJ.js} +0 -0
- /package/dist/app/assets/{index.es352-BgYniUM_.js → index.es353-BgYniUM_.js} +0 -0
- /package/dist/app/assets/{index.es353-COcR7UxN.js → index.es354-COcR7UxN.js} +0 -0
- /package/dist/app/assets/{index.es354-BjQB5zDj.js → index.es355-BjQB5zDj.js} +0 -0
- /package/dist/app/assets/{index.es355-C-nORZOA.js → index.es356-C-nORZOA.js} +0 -0
- /package/dist/app/assets/{index.es359-BX77sIaO.js → index.es360-BX77sIaO.js} +0 -0
- /package/dist/app/assets/{index.es361-B-DoSBHF.js → index.es362-B-DoSBHF.js} +0 -0
- /package/dist/app/assets/{index.es362-bCA53EVm.js → index.es363-bCA53EVm.js} +0 -0
- /package/dist/app/assets/{index.es363-w-ucz2PV.js → index.es364-w-ucz2PV.js} +0 -0
- /package/dist/app/assets/{index.es364-Dayu4EKP.js → index.es365-Dayu4EKP.js} +0 -0
- /package/dist/app/assets/{index.es366-DKXYxT9g.js → index.es367-DKXYxT9g.js} +0 -0
- /package/dist/app/assets/{index.es369-DfxzS6Rs.js → index.es370-DfxzS6Rs.js} +0 -0
- /package/dist/app/assets/{index.es370-SKMF96pI.js → index.es371-SKMF96pI.js} +0 -0
- /package/dist/app/assets/{index.es371-ajMbGru0.js → index.es372-ajMbGru0.js} +0 -0
- /package/dist/app/assets/{index.es372--30QC5Em.js → index.es373--30QC5Em.js} +0 -0
- /package/dist/app/assets/{index.es375-B430Bg39.js → index.es376-B430Bg39.js} +0 -0
- /package/dist/app/assets/{index.es379-CM8KxXT1.js → index.es380-CM8KxXT1.js} +0 -0
- /package/dist/app/assets/{index.es380-B1SYOhNW.js → index.es381-B1SYOhNW.js} +0 -0
- /package/dist/app/assets/{index.es382-DkBy-JyN.js → index.es383-DkBy-JyN.js} +0 -0
- /package/dist/app/assets/{index.es386-BILxekzW.js → index.es387-BILxekzW.js} +0 -0
- /package/dist/app/assets/{index.es387-C5wWYbrZ.js → index.es388-C5wWYbrZ.js} +0 -0
- /package/dist/app/assets/{index.es388-HzYwdGDm.js → index.es389-HzYwdGDm.js} +0 -0
- /package/dist/app/assets/{index.es389-T-Tgc4AT.js → index.es390-T-Tgc4AT.js} +0 -0
- /package/dist/app/assets/{index.es390-ifBTmRxC.js → index.es391-ifBTmRxC.js} +0 -0
- /package/dist/app/assets/{index.es395-BMj5Y0dO.js → index.es396-BMj5Y0dO.js} +0 -0
- /package/dist/app/assets/{index.es397-BjABl1g7.js → index.es398-BjABl1g7.js} +0 -0
- /package/dist/app/assets/{index.es398-xI-RfyKK.js → index.es399-xI-RfyKK.js} +0 -0
- /package/dist/app/assets/{index.es399-ySlJ1b_l.js → index.es400-ySlJ1b_l.js} +0 -0
- /package/dist/app/assets/{index.es402-BQoSv7ci.js → index.es403-BQoSv7ci.js} +0 -0
- /package/dist/app/assets/{index.es403-w8dY5SsB.js → index.es404-w8dY5SsB.js} +0 -0
- /package/dist/app/assets/{index.es404-TU54ms6u.js → index.es405-TU54ms6u.js} +0 -0
- /package/dist/app/assets/{index.es405-DREVFZK8.js → index.es406-DREVFZK8.js} +0 -0
- /package/dist/app/assets/{index.es406-BfivnA6A.js → index.es407-BfivnA6A.js} +0 -0
- /package/dist/app/assets/{index.es407-P4WzXJd0.js → index.es408-P4WzXJd0.js} +0 -0
- /package/dist/app/assets/{index.es408-BAng5TT0.js → index.es409-BAng5TT0.js} +0 -0
- /package/dist/app/assets/{index.es410-B5lbUyaz.js → index.es411-B5lbUyaz.js} +0 -0
- /package/dist/app/assets/{index.es411-mebxcVVE.js → index.es412-mebxcVVE.js} +0 -0
- /package/dist/app/assets/{index.es413-XBlWyCtg.js → index.es414-XBlWyCtg.js} +0 -0
- /package/dist/app/assets/{index.es414-BfCpw3nA.js → index.es415-BfCpw3nA.js} +0 -0
- /package/dist/app/assets/{index.es416-Cc5clBb7.js → index.es417-Cc5clBb7.js} +0 -0
- /package/dist/app/assets/{index.es417-IuBKFhSY.js → index.es418-IuBKFhSY.js} +0 -0
- /package/dist/app/assets/{index.es419-Du5NY7AG.js → index.es420-Du5NY7AG.js} +0 -0
- /package/dist/app/assets/{index.es420-Bvotw-X0.js → index.es421-Bvotw-X0.js} +0 -0
- /package/dist/app/assets/{index.es421-UIAJJxZW.js → index.es422-UIAJJxZW.js} +0 -0
- /package/dist/app/assets/{index.es423-D9-PGadD.js → index.es424-D9-PGadD.js} +0 -0
- /package/dist/app/assets/{index.es425-sdHcTMYB.js → index.es426-sdHcTMYB.js} +0 -0
- /package/dist/app/assets/{index.es426-Ci6OQyBP.js → index.es427-Ci6OQyBP.js} +0 -0
- /package/dist/app/assets/{index.es427-BC5c_5Pe.js → index.es428-BC5c_5Pe.js} +0 -0
- /package/dist/app/assets/{index.es428-Tz6hzZYG.js → index.es429-Tz6hzZYG.js} +0 -0
- /package/dist/app/assets/{index.es429-DB_GagMm.js → index.es430-DB_GagMm.js} +0 -0
- /package/dist/app/assets/{index.es430-DLbgOhZU.js → index.es431-DLbgOhZU.js} +0 -0
- /package/dist/app/assets/{index.es431-B0XVJmRM.js → index.es432-B0XVJmRM.js} +0 -0
- /package/dist/app/assets/{index.es434-shcSOmrb.js → index.es435-shcSOmrb.js} +0 -0
- /package/dist/app/assets/{index.es435-D4Tzg5kh.js → index.es436-D4Tzg5kh.js} +0 -0
- /package/dist/app/assets/{index.es436-Deuh7S70.js → index.es437-Deuh7S70.js} +0 -0
- /package/dist/app/assets/{index.es437-BUEGK8hf.js → index.es438-BUEGK8hf.js} +0 -0
- /package/dist/app/assets/{index.es438-BNioltXt.js → index.es439-BNioltXt.js} +0 -0
- /package/dist/app/assets/{index.es439-JqZropPD.js → index.es440-JqZropPD.js} +0 -0
- /package/dist/app/assets/{index.es442-LKU2TuZ1.js → index.es443-LKU2TuZ1.js} +0 -0
- /package/dist/app/assets/{index.es443-BFLt1xDp.js → index.es444-BFLt1xDp.js} +0 -0
- /package/dist/app/assets/{index.es444-DKykz6zU.js → index.es445-DKykz6zU.js} +0 -0
- /package/dist/app/assets/{index.es445-B3ZDOciz.js → index.es446-B3ZDOciz.js} +0 -0
- /package/dist/app/assets/{index.es446-CSHBycmS.js → index.es447-CSHBycmS.js} +0 -0
- /package/dist/app/assets/{index.es447-BIEUsx6d.js → index.es448-BIEUsx6d.js} +0 -0
- /package/dist/app/assets/{index.es448-B48N-Iqd.js → index.es449-B48N-Iqd.js} +0 -0
- /package/dist/app/assets/{index.es449-BY-TUvya.js → index.es450-BY-TUvya.js} +0 -0
- /package/dist/app/assets/{index.es450-zocC4JxJ.js → index.es451-zocC4JxJ.js} +0 -0
- /package/dist/app/assets/{index.es452-Cza_XSSt.js → index.es453-Cza_XSSt.js} +0 -0
- /package/dist/app/assets/{index.es453-Bg-kzb6g.js → index.es454-Bg-kzb6g.js} +0 -0
- /package/dist/app/assets/{index.es454-DhUJRlN_.js → index.es455-DhUJRlN_.js} +0 -0
- /package/dist/app/assets/{index.es456-C8lEn-DE.js → index.es457-C8lEn-DE.js} +0 -0
- /package/dist/app/assets/{index.es457-DhMKtDLN.js → index.es458-DhMKtDLN.js} +0 -0
- /package/dist/app/assets/{index.es458-CwjWoCRV.js → index.es459-CwjWoCRV.js} +0 -0
- /package/dist/app/assets/{index.es459-CzouJOBO.js → index.es460-CzouJOBO.js} +0 -0
- /package/dist/app/assets/{index.es460-B1bQXN8T.js → index.es461-B1bQXN8T.js} +0 -0
- /package/dist/app/assets/{index.es462-5LuOXUq_.js → index.es463-5LuOXUq_.js} +0 -0
- /package/dist/app/assets/{index.es463-DWJ3fJO_.js → index.es464-DWJ3fJO_.js} +0 -0
- /package/dist/app/assets/{index.es464-DJlmqQ1C.js → index.es465-DJlmqQ1C.js} +0 -0
- /package/dist/app/assets/{index.es465-QhoSD0DR.js → index.es466-QhoSD0DR.js} +0 -0
- /package/dist/app/assets/{index.es468-Be6lgOlo.js → index.es469-Be6lgOlo.js} +0 -0
- /package/dist/app/assets/{index.es470-BJ4Li9vH.js → index.es471-BJ4Li9vH.js} +0 -0
- /package/dist/app/assets/{index.es471-DQVVAn-B.js → index.es472-DQVVAn-B.js} +0 -0
- /package/dist/app/assets/{index.es472-BJGe-b2p.js → index.es473-BJGe-b2p.js} +0 -0
- /package/dist/app/assets/{index.es474-BLhTXw86.js → index.es475-BLhTXw86.js} +0 -0
- /package/dist/app/assets/{index.es476-atvbtKCR.js → index.es477-atvbtKCR.js} +0 -0
- /package/dist/app/assets/{index.es478-DkLiglaE.js → index.es479-DkLiglaE.js} +0 -0
- /package/dist/app/assets/{index.es479-C1w2a3ep.js → index.es480-C1w2a3ep.js} +0 -0
- /package/dist/app/assets/{index.es482-Cf8iN4DR.js → index.es483-Cf8iN4DR.js} +0 -0
- /package/dist/app/assets/{index.es483-COK4E0Yg.js → index.es484-COK4E0Yg.js} +0 -0
- /package/dist/app/assets/{index.es484-BknIz3MU.js → index.es485-BknIz3MU.js} +0 -0
- /package/dist/app/assets/{index.es486-BeQkCIfX.js → index.es487-BeQkCIfX.js} +0 -0
- /package/dist/app/assets/{index.es488-BSxZ-RaX.js → index.es489-BSxZ-RaX.js} +0 -0
- /package/dist/app/assets/{index.es489-C7L56vO4.js → index.es490-C7L56vO4.js} +0 -0
- /package/dist/app/assets/{index.es490-CUnW07Te.js → index.es491-CUnW07Te.js} +0 -0
- /package/dist/app/assets/{index.es491-C1XDQQGZ.js → index.es492-C1XDQQGZ.js} +0 -0
- /package/dist/app/assets/{index.es492-CQjiPCtT.js → index.es493-CQjiPCtT.js} +0 -0
- /package/dist/app/assets/{index.es493-DQ1-QYvQ.js → index.es494-DQ1-QYvQ.js} +0 -0
- /package/dist/app/assets/{index.es495-BbSNqyBO.js → index.es496-BbSNqyBO.js} +0 -0
- /package/dist/app/assets/{index.es497-CB2ApiWb.js → index.es498-CB2ApiWb.js} +0 -0
- /package/dist/app/assets/{index.es499-B_m7g4N7.js → index.es500-B_m7g4N7.js} +0 -0
- /package/dist/app/assets/{index.es500-B6W0miNI.js → index.es501-B6W0miNI.js} +0 -0
- /package/dist/app/assets/{index.es501-BMR_PYu6.js → index.es502-BMR_PYu6.js} +0 -0
- /package/dist/app/assets/{index.es503-Dj6nwHGl.js → index.es504-Dj6nwHGl.js} +0 -0
- /package/dist/app/assets/{index.es504-BpWG_bgh.js → index.es505-BpWG_bgh.js} +0 -0
- /package/dist/app/assets/{index.es505-BVUVsWT6.js → index.es506-BVUVsWT6.js} +0 -0
- /package/dist/app/assets/{index.es506-CAQ2eGtk.js → index.es507-CAQ2eGtk.js} +0 -0
- /package/dist/app/assets/{index.es507-BFOHcciG.js → index.es508-BFOHcciG.js} +0 -0
- /package/dist/app/assets/{index.es508-CdO5JTpU.js → index.es509-CdO5JTpU.js} +0 -0
- /package/dist/app/assets/{index.es509-CJaU5se_.js → index.es510-CJaU5se_.js} +0 -0
- /package/dist/app/assets/{index.es510-DYoNaHQp.js → index.es511-DYoNaHQp.js} +0 -0
- /package/dist/app/assets/{index.es511-m4uW47V2.js → index.es512-m4uW47V2.js} +0 -0
- /package/dist/app/assets/{index.es514-nyqBNV6O.js → index.es515-nyqBNV6O.js} +0 -0
- /package/dist/app/assets/{index.es515-C6j12Q_x.js → index.es516-C6j12Q_x.js} +0 -0
- /package/dist/app/assets/{index.es516-7A4Fjokl.js → index.es517-7A4Fjokl.js} +0 -0
- /package/dist/app/assets/{index.es517-CB0Krxn9.js → index.es518-CB0Krxn9.js} +0 -0
- /package/dist/app/assets/{index.es518-DCE3LsBG.js → index.es519-DCE3LsBG.js} +0 -0
- /package/dist/app/assets/{index.es519-C3FkfJm5.js → index.es520-C3FkfJm5.js} +0 -0
- /package/dist/app/assets/{index.es522-CVw76BM1.js → index.es523-CVw76BM1.js} +0 -0
- /package/dist/app/assets/{index.es523-HnGAYVZD.js → index.es524-HnGAYVZD.js} +0 -0
- /package/dist/app/assets/{index.es524-BVz_zdnA.js → index.es525-BVz_zdnA.js} +0 -0
- /package/dist/app/assets/{index.es525-C3khCPGq.js → index.es526-C3khCPGq.js} +0 -0
- /package/dist/app/assets/{index.es526-D-2ljcwZ.js → index.es527-D-2ljcwZ.js} +0 -0
- /package/dist/app/assets/{index.es527-Cv9koXgw.js → index.es528-Cv9koXgw.js} +0 -0
- /package/dist/app/assets/{index.es528-CD_QflpE.js → index.es529-CD_QflpE.js} +0 -0
- /package/dist/app/assets/{index.es529-DRW-0cLl.js → index.es530-DRW-0cLl.js} +0 -0
- /package/dist/app/assets/{index.es530-C-_shW-Y.js → index.es531-C-_shW-Y.js} +0 -0
- /package/dist/app/assets/{index.es531-LGGdnPYs.js → index.es532-LGGdnPYs.js} +0 -0
- /package/dist/app/assets/{index.es532-C3mMm8J8.js → index.es533-C3mMm8J8.js} +0 -0
- /package/dist/app/assets/{index.es533-BzJJZx-M.js → index.es534-BzJJZx-M.js} +0 -0
- /package/dist/app/assets/{index.es534-BXkSAIEj.js → index.es535-BXkSAIEj.js} +0 -0
- /package/dist/app/assets/{index.es535-BgDCqdQA.js → index.es536-BgDCqdQA.js} +0 -0
- /package/dist/app/assets/{index.es536-C8M2exoo.js → index.es537-C8M2exoo.js} +0 -0
- /package/dist/app/assets/{index.es537-DHJKELXO.js → index.es538-DHJKELXO.js} +0 -0
- /package/dist/app/assets/{index.es538-Cuk6v7N8.js → index.es539-Cuk6v7N8.js} +0 -0
- /package/dist/app/assets/{index.es539-DH5Ifo-i.js → index.es540-DH5Ifo-i.js} +0 -0
- /package/dist/app/assets/{index.es540-E3gJ1_iC.js → index.es541-E3gJ1_iC.js} +0 -0
- /package/dist/app/assets/{index.es541-DAi9KRSo.js → index.es542-DAi9KRSo.js} +0 -0
- /package/dist/app/assets/{index.es542-D7oLnXFd.js → index.es543-D7oLnXFd.js} +0 -0
- /package/dist/app/assets/{index.es543-BfjtVDDH.js → index.es544-BfjtVDDH.js} +0 -0
- /package/dist/app/assets/{index.es544-DnULxvSX.js → index.es545-DnULxvSX.js} +0 -0
- /package/dist/app/assets/{index.es545-CkXjmgJE.js → index.es546-CkXjmgJE.js} +0 -0
- /package/dist/app/assets/{index.es546-CfQXZHmo.js → index.es547-CfQXZHmo.js} +0 -0
- /package/dist/app/assets/{index.es547-DWedfzmr.js → index.es548-DWedfzmr.js} +0 -0
- /package/dist/app/assets/{index.es548-DUszq2jm.js → index.es549-DUszq2jm.js} +0 -0
- /package/dist/app/assets/{index.es549-B7mTdjB0.js → index.es550-B7mTdjB0.js} +0 -0
- /package/dist/app/assets/{index.es550-D5KoaKCx.js → index.es551-D5KoaKCx.js} +0 -0
- /package/dist/app/assets/{index.es551-BfHTSMKl.js → index.es552-BfHTSMKl.js} +0 -0
- /package/dist/app/assets/{index.es552-B0m2ddpp.js → index.es553-B0m2ddpp.js} +0 -0
- /package/dist/app/assets/{index.es553-CyktbL80.js → index.es554-CyktbL80.js} +0 -0
- /package/dist/app/assets/{index.es554-Csfq5Kiy.js → index.es555-Csfq5Kiy.js} +0 -0
- /package/dist/app/assets/{index.es555-CafNBF8u.js → index.es556-CafNBF8u.js} +0 -0
- /package/dist/app/assets/{index.es556-CTRr51gU.js → index.es557-CTRr51gU.js} +0 -0
- /package/dist/app/assets/{index.es557-D4h5O-jR.js → index.es558-D4h5O-jR.js} +0 -0
- /package/dist/app/assets/{index.es558-C39BiMTA.js → index.es559-C39BiMTA.js} +0 -0
- /package/dist/app/assets/{index.es559-Ddv68eIx.js → index.es560-Ddv68eIx.js} +0 -0
- /package/dist/app/assets/{index.es560-GBQ2dnAY.js → index.es561-GBQ2dnAY.js} +0 -0
- /package/dist/app/assets/{index.es561-PoHY5YXO.js → index.es562-PoHY5YXO.js} +0 -0
- /package/dist/app/assets/{index.es562-3e1v2bzS.js → index.es563-3e1v2bzS.js} +0 -0
- /package/dist/app/assets/{index.es563-CS3Unz2-.js → index.es564-CS3Unz2-.js} +0 -0
- /package/dist/app/assets/{index.es564-bN70gL4F.js → index.es565-bN70gL4F.js} +0 -0
- /package/dist/app/assets/{index.es565-CmCqftbK.js → index.es566-CmCqftbK.js} +0 -0
- /package/dist/app/assets/{index.es566-Ds-gbosJ.js → index.es567-Ds-gbosJ.js} +0 -0
- /package/dist/app/assets/{index.es567-CjDtw9vr.js → index.es568-CjDtw9vr.js} +0 -0
- /package/dist/app/assets/{index.es568-BthQWCQV.js → index.es569-BthQWCQV.js} +0 -0
- /package/dist/app/assets/{index.es569-DqwNpetd.js → index.es570-DqwNpetd.js} +0 -0
- /package/dist/app/assets/{index.es570-Bw305WKR.js → index.es571-Bw305WKR.js} +0 -0
- /package/dist/app/assets/{index.es571-DXbdFlpD.js → index.es572-DXbdFlpD.js} +0 -0
- /package/dist/app/assets/{index.es572-L9t79GZl.js → index.es573-L9t79GZl.js} +0 -0
- /package/dist/app/assets/{index.es573-CbfX1IO0.js → index.es574-CbfX1IO0.js} +0 -0
- /package/dist/app/assets/{index.es574-DBQeEorK.js → index.es575-DBQeEorK.js} +0 -0
- /package/dist/app/assets/{index.es575-BEBZ7ncR.js → index.es576-BEBZ7ncR.js} +0 -0
- /package/dist/app/assets/{index.es576-Bkuqu6BP.js → index.es577-Bkuqu6BP.js} +0 -0
- /package/dist/app/assets/{index.es577-D0r3Knsf.js → index.es578-D0r3Knsf.js} +0 -0
- /package/dist/app/assets/{index.es578-CVO1_9PV.js → index.es579-CVO1_9PV.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./index.es391-BOBiTPht.js";import n from"./index.es384-DBjLFE2E.js";import t from"./index.es520-ZlB1VPRK.js";import a from"./index.es483-COK4E0Yg.js";import r from"./index.es381-DdV8KTBv.js";import i from"./index.es344-BPhBrDlE.js";import u from"./index.es341-C_6PzCoq.js";import c from"./index.es329-C3t2pwGQ.js";import o from"./index.es399-ySlJ1b_l.js";import s from"./index.es476-atvbtKCR.js";import d from"./index.es418-DwuHSZfi.js";import m from"./index.es522-CVw76BM1.js";import"./index.es398-xI-RfyKK.js";import"./index.es503-Dj6nwHGl.js";import"./index.es408-BAng5TT0.js";import"./index.es500-B6W0miNI.js";import"./index.es463-DWJ3fJO_.js";import"./index.es378-mEifvHi6.js";const b=Object.freeze(JSON.parse(`{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"comment":"class Namespace::ClassName < OtherNamespace::OtherClassName","match":"\\b(class)\\\\s+(([a-zA-Z0-9_]+)((::)[a-zA-Z0-9_]+)*)\\\\s*((<)\\\\s*(([a-zA-Z0-9_]+)((::)[a-zA-Z0-9_]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\b(module)\\\\s+(([a-zA-Z0-9_]+)((::)[a-zA-Z0-9_]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"comment":"else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.","match":"(?<!\\\\.)\\\\belse(\\\\s)+if\\\\b","name":"invalid.deprecated.ruby"},{"captures":{"1":{"name":"variable.ruby"},"3":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable and/or assignment","match":"^\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((&&|\\\\|\\\\|)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"5":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable and/or assignment in a condition","match":"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((&&|\\\\|\\\\|)=)"},{"captures":{"1":{"name":"variable.ruby"},"3":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable operation assignment (+=, -=, *=, /=)","match":"^\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((\\\\+|\\\\*|-|\\\\/|%|\\\\*\\\\*|&|\\\\||\\\\^|<<|>>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"5":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable operation assignment in a condition","match":"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((\\\\+|\\\\*|-|\\\\/|%|\\\\*\\\\*|&|\\\\||\\\\^|<<|>>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"comment":"A local variable assignment","match":"^\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*=[^=>]"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"comment":"A local variable assignment in a condition","match":"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*=[^=>]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"comment":"symbols as hash key (1.9 syntax)","match":"(?>[a-zA-Z_]\\\\w*(?>[?!])?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"comment":"symbols as hash key (1.8 syntax)","match":"(?<!:)(:)(?>[a-zA-Z_]\\\\w*(?>[?!])?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"comment":"everything being a reserved word, not a value and needing a 'end' is a..","match":"(?<!\\\\.)\\\\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\\\\b(?![?!])","name":"keyword.control.ruby"},{"comment":"contextual smart pair support for block parameters","match":"(?<!\\\\.)\\\\bdo\\\\b","name":"keyword.control.start-block.ruby"},{"comment":"contextual smart pair support","match":"(?<={)(\\\\s+)","name":"meta.syntax.ruby.start-block"},{"match":"(?<!\\\\.)\\\\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\\\\b(?![?!])|\\\\bdefined\\\\?|\\\\b(block_given|iterator)\\\\?","name":"keyword.control.pseudo-method.ruby"},{"match":"\\\\bnil\\\\b(?![?!])","name":"constant.language.nil.ruby"},{"match":"\\\\b(true|false)\\\\b(?![?!])","name":"constant.language.boolean.ruby"},{"match":"\\\\b(__(FILE|LINE)__)\\\\b(?![?!])","name":"variable.language.ruby"},{"match":"\\\\bself\\\\b(?![?!])","name":"variable.language.self.ruby"},{"comment":" everything being a method but having a special function is a..","match":"\\\\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\\\\b(?![?!])","name":"keyword.other.special-method.ruby"},{"begin":"\\\\b(?<!\\\\.|::)(require|require_relative)\\\\b(?![?!])","captures":{"1":{"name":"keyword.other.special-method.ruby"}},"end":"$|(?=#|})","name":"meta.require.ruby","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(@@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(\\\\$)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.global.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(\\\\$)(!|@|&|\`|'|\\\\+|\\\\d+|~|=|/|\\\\\\\\|,|;|\\\\.|<|>|_|\\\\*|\\\\$|\\\\?|:|\\"|-[0adFiIlpv])","name":"variable.other.readwrite.global.pre-defined.ruby"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.ruby"}},"end":"]","name":"meta.environment-variable.ruby","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z]\\\\w*(?=((\\\\.|::)[A-Za-z]|\\\\[))","name":"support.class.ruby"},{"match":"\\\\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|print|printf|proc|putc|puts|rand|readline|readlines|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\\\\b(?![?!])|autoload\\\\?|exit!)","name":"support.function.kernel.ruby"},{"match":"\\\\b[_A-Z]\\\\w*\\\\b","name":"variable.other.constant.ruby"},{"begin":"(->)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"comment":"Lambda parameters.","end":"\\\\)","patterns":[{"begin":"(?=[&*_a-zA-Z])","end":"(?=[,)])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"comment":"The method pattern comes from the symbol pattern. See there for an explanation.","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[&*_a-zA-Z])","end":"(?=[,)])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[ \\\\t](?=[ \\\\t]*[^\\\\s#;])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"comment":"same as the previous rule, but without parentheses around the arguments","end":"(?=;)|(?<=[\\\\w\\\\])}\`'\\"!?])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[&*_a-zA-Z])","end":"(?=,|;|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"comment":" the optional name is just to catch the def also without a method-name","match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b([\\\\d](?>_?\\\\d)*(\\\\.(?![^[:space:][:digit:]])(?>_?\\\\d)*)?([eE][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[xX]\\\\h(?>_?\\\\h)*|[oO]?[0-7](?>_?[0-7])*|[bB][01](?>_?[01])*|[dD]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"comment":"symbol literal with '' delimiter","end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"comment":"symbol literal with \\"\\" delimiter","end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"comment":"Needs higher precedence than regular expressions.","match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.ruby"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"comment":"string literal with '' delimiter","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.single.ruby","patterns":[{"match":"\\\\\\\\'|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"comment":"string literal with interpolation and \\"\\" delimiter","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.double.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<!\\\\.)\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"comment":"execute string (allows for interpolation)","end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<![\\\\w)])((/))(?![?*+])(?=(?:\\\\\\\\/|[^/])*+/[eimnosux]*\\\\s*(?:[)\\\\]}#.,?:]|\\\\|\\\\||&&|<=>|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and)|$)","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"comment":"regular expression literal with interpolation","contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx]([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^\\\\w\\\\s=])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"comment":"symbols","match":"(?<!:)(:)(?>[$a-zA-Z_]\\\\w*(?>[?!]|=(?![>=]))?|===?|<=>|>[>=]?|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[a-zA-Z_]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"comment":"multiline comments","end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[ \\\\t]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"comment":"\\n\\t\\t\\tmatches questionmark-letters.\\n\\n\\t\\t\\texamples (1st alternation = hex):\\n\\t\\t\\t?\\\\x1 ?\\\\x61\\n\\n\\t\\t\\texamples (2nd alternation = octal):\\n\\t\\t\\t?\\\\0 ?\\\\07 ?\\\\017\\n\\n\\t\\t\\texamples (3rd alternation = escaped):\\n\\t\\t\\t?\\\\n ?\\\\b\\n\\n\\t\\t\\texamples (4th alternation = meta-ctrl):\\n\\t\\t\\t?\\\\C-a ?\\\\M-a ?\\\\C-\\\\M-\\\\C-\\\\M-a\\n\\n\\t\\t\\texamples (4th alternation = normal):\\n\\t\\t\\t?a ?A ?0 \\n\\t\\t\\t?* ?\\" ?( \\n\\t\\t\\t?. ?#\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\tthe negative lookbehind prevents against matching\\n\\t\\t\\tp(42.tainted?)\\n\\t\\t\\t","match":"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|0[0-7]{0,2}(?![0-7])\\\\b|[^x0MC])|(\\\\\\\\[MC]-)+\\\\w|[^\\\\s\\\\\\\\])","name":"constant.numeric.ruby"},{"begin":"^__END__\\\\n","captures":{"0":{"name":"string.unquoted.program-block.ruby"}},"comment":"__END__ marker","contentName":"text.plain","end":"(?=not)impossible","patterns":[{"begin":"(?=<?xml|<(?i:html\\\\b)|!DOCTYPE (?i:html\\\\b))","end":"(?=not)impossible","name":"text.html.embedded.ruby","patterns":[{"include":"text.html.basic"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","comment":"Heredoc with embedded HTML","end":"(?!\\\\G)","name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.html","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","comment":"Heredoc with embedded HAML","end":"(?!\\\\G)","name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.haml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","comment":"Heredoc with embedded XML","end":"(?!\\\\G)","name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.xml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","comment":"Heredoc with embedded SQL","end":"(?!\\\\G)","name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.sql","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:GRAPHQL|GQL))\\\\b\\\\1))","comment":"Heredoc with embedded GraphQL","end":"(?!\\\\G)","name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:GRAPHQL|GQL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.graphql","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","comment":"Heredoc with embedded CSS","end":"(?!\\\\G)","name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.css","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","comment":"Heredoc with embedded C++","end":"(?!\\\\G)","name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.cpp","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","comment":"Heredoc with embedded C","end":"(?!\\\\G)","name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.c","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:JS|JAVASCRIPT))\\\\b\\\\1))","comment":"Heredoc with embedded Javascript","end":"(?!\\\\G)","name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:JS|JAVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.js","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","comment":"Heredoc with embedded jQuery Javascript","end":"(?!\\\\G)","name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.js.jquery","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:SH|SHELL))\\\\b\\\\1))","comment":"Heredoc with embedded Shell","end":"(?!\\\\G)","name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:SH|SHELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.shell","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","comment":"Heredoc with embedded Lua","end":"(?!\\\\G)","name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.lua","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","comment":"Heredoc with embedded Ruby","end":"(?!\\\\G)","name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.ruby","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:YAML|YML))\\\\b\\\\1))","comment":"Heredoc with embedded YAML","end":"(?!\\\\G)","name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:YAML|YML))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.yaml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","comment":"Heredoc with embedded Slim","end":"(?!\\\\G)","name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.slim","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}]}]},{"begin":"(?>=\\\\s*<<([\\"'\`]?)(\\\\w+)\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"^\\\\2$","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]([\\"'\`]?)(\\\\w+)\\\\3,\\\\s?)*<<[-~]([\\"'\`]?)(\\\\w+)\\\\5))(.*)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"comment":"heredoc with multiple inputs and indented terminator","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<={|{\\\\s|[^A-Za-z0-9_:@$]do|^do|[^A-Za-z0-9_:@$]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","name":"meta.block.parameters.ruby","patterns":[{"begin":"(?![\\\\s,|(])","end":"(?=,|\\\\|\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"variable.other.block.ruby"},"3":{"name":"variable.other.block.unused.ruby variable.other.constant.ruby"}},"match":"\\\\G([&*]?)([a-zA-Z][\\\\w_]*)|(_[\\\\w_]*)"}]},{"match":",","name":"punctuation.separator.variable.ruby"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\\\t])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?<!\\\\.)\\\\b(and|not|or)\\\\b(?![?!])","name":"keyword.operator.logical.ruby"},{"match":"(?<=^|[ \\\\t!])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.ruby"},{"captures":{"1":{"name":"keyword.operator.logical.ruby"}},"comment":"Safe navigation operator","match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"(%|&|\\\\*\\\\*|\\\\*|\\\\+|-|/)","name":"keyword.operator.arithmetic.ruby"},{"match":"=","name":"keyword.operator.assignment.ruby"},{"match":"\\\\||~|>>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"comment":"Mark as namespace separator if double colons followed by capital letter","match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"comment":"Mark as method separator if double colons not followed by capital letter","match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"comment":"Must come after method and constant separators to prefer double colons","match":":","name":"punctuation.separator.other.ruby"},{"match":"{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"\\\\(|\\\\)","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^\\\\.]\\\\.|::)(?=[a-zA-Z][a-zA-Z0-9_!?]*[^a-zA-Z0-9_!?])","end":"(?<=[a-zA-Z0-9_!?])(?=[^a-zA-Z0-9_!?])","name":"meta.function-call.ruby","patterns":[{"match":"([a-zA-Z][a-zA-Z0-9_!?]*)(?=[^a-zA-Z0-9_!?])","name":"entity.name.function.ruby"}]},{"begin":"([a-zA-Z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[\\\\da-fA-F]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#\\\\$)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.global.ruby"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([_a-zA-Z]\\\\w*[?!]?(:))|([_a-zA-Z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"({)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[[a-zA-Z0-9,. \\\\t?!-][^\\\\x{00}-\\\\x{7F}]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"comment":"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.","end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"comment":"For YARD tags that follow the tag-comment pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"comment":"For YARD directives","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([a-z_]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"comment":"separate rule for attribute and macro tags because name goes after []","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([a-z_]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"comment":"For YARD option tag that follow the tag-name-types-key-(value)-description pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([a-z_]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([a-z_]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"comment":"For YARD tags that follow the tag-name-types-description or tag-types-name-description pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"comment":"separate rule for @see because name could contain url","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"comment":"For YARD tags that are just the tag","match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"comment":"For YARD tags that follow the tag-types-comment pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}`)),L=[...e,...n,...t,...a,...r,...i,...u,...c,...o,...s,...d,...m,b];export{L as default};
|
|
1
|
+
import e from"./index.es392-CRHao7mg.js";import n from"./index.es385-CLF2pcju.js";import t from"./index.es521-B5F1bSbk.js";import a from"./index.es484-COK4E0Yg.js";import r from"./index.es382-DKIqkYbM.js";import i from"./index.es345-BPhBrDlE.js";import u from"./index.es342-D2Lnssjt.js";import c from"./index.es330-C3t2pwGQ.js";import o from"./index.es400-ySlJ1b_l.js";import s from"./index.es477-atvbtKCR.js";import d from"./index.es419-DltXKq7x.js";import m from"./index.es523-CVw76BM1.js";import"./index.es399-xI-RfyKK.js";import"./index.es504-Dj6nwHGl.js";import"./index.es409-BAng5TT0.js";import"./index.es501-B6W0miNI.js";import"./index.es464-DWJ3fJO_.js";import"./index.es379-BPm5p9Tu.js";const b=Object.freeze(JSON.parse(`{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"comment":"class Namespace::ClassName < OtherNamespace::OtherClassName","match":"\\b(class)\\\\s+(([a-zA-Z0-9_]+)((::)[a-zA-Z0-9_]+)*)\\\\s*((<)\\\\s*(([a-zA-Z0-9_]+)((::)[a-zA-Z0-9_]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\b(module)\\\\s+(([a-zA-Z0-9_]+)((::)[a-zA-Z0-9_]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"comment":"else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.","match":"(?<!\\\\.)\\\\belse(\\\\s)+if\\\\b","name":"invalid.deprecated.ruby"},{"captures":{"1":{"name":"variable.ruby"},"3":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable and/or assignment","match":"^\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((&&|\\\\|\\\\|)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"5":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable and/or assignment in a condition","match":"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((&&|\\\\|\\\\|)=)"},{"captures":{"1":{"name":"variable.ruby"},"3":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable operation assignment (+=, -=, *=, /=)","match":"^\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((\\\\+|\\\\*|-|\\\\/|%|\\\\*\\\\*|&|\\\\||\\\\^|<<|>>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"5":{"name":"keyword.operator.assignment.augmented.ruby"}},"comment":"A local variable operation assignment in a condition","match":"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*((\\\\+|\\\\*|-|\\\\/|%|\\\\*\\\\*|&|\\\\||\\\\^|<<|>>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"comment":"A local variable assignment","match":"^\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*=[^=>]"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"comment":"A local variable assignment in a condition","match":"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([A-Za-z0-9_])*)\\\\s*=[^=>]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"comment":"symbols as hash key (1.9 syntax)","match":"(?>[a-zA-Z_]\\\\w*(?>[?!])?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"comment":"symbols as hash key (1.8 syntax)","match":"(?<!:)(:)(?>[a-zA-Z_]\\\\w*(?>[?!])?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"comment":"everything being a reserved word, not a value and needing a 'end' is a..","match":"(?<!\\\\.)\\\\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\\\\b(?![?!])","name":"keyword.control.ruby"},{"comment":"contextual smart pair support for block parameters","match":"(?<!\\\\.)\\\\bdo\\\\b","name":"keyword.control.start-block.ruby"},{"comment":"contextual smart pair support","match":"(?<={)(\\\\s+)","name":"meta.syntax.ruby.start-block"},{"match":"(?<!\\\\.)\\\\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\\\\b(?![?!])|\\\\bdefined\\\\?|\\\\b(block_given|iterator)\\\\?","name":"keyword.control.pseudo-method.ruby"},{"match":"\\\\bnil\\\\b(?![?!])","name":"constant.language.nil.ruby"},{"match":"\\\\b(true|false)\\\\b(?![?!])","name":"constant.language.boolean.ruby"},{"match":"\\\\b(__(FILE|LINE)__)\\\\b(?![?!])","name":"variable.language.ruby"},{"match":"\\\\bself\\\\b(?![?!])","name":"variable.language.self.ruby"},{"comment":" everything being a method but having a special function is a..","match":"\\\\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\\\\b(?![?!])","name":"keyword.other.special-method.ruby"},{"begin":"\\\\b(?<!\\\\.|::)(require|require_relative)\\\\b(?![?!])","captures":{"1":{"name":"keyword.other.special-method.ruby"}},"end":"$|(?=#|})","name":"meta.require.ruby","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(@@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(\\\\$)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.global.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(\\\\$)(!|@|&|\`|'|\\\\+|\\\\d+|~|=|/|\\\\\\\\|,|;|\\\\.|<|>|_|\\\\*|\\\\$|\\\\?|:|\\"|-[0adFiIlpv])","name":"variable.other.readwrite.global.pre-defined.ruby"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.ruby"}},"end":"]","name":"meta.environment-variable.ruby","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z]\\\\w*(?=((\\\\.|::)[A-Za-z]|\\\\[))","name":"support.class.ruby"},{"match":"\\\\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|print|printf|proc|putc|puts|rand|readline|readlines|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\\\\b(?![?!])|autoload\\\\?|exit!)","name":"support.function.kernel.ruby"},{"match":"\\\\b[_A-Z]\\\\w*\\\\b","name":"variable.other.constant.ruby"},{"begin":"(->)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"comment":"Lambda parameters.","end":"\\\\)","patterns":[{"begin":"(?=[&*_a-zA-Z])","end":"(?=[,)])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"comment":"The method pattern comes from the symbol pattern. See there for an explanation.","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[&*_a-zA-Z])","end":"(?=[,)])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[ \\\\t](?=[ \\\\t]*[^\\\\s#;])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"comment":"same as the previous rule, but without parentheses around the arguments","end":"(?=;)|(?<=[\\\\w\\\\])}\`'\\"!?])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[&*_a-zA-Z])","end":"(?=,|;|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"comment":" the optional name is just to catch the def also without a method-name","match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b([\\\\d](?>_?\\\\d)*(\\\\.(?![^[:space:][:digit:]])(?>_?\\\\d)*)?([eE][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[xX]\\\\h(?>_?\\\\h)*|[oO]?[0-7](?>_?[0-7])*|[bB][01](?>_?[01])*|[dD]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"comment":"symbol literal with '' delimiter","end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"comment":"symbol literal with \\"\\" delimiter","end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"comment":"Needs higher precedence than regular expressions.","match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.ruby"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"comment":"string literal with '' delimiter","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.single.ruby","patterns":[{"match":"\\\\\\\\'|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"comment":"string literal with interpolation and \\"\\" delimiter","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.double.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<!\\\\.)\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"comment":"execute string (allows for interpolation)","end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<![\\\\w)])((/))(?![?*+])(?=(?:\\\\\\\\/|[^/])*+/[eimnosux]*\\\\s*(?:[)\\\\]}#.,?:]|\\\\|\\\\||&&|<=>|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and)|$)","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"comment":"regular expression literal with interpolation","contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx]([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^\\\\w\\\\s=])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\>|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\]|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\}|\\\\\\\\\\\\\\\\","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s([^\\\\w])","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"comment":"Cant be named because its not necessarily an escape.","match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"comment":"symbols","match":"(?<!:)(:)(?>[$a-zA-Z_]\\\\w*(?>[?!]|=(?![>=]))?|===?|<=>|>[>=]?|<[<=]?|[%&\`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[a-zA-Z_]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"comment":"multiline comments","end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[ \\\\t]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"comment":"\\n\\t\\t\\tmatches questionmark-letters.\\n\\n\\t\\t\\texamples (1st alternation = hex):\\n\\t\\t\\t?\\\\x1 ?\\\\x61\\n\\n\\t\\t\\texamples (2nd alternation = octal):\\n\\t\\t\\t?\\\\0 ?\\\\07 ?\\\\017\\n\\n\\t\\t\\texamples (3rd alternation = escaped):\\n\\t\\t\\t?\\\\n ?\\\\b\\n\\n\\t\\t\\texamples (4th alternation = meta-ctrl):\\n\\t\\t\\t?\\\\C-a ?\\\\M-a ?\\\\C-\\\\M-\\\\C-\\\\M-a\\n\\n\\t\\t\\texamples (4th alternation = normal):\\n\\t\\t\\t?a ?A ?0 \\n\\t\\t\\t?* ?\\" ?( \\n\\t\\t\\t?. ?#\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\tthe negative lookbehind prevents against matching\\n\\t\\t\\tp(42.tainted?)\\n\\t\\t\\t","match":"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|0[0-7]{0,2}(?![0-7])\\\\b|[^x0MC])|(\\\\\\\\[MC]-)+\\\\w|[^\\\\s\\\\\\\\])","name":"constant.numeric.ruby"},{"begin":"^__END__\\\\n","captures":{"0":{"name":"string.unquoted.program-block.ruby"}},"comment":"__END__ marker","contentName":"text.plain","end":"(?=not)impossible","patterns":[{"begin":"(?=<?xml|<(?i:html\\\\b)|!DOCTYPE (?i:html\\\\b))","end":"(?=not)impossible","name":"text.html.embedded.ruby","patterns":[{"include":"text.html.basic"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","comment":"Heredoc with embedded HTML","end":"(?!\\\\G)","name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.html","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","comment":"Heredoc with embedded HAML","end":"(?!\\\\G)","name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.haml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","comment":"Heredoc with embedded XML","end":"(?!\\\\G)","name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.xml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","comment":"Heredoc with embedded SQL","end":"(?!\\\\G)","name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.sql","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:GRAPHQL|GQL))\\\\b\\\\1))","comment":"Heredoc with embedded GraphQL","end":"(?!\\\\G)","name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:GRAPHQL|GQL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.graphql","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","comment":"Heredoc with embedded CSS","end":"(?!\\\\G)","name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.css","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","comment":"Heredoc with embedded C++","end":"(?!\\\\G)","name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.cpp","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","comment":"Heredoc with embedded C","end":"(?!\\\\G)","name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.c","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:JS|JAVASCRIPT))\\\\b\\\\1))","comment":"Heredoc with embedded Javascript","end":"(?!\\\\G)","name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:JS|JAVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.js","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","comment":"Heredoc with embedded jQuery Javascript","end":"(?!\\\\G)","name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.js.jquery","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:SH|SHELL))\\\\b\\\\1))","comment":"Heredoc with embedded Shell","end":"(?!\\\\G)","name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:SH|SHELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.shell","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","comment":"Heredoc with embedded Lua","end":"(?!\\\\G)","name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.lua","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","comment":"Heredoc with embedded Ruby","end":"(?!\\\\G)","name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.ruby","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:YAML|YML))\\\\b\\\\1))","comment":"Heredoc with embedded YAML","end":"(?!\\\\G)","name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)(?:YAML|YML))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"source.yaml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","comment":"Heredoc with embedded Slim","end":"(?!\\\\G)","name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]([\\"'\`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"contentName":"text.slim","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}]}]},{"begin":"(?>=\\\\s*<<([\\"'\`]?)(\\\\w+)\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"^\\\\2$","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]([\\"'\`]?)(\\\\w+)\\\\3,\\\\s?)*<<[-~]([\\"'\`]?)(\\\\w+)\\\\5))(.*)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"comment":"heredoc with multiple inputs and indented terminator","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.unquoted.heredoc.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<={|{\\\\s|[^A-Za-z0-9_:@$]do|^do|[^A-Za-z0-9_:@$]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","name":"meta.block.parameters.ruby","patterns":[{"begin":"(?![\\\\s,|(])","end":"(?=,|\\\\|\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"variable.other.block.ruby"},"3":{"name":"variable.other.block.unused.ruby variable.other.constant.ruby"}},"match":"\\\\G([&*]?)([a-zA-Z][\\\\w_]*)|(_[\\\\w_]*)"}]},{"match":",","name":"punctuation.separator.variable.ruby"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\\\t])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?<!\\\\.)\\\\b(and|not|or)\\\\b(?![?!])","name":"keyword.operator.logical.ruby"},{"match":"(?<=^|[ \\\\t!])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.ruby"},{"captures":{"1":{"name":"keyword.operator.logical.ruby"}},"comment":"Safe navigation operator","match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"(%|&|\\\\*\\\\*|\\\\*|\\\\+|-|/)","name":"keyword.operator.arithmetic.ruby"},{"match":"=","name":"keyword.operator.assignment.ruby"},{"match":"\\\\||~|>>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"comment":"Mark as namespace separator if double colons followed by capital letter","match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"comment":"Mark as method separator if double colons not followed by capital letter","match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"comment":"Must come after method and constant separators to prefer double colons","match":":","name":"punctuation.separator.other.ruby"},{"match":"{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"\\\\(|\\\\)","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^\\\\.]\\\\.|::)(?=[a-zA-Z][a-zA-Z0-9_!?]*[^a-zA-Z0-9_!?])","end":"(?<=[a-zA-Z0-9_!?])(?=[^a-zA-Z0-9_!?])","name":"meta.function-call.ruby","patterns":[{"match":"([a-zA-Z][a-zA-Z0-9_!?]*)(?=[^a-zA-Z0-9_!?])","name":"entity.name.function.ruby"}]},{"begin":"([a-zA-Z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[\\\\da-fA-F]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@@)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#\\\\$)[a-zA-Z_]\\\\w*","name":"variable.other.readwrite.global.ruby"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([_a-zA-Z]\\\\w*[?!]?(:))|([_a-zA-Z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"({)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[[a-zA-Z0-9,. \\\\t?!-][^\\\\x{00}-\\\\x{7F}]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"comment":"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.","end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"comment":"For YARD tags that follow the tag-comment pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"comment":"For YARD directives","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([a-z_]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"comment":"separate rule for attribute and macro tags because name goes after []","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([a-z_]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"comment":"For YARD option tag that follow the tag-name-types-key-(value)-description pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([a-z_]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([a-z_]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"comment":"For YARD tags that follow the tag-name-types-description or tag-types-name-description pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"comment":"separate rule for @see because name could contain url","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"comment":"For YARD tags that are just the tag","match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"comment":"For YARD tags that follow the tag-types-comment pattern","contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}`)),L=[...e,...n,...t,...a,...r,...i,...u,...c,...o,...s,...d,...m,b];export{L as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./index.
|
|
1
|
+
import e from"./index.es484-COK4E0Yg.js";const t=Object.freeze(JSON.parse(`{"displayName":"SAS","fileTypes":["sas"],"foldingStartMarker":"(?i:(proc|data|%macro).*;$)","foldingStopMarker":"(?i:(run|quit|%mend)\\\\s?);","name":"sas","patterns":[{"include":"#starComment"},{"include":"#blockComment"},{"include":"#macro"},{"include":"#constant"},{"include":"#quote"},{"include":"#operator"},{"begin":"\\\\b(?i:(data))\\\\s+","beginCaptures":{"1":{"name":"keyword.other.sas"}},"comment":"Begins a DATA step and provides names for any output SAS data sets, views, or programs.","end":"(;)","patterns":[{"include":"#blockComment"},{"include":"#dataSet"},{"captures":{"1":{"name":"keyword.other.sas"},"2":{"name":"keyword.other.sas"}},"match":"(?i:(?:(stack|pgm|view|source)\\\\s?=\\\\s?)|(debug|nesting|nolist))"}]},{"begin":"\\\\b(?i:(set|update|modify|merge))\\\\s+","beginCaptures":{"1":{"name":"support.function.sas"},"2":{"name":"entity.name.class.sas"},"3":{"name":"entity.name.class.sas"}},"comment":"DATA set File-Handling Statements for DATA step","end":"(;)","patterns":[{"include":"#blockComment"},{"include":"#dataSet"}]},{"match":"(?i:\\\\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\\\\b)","name":"keyword.control.sas"},{"captures":{"1":{"name":"support.class.sas"},"3":{"name":"entity.name.function.sas"}},"match":"(?i:(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window)\\\\b))\\\\s*(\\\\w*)","name":"keyword.other.sas"},{"begin":"(?i:\\\\b(proc\\\\s*(sql))\\\\b)","beginCaptures":{"1":{"name":"support.function.sas"},"2":{"name":"support.class.sas"}},"comment":"Looks like for this to work there must be a *name* as well as the patterns/include bit.","end":"(?i:\\\\b(quit)\\\\s*;)","endCaptures":{"1":{"name":"keyword.control.sas"}},"name":"meta.sql.sas","patterns":[{"include":"#starComment"},{"include":"#blockComment"},{"include":"source.sql"}]},{"match":"(?i:\\\\b(by|label|format)\\\\b)","name":"keyword.datastep.sas"},{"captures":{"1":{"name":"support.function.sas"},"2":{"name":"support.class.sas"}},"match":"(?i:\\\\b(proc (\\\\w+))\\\\b)","name":"meta.function-call.sas"},{"match":"(?i:\\\\b(_n_|_error_)\\\\b)","name":"variable.language.sas"},{"captures":{"1":{"name":"support.class.sas"}},"match":"\\\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards|cards4|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cos|cosh|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines|datalines4|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erf|erfc|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipname|fipnamel|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|index|indexc|indexw|infile|informat|initcmd|initstmt|inner|input|inputc|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mod|mode|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|new|news|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource|nosource2|nosplash|nosymbolgen|note|notes|notitle|notitles|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p(1|5|10|25|50|75|90|95|99)|pad|pad2|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peek|peekc|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|put|putc|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s|s2|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sin|sinh|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stname|stnamel|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|table|tables|tan|tanh|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trim|trimn|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varray|varrayx|vartype|verify|vformat|vformatd|vformatdx|vformatn|vformatnx|vformatw|vformatwx|vformatx|vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|vinformatn|vinformatnx|vinformatw|vinformatwx|vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|vnamex|vnferr|vtype|vtypex|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsum|wsumx|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipname|zipnamel|zipstate))\\\\b","name":"support.function.sas"}],"repository":{"blockComment":{"patterns":[{"begin":"\\\\/\\\\*","end":"\\\\*\\\\/","name":"comment.block.slashstar.sas"}]},"constant":{"patterns":[{"comment":"numeric constant","match":"(?<![&\\\\}])\\\\b[0-9]*\\\\.?[0-9]+([eEdD][-+]?[0-9]+)?\\\\b","name":"constant.numeric.sas"},{"comment":"single quote numeric-type constant","match":"(')([^']+)(')(dt|[dt])","name":"constant.numeric.quote.single.sas"},{"comment":"double quote numeric-type constant","match":"(\\")([^\\"]+)(\\")(dt|[dt])","name":"constant.numeric.quote.double.sas"}]},"dataSet":{"patterns":[{"begin":"((\\\\w+)\\\\.)?(\\\\w+)\\\\s?\\\\(","beginCaptures":{"2":{"name":"entity.name.class.libref.sas"},"3":{"name":"entity.name.class.dsname.sas"}},"comment":"data set with options","end":"\\\\)","patterns":[{"include":"#dataSetOptions"},{"include":"#blockComment"},{"include":"#macro"},{"include":"#constant"},{"include":"#quote"},{"include":"#operator"}]},{"captures":{"2":{"name":"entity.name.class.libref.sas"},"3":{"name":"entity.name.class.dsname.sas"}},"comment":"data set without options","match":"\\\\b((\\\\w+)\\\\.)?(\\\\w+)\\\\b"}]},"dataSetOptions":{"patterns":[{"match":"(?<=\\\\s|\\\\(|\\\\))(?i:ALTER|BUFNO|BUFSIZE|CNTLLEV|COMPRESS|DLDMGACTION|ENCRYPT|ENCRYPTKEY|EXTENDOBSCOUNTER|GENMAX|GENNUM|INDEX|LABEL|OBSBUF|OUTREP|PW|PWREQ|READ|REPEMPTY|REPLACE|REUSE|ROLE|SORTEDBY|SPILL|TOBSNO|TYPE|WRITE|FILECLOSE|FIRSTOBS|IN|OBS|POINTOBS|WHERE|WHEREUP|IDXNAME|IDXWHERE|DROP|KEEP|RENAME)\\\\s?=","name":"keyword.other.sas"}]},"macro":{"patterns":[{"match":"(&+(?i:[a-z_]([a-z0-9_]+)?)(\\\\.+)?)\\\\b","name":"variable.other.macro.sas"}]},"operator":{"patterns":[{"match":"([\\\\+\\\\-\\\\*\\\\^\\\\/])","name":"keyword.operator.arithmetic.sas"},{"match":"\\\\b(?i:(eq|ne|gt|lt|ge|le|in|not|&|and|or|min|max))\\\\b","name":"keyword.operator.comparison.sas"},{"match":"([¬<>^~]?=(:)?|>|<|\\\\||!|¦|¬|^|~|<>|><|\\\\|\\\\|)","name":"keyword.operator.sas"}]},"quote":{"patterns":[{"begin":"(?<!%)(')","comment":"single quoted string block","end":"(')([bx])?","name":"string.quoted.single.sas"},{"begin":"(\\")","comment":"double quoted string block","end":"(\\")([bx])?","name":"string.quoted.double.sas"}]},"starComment":{"patterns":[{"include":"#blockcomment"},{"begin":"(?<=;)[\\\\s%]*\\\\*","end":";","name":"comment.line.inline.star.sas"},{"begin":"^[\\\\s%]*\\\\*","end":";","name":"comment.line.start.sas"}]}},"scopeName":"source.sas","embeddedLangs":["sql"]}`)),a=[...e,t];export{a as default};
|