@nuxtjs/sitemap 6.0.1 → 6.1.1
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/client/200.html +271 -271
- package/dist/client/404.html +271 -271
- package/dist/client/_nuxt/0T5ymu67.js +1 -0
- package/dist/client/_nuxt/0ts56CJt.js +1 -0
- package/dist/client/_nuxt/3lyMJQcz.js +1 -0
- package/dist/client/_nuxt/4xJK-Cl-.js +1 -0
- package/dist/client/_nuxt/6xx0uMgm.js +1 -0
- package/dist/client/_nuxt/8SMlCJmV.js +1 -0
- package/dist/client/_nuxt/B-FJR13u.js +1 -0
- package/dist/client/_nuxt/B-OKjwUG.js +1 -0
- package/dist/client/_nuxt/B0ZmQFon.js +1 -0
- package/dist/client/_nuxt/B1E5idW2.js +1 -0
- package/dist/client/_nuxt/B1XbSs4n.js +1 -0
- package/dist/client/_nuxt/B58gZNix.js +1 -0
- package/dist/client/_nuxt/B5llO_gK.js +1 -0
- package/dist/client/_nuxt/B6eBibaS.js +1 -0
- package/dist/client/_nuxt/B7J7AyKI.js +1 -0
- package/dist/client/_nuxt/B7JypyVp.js +1 -0
- package/dist/client/_nuxt/B7XOIRl4.js +1 -0
- package/dist/client/_nuxt/B7ypyBnM.js +1 -0
- package/dist/client/_nuxt/B9OxlhOu.js +1 -0
- package/dist/client/_nuxt/B9Xnh5qb.js +1 -0
- package/dist/client/_nuxt/B9ZmOXYf.js +1 -0
- package/dist/client/_nuxt/BAEC07PT.js +1 -0
- package/dist/client/_nuxt/BAu0wM6c.js +1 -0
- package/dist/client/_nuxt/BCb3i8bH.js +1 -0
- package/dist/client/_nuxt/BCw3hbAZ.js +1 -0
- package/dist/client/_nuxt/BDJShKAI.js +1 -0
- package/dist/client/_nuxt/BDcgth_h.js +1 -0
- package/dist/client/_nuxt/BE2xKufX.js +1 -0
- package/dist/client/_nuxt/BEcDb-Na.js +1 -0
- package/dist/client/_nuxt/BF01YeZy.js +1 -0
- package/dist/client/_nuxt/BFtm7NXx.js +1 -0
- package/dist/client/_nuxt/BHEclcDG.js +1 -0
- package/dist/client/_nuxt/BIAE-JNJ.js +1 -0
- package/dist/client/_nuxt/BIy0RtAU.js +1 -0
- package/dist/client/_nuxt/BJ1tFXYc.js +1 -0
- package/dist/client/_nuxt/BLUv6Nqx.js +1 -0
- package/dist/client/_nuxt/BLl5TONR.js +1 -0
- package/dist/client/_nuxt/BPeX9gxW.js +1 -0
- package/dist/client/_nuxt/BPsQvtJ3.js +1 -0
- package/dist/client/_nuxt/BQV5ugrc.js +1 -0
- package/dist/client/_nuxt/BROKSUsM.js +1 -0
- package/dist/client/_nuxt/BSTVB-Zh.js +1 -0
- package/dist/client/_nuxt/BU7aDXie.js +1 -0
- package/dist/client/_nuxt/BUp808Xb.js +1 -0
- package/dist/client/_nuxt/BUyOnvlq.js +1 -0
- package/dist/client/_nuxt/BVApzM6E.js +1 -0
- package/dist/client/_nuxt/BVVIMG6g.js +1 -0
- package/dist/client/_nuxt/BW52lp3b.js +1 -0
- package/dist/client/_nuxt/BW9ZD3gZ.js +1 -0
- package/dist/client/_nuxt/BWL3L1Rj.js +1 -0
- package/dist/client/_nuxt/BWg3m1GB.js +1 -0
- package/dist/client/_nuxt/BXRmzY4z.js +1 -0
- package/dist/client/_nuxt/BYtCS0qK.js +1 -0
- package/dist/client/_nuxt/B_BYPdvp.js +1 -0
- package/dist/client/_nuxt/B__owCNr.js +1 -0
- package/dist/client/_nuxt/B_x1i5c6.js +1 -0
- package/dist/client/_nuxt/BbpLZdOV.js +1 -0
- package/dist/client/_nuxt/BdR_yyLU.js +1 -0
- package/dist/client/_nuxt/Bd_dgwob.js +1 -0
- package/dist/client/_nuxt/Bg9ztLye.js +1 -0
- package/dist/client/_nuxt/Bh9RF5ip.js +1 -0
- package/dist/client/_nuxt/BhLYpSMR.js +1 -0
- package/dist/client/_nuxt/BjEKrAqD.js +1 -0
- package/dist/client/_nuxt/BjF2LrwI.js +1 -0
- package/dist/client/_nuxt/BjMcCR90.js +1 -0
- package/dist/client/_nuxt/BjRC5yqU.js +1 -0
- package/dist/client/_nuxt/BjcX2RRT.js +1 -0
- package/dist/client/_nuxt/Bko0jCF9.js +1 -0
- package/dist/client/_nuxt/BmCM2l0v.js +1 -0
- package/dist/client/_nuxt/Bn-9XRF5.js +1 -0
- package/dist/client/_nuxt/BnPKBSGs.js +1 -0
- package/dist/client/_nuxt/BoOfdGYm.js +1 -0
- package/dist/client/_nuxt/Bob3ZsAI.js +1 -0
- package/dist/client/_nuxt/BpPvklgd.js +1 -0
- package/dist/client/_nuxt/Bqf6MFS7.js +1 -0
- package/dist/client/_nuxt/BrOVMvuE.js +1 -0
- package/dist/client/_nuxt/BrrVvCy2.js +1 -0
- package/dist/client/_nuxt/Btrekgbv.js +1 -0
- package/dist/client/_nuxt/BuLMTABM.js +1 -0
- package/dist/client/_nuxt/Bv7h0bCP.js +1 -0
- package/dist/client/_nuxt/BwE502oq.js +1 -0
- package/dist/client/_nuxt/BwfrN1qO.js +1 -0
- package/dist/client/_nuxt/Bwndibuw.js +1 -0
- package/dist/client/_nuxt/BxCF21KD.js +1 -0
- package/dist/client/_nuxt/BynjFSMq.js +1 -0
- package/dist/client/_nuxt/C0VKFdlO.js +1 -0
- package/dist/client/_nuxt/C1LgZD3W.js +1 -0
- package/dist/client/_nuxt/C2m6Gvec.js +1 -0
- package/dist/client/_nuxt/C2vjeecE.js +1 -0
- package/dist/client/_nuxt/C43BjJoh.js +1 -0
- package/dist/client/_nuxt/C57idwSU.js +1 -0
- package/dist/client/_nuxt/C5Qc2LRj.js +1 -0
- package/dist/client/_nuxt/C6FuwQ60.js +1 -0
- package/dist/client/_nuxt/C7H20Cks.js +1 -0
- package/dist/client/_nuxt/C7S4CzKE.js +1 -0
- package/dist/client/_nuxt/C7fYu-fv.js +1 -0
- package/dist/client/_nuxt/C8wC4pmP.js +1 -0
- package/dist/client/_nuxt/CAPJQsDr.js +1 -0
- package/dist/client/_nuxt/CCV3ZPmh.js +1 -0
- package/dist/client/_nuxt/CEOE5b1e.js +1 -0
- package/dist/client/_nuxt/CFatW6r5.js +1 -0
- package/dist/client/_nuxt/{CsTmP73Z.js → CG6Dc4jp.js} +1 -1
- package/dist/client/_nuxt/CGuz-CSN.js +1 -0
- package/dist/client/_nuxt/CGzXMTsz.js +1 -0
- package/dist/client/_nuxt/CIJ3cGaW.js +1 -0
- package/dist/client/_nuxt/CJwZFFO8.js +1 -0
- package/dist/client/_nuxt/CNYq1Vbh.js +1 -0
- package/dist/client/_nuxt/COHgjnFa.js +1 -0
- package/dist/client/_nuxt/COqprU5r.js +1 -0
- package/dist/client/_nuxt/CP1EG319.js +1 -0
- package/dist/client/_nuxt/CP9KBoma.js +1 -0
- package/dist/client/_nuxt/CQGc29p4.js +1 -0
- package/dist/client/_nuxt/CQsDZinM.js +1 -0
- package/dist/client/_nuxt/CR7ZIA5n.js +1 -0
- package/dist/client/_nuxt/CT73UbIn.js +1 -0
- package/dist/client/_nuxt/CUJn570x.js +1 -0
- package/dist/client/_nuxt/CUmdYwgf.js +1 -0
- package/dist/client/_nuxt/CWRQmTmo.js +1 -0
- package/dist/client/_nuxt/CWz0UdeE.js +1 -0
- package/dist/client/_nuxt/CXMJgpSL.js +1 -0
- package/dist/client/_nuxt/CXnNNlFZ.js +1 -0
- package/dist/client/_nuxt/CYFf_60_.js +1 -0
- package/dist/client/_nuxt/CYSdhsge.js +1 -0
- package/dist/client/_nuxt/CYr8P6xI.js +1 -0
- package/dist/client/_nuxt/CZf9pk28.js +1 -0
- package/dist/client/_nuxt/Cbr_6WWI.js +1 -0
- package/dist/client/_nuxt/Cd60Byqu.js +1 -0
- package/dist/client/_nuxt/Cew1K6Cg.js +1 -0
- package/dist/client/_nuxt/ChWbJ7yd.js +1 -0
- package/dist/client/_nuxt/ChmZjner.js +1 -0
- package/dist/client/_nuxt/Cht5dt-W.js +1 -0
- package/dist/client/_nuxt/CiPC5AOs.js +1 -0
- package/dist/client/_nuxt/Cir5pGlg.js +1 -0
- package/dist/client/_nuxt/CkQAVq00.js +1 -0
- package/dist/client/_nuxt/ClQXznb9.js +1 -0
- package/dist/client/_nuxt/CmN3BE9h.js +1 -0
- package/dist/client/_nuxt/CnJshdAK.js +1 -0
- package/dist/client/_nuxt/CpE9kvve.js +1 -0
- package/dist/client/_nuxt/CpVshwiK.js +1 -0
- package/dist/client/_nuxt/Cq1xYuce.js +1 -0
- package/dist/client/_nuxt/CrixQCTd.js +1 -0
- package/dist/client/_nuxt/Cs0nxIjP.js +1 -0
- package/dist/client/_nuxt/CsGRAO9W.js +1 -0
- package/dist/client/_nuxt/CtBVe1Pq.js +1 -0
- package/dist/client/_nuxt/CtKmUX7F.js +1 -0
- package/dist/client/_nuxt/CtwIM3TN.js +1 -0
- package/dist/client/_nuxt/CuVvnps0.js +1 -0
- package/dist/client/_nuxt/CvcCkpo_.js +1 -0
- package/dist/client/_nuxt/CwpsUPcU.js +1 -0
- package/dist/client/_nuxt/CyiO1Y79.js +1 -0
- package/dist/client/_nuxt/CzC3klsQ.js +1 -0
- package/dist/client/_nuxt/D0EAa1oa.js +1 -0
- package/dist/client/_nuxt/D1MLUgyJ.js +1 -0
- package/dist/client/_nuxt/D1zf6dY5.js +1 -0
- package/dist/client/_nuxt/D3-88OAp.js +1 -0
- package/dist/client/_nuxt/D4Lylsli.js +1 -0
- package/dist/client/_nuxt/D7G93q9C.js +1 -0
- package/dist/client/_nuxt/D7fI1lCl.js +1 -0
- package/dist/client/_nuxt/D9s8soGk.js +1 -0
- package/dist/client/_nuxt/DAfWdUdo.js +1 -0
- package/dist/client/_nuxt/DBO9GoM7.js +1 -0
- package/dist/client/_nuxt/DBkT4gmW.js +1 -0
- package/dist/client/_nuxt/DCFEyJL2.js +1 -0
- package/dist/client/_nuxt/DCQSX9PG.js +1 -0
- package/dist/client/_nuxt/DCTIUqBt.js +1 -0
- package/dist/client/_nuxt/DCUg8VH8.js +1 -0
- package/dist/client/_nuxt/DD0UnqhF.js +1 -0
- package/dist/client/_nuxt/DEFgBD1G.js +1 -0
- package/dist/client/_nuxt/DEi2ougg.js +1 -0
- package/dist/client/_nuxt/DJmrk1Cw.js +1 -0
- package/dist/client/_nuxt/DMjhmVbd.js +1 -0
- package/dist/client/_nuxt/DOSOf2Sz.js +1 -0
- package/dist/client/_nuxt/DO_ok7XK.js +1 -0
- package/dist/client/_nuxt/DQNb4KLP.js +1 -0
- package/dist/client/_nuxt/DR8HWMN7.js +1 -0
- package/dist/client/_nuxt/DRVv-_m_.js +1 -0
- package/dist/client/_nuxt/DSHhrD2y.js +1 -0
- package/dist/client/_nuxt/DTsQXvoU.js +1 -0
- package/dist/client/_nuxt/DVFStl7U.js +1 -0
- package/dist/client/_nuxt/DVVRcRkA.js +1 -0
- package/dist/client/_nuxt/DW2eHNUk.js +1 -0
- package/dist/client/_nuxt/DXVBNDlZ.js +1 -0
- package/dist/client/_nuxt/DXd9s5XC.js +1 -0
- package/dist/client/_nuxt/DYW4RhyI.js +1 -0
- package/dist/client/_nuxt/DZWQkMCk.js +1 -0
- package/dist/client/_nuxt/DZq_FjYx.js +1 -0
- package/dist/client/_nuxt/D_5MlGZ5.js +1 -0
- package/dist/client/_nuxt/DaDeIz8d.js +1 -0
- package/dist/client/_nuxt/DavK8YIz.js +1 -0
- package/dist/client/_nuxt/DbbFj0Dw.js +1 -0
- package/dist/client/_nuxt/Ddn7g-wz.js +1 -0
- package/dist/client/_nuxt/DhN9Ay9f.js +1 -0
- package/dist/client/_nuxt/DhfaepVE.js +1 -0
- package/dist/client/_nuxt/DhpyEkXi.js +1 -0
- package/dist/client/_nuxt/Di51SQ1w.js +1 -0
- package/dist/client/_nuxt/DlZaQvMA.js +1 -0
- package/dist/client/_nuxt/DmIISM_t.js +1 -0
- package/dist/client/_nuxt/DnnVRBmu.js +1 -0
- package/dist/client/_nuxt/DnphndYx.js +1 -0
- package/dist/client/_nuxt/DntxAPSX.js +1 -0
- package/dist/client/_nuxt/Do1wFkIg.js +1 -0
- package/dist/client/_nuxt/DogSxdnH.js +1 -0
- package/dist/client/_nuxt/DoiWqdtK.js +1 -0
- package/dist/client/_nuxt/DpTiCrq9.js +1 -0
- package/dist/client/_nuxt/DpcCWQ-2.js +1 -0
- package/dist/client/_nuxt/DqeIY2qJ.js +1 -0
- package/dist/client/_nuxt/Drg4OoM0.js +1 -0
- package/dist/client/_nuxt/DsXbiA6w.js +1 -0
- package/dist/client/_nuxt/DsbCzHj2.js +1 -0
- package/dist/client/_nuxt/Dv0peDcd.js +1 -0
- package/dist/client/_nuxt/Dv8bwrPQ.js +1 -0
- package/dist/client/_nuxt/DvLiL3pe.js +1 -0
- package/dist/client/_nuxt/DwyNO5EZ.js +1 -0
- package/dist/client/_nuxt/DxCpQIHp.js +1 -0
- package/dist/client/_nuxt/DxbI8p4U.js +1 -0
- package/dist/client/_nuxt/Dynoxrah.js +32 -0
- package/dist/client/_nuxt/E7TS344s.js +1 -0
- package/dist/client/_nuxt/HADhLPvx.js +1 -0
- package/dist/client/_nuxt/HOY2VmAv.js +1 -0
- package/dist/client/_nuxt/Hko2xDyu.js +1 -0
- package/dist/client/_nuxt/Iv3dgEDH.js +1 -0
- package/dist/client/_nuxt/LCZN91qf.js +1 -0
- package/dist/client/_nuxt/LRuURKN5.js +1 -0
- package/dist/client/_nuxt/LgQ8OdCm.js +1 -0
- package/dist/client/_nuxt/MSkjfxRp.js +1 -0
- package/dist/client/_nuxt/NGqCZ_1i.js +1 -0
- package/dist/client/_nuxt/Q2zEKZ0H.js +1 -0
- package/dist/client/_nuxt/Q5Tz2Thz.js +1 -0
- package/dist/client/_nuxt/RHIKkNfR.js +1 -0
- package/dist/client/_nuxt/Rcb2q3L5.js +1 -0
- package/dist/client/_nuxt/SBo3v8K-.js +1 -0
- package/dist/client/_nuxt/SNdyqYUE.js +1 -0
- package/dist/client/_nuxt/TPzOW7gM.js +1 -0
- package/dist/client/_nuxt/Vs-JvmgV.js +1 -0
- package/dist/client/_nuxt/WOub3wle.js +1 -0
- package/dist/client/_nuxt/WvamMZMi.js +1 -0
- package/dist/client/_nuxt/XcYHBZy6.js +1 -0
- package/dist/client/_nuxt/XmgiAy50.js +1 -0
- package/dist/client/_nuxt/YQxBa2t3.js +1 -0
- package/dist/client/_nuxt/Ya9L7uOG.js +1 -0
- package/dist/client/_nuxt/YrzQadAi.js +1 -0
- package/dist/client/_nuxt/_5tehIHb.js +1 -0
- package/dist/client/_nuxt/_V__kATy.js +1 -0
- package/dist/client/_nuxt/a3_z4MXy.js +1 -0
- package/dist/client/_nuxt/aTVvUMxQ.js +1 -0
- package/dist/client/_nuxt/akD_NCup.js +1 -0
- package/dist/client/_nuxt/bnD_hORV.js +1 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/7ddc36a0-f6b9-4002-8f88-845586a7ea79.json +1 -0
- package/dist/client/_nuxt/d-Z_xI-x.js +1 -0
- package/dist/client/_nuxt/djmQ0oFv.js +1 -0
- package/dist/client/_nuxt/dtd2CbDm.js +1 -0
- package/dist/client/_nuxt/error-404.CIhrh3Li.css +1 -0
- package/dist/client/_nuxt/error-500.CqRwgy2H.css +1 -0
- package/dist/client/_nuxt/gUX51GpB.js +1 -0
- package/dist/client/_nuxt/gqDMXQVE.js +1 -0
- package/dist/client/_nuxt/h7hxXpOI.js +1 -0
- package/dist/client/_nuxt/ifhVRNHP.js +1 -0
- package/dist/client/_nuxt/ioUwV4aO.js +1 -0
- package/dist/client/_nuxt/l-Zunt0N.js +1 -0
- package/dist/client/_nuxt/lx0cuFob.js +1 -0
- package/dist/client/_nuxt/moexCyJv.js +1 -0
- package/dist/client/_nuxt/qzMrTjg-.js +1 -0
- package/dist/client/_nuxt/rTmpE8q-.js +1 -0
- package/dist/client/_nuxt/rjpFJd7F.js +1 -0
- package/dist/client/_nuxt/rzD4PCBf.js +1 -0
- package/dist/client/_nuxt/s-s--efq.js +1 -0
- package/dist/client/_nuxt/si7wuSrt.js +1 -0
- package/dist/client/_nuxt/tIyOULBv.js +1 -0
- package/dist/client/_nuxt/v-7hwHEi.js +1 -0
- package/dist/client/_nuxt/zO687AYL.js +1 -0
- package/dist/client/index.html +271 -271
- package/dist/module.json +2 -2
- package/dist/module.mjs +13 -9
- package/dist/runtime/nitro/kit.d.ts +1 -1
- package/dist/runtime/nitro/kit.js +6 -4
- package/dist/runtime/nitro/sitemap/urlset/sources.js +2 -1
- package/dist/runtime/types.d.ts +5 -0
- package/package.json +23 -18
- package/dist/client/_nuxt/16u1w-DC.js +0 -1
- package/dist/client/_nuxt/4JG6XROL.js +0 -1
- package/dist/client/_nuxt/6XBPEST2.js +0 -1
- package/dist/client/_nuxt/6bkCFmAg.js +0 -1
- package/dist/client/_nuxt/8R90CSQj.js +0 -20
- package/dist/client/_nuxt/A4Fa72hX.js +0 -1
- package/dist/client/_nuxt/AoxqhCl0.js +0 -1
- package/dist/client/_nuxt/B2DkETJQ.js +0 -1
- package/dist/client/_nuxt/B2Zkg-Ae.js +0 -5
- package/dist/client/_nuxt/B3a86pAO.js +0 -1
- package/dist/client/_nuxt/B3yJX9Qu.js +0 -1
- package/dist/client/_nuxt/B4WdFlrw.js +0 -31
- package/dist/client/_nuxt/B5--Xptx.js +0 -1
- package/dist/client/_nuxt/B5La0Eyp.js +0 -1
- package/dist/client/_nuxt/B5USdwzW.js +0 -1
- package/dist/client/_nuxt/B5v32tNS.js +0 -3
- package/dist/client/_nuxt/B7zm8LFH.js +0 -2
- package/dist/client/_nuxt/B8yeR86s.js +0 -1
- package/dist/client/_nuxt/B9MAV_WH.js +0 -1
- package/dist/client/_nuxt/B9S9BZZh.js +0 -1
- package/dist/client/_nuxt/B9afuS00.js +0 -1
- package/dist/client/_nuxt/BBDuFDsq.js +0 -1
- package/dist/client/_nuxt/BC7ivatP.js +0 -1
- package/dist/client/_nuxt/BD3t3nJY.js +0 -1
- package/dist/client/_nuxt/BDJ7po1j.js +0 -1
- package/dist/client/_nuxt/BDUkJJFZ.js +0 -1
- package/dist/client/_nuxt/BEIEqD7s.js +0 -1
- package/dist/client/_nuxt/BEPTDMGr.js +0 -1
- package/dist/client/_nuxt/BESheOyt.js +0 -1
- package/dist/client/_nuxt/BFO9THtE.js +0 -1
- package/dist/client/_nuxt/BICcMyTi.js +0 -1
- package/dist/client/_nuxt/BITGhEdf.js +0 -1
- package/dist/client/_nuxt/BIboXAcp.js +0 -1
- package/dist/client/_nuxt/BLmvGqlk.js +0 -1
- package/dist/client/_nuxt/BMRpS3Xo.js +0 -1
- package/dist/client/_nuxt/BMkdSFOr.js +0 -1
- package/dist/client/_nuxt/BNuYtHxo.js +0 -1
- package/dist/client/_nuxt/BOCDpWc1.js +0 -17
- package/dist/client/_nuxt/BOtZLFcM.js +0 -3
- package/dist/client/_nuxt/BPhJoBd6.js +0 -1
- package/dist/client/_nuxt/BPiaQZfK.js +0 -1
- package/dist/client/_nuxt/BQgbS7Yt.js +0 -1
- package/dist/client/_nuxt/BSB_bK09.js +0 -1
- package/dist/client/_nuxt/BSSAUge4.js +0 -1
- package/dist/client/_nuxt/BTO_K1fm.js +0 -1
- package/dist/client/_nuxt/BTtaZsq5.js +0 -1
- package/dist/client/_nuxt/BUQ2FcJX.js +0 -1
- package/dist/client/_nuxt/BVsCzzYp.js +0 -1
- package/dist/client/_nuxt/BXF7Vm5l.js +0 -1
- package/dist/client/_nuxt/BXP-NDAE.js +0 -1
- package/dist/client/_nuxt/BY8_eel9.js +0 -1
- package/dist/client/_nuxt/BYelj_cE.js +0 -1
- package/dist/client/_nuxt/B_SUYfiV.js +0 -1
- package/dist/client/_nuxt/B_Sdu6N9.js +0 -1
- package/dist/client/_nuxt/BaWyeHV_.js +0 -1
- package/dist/client/_nuxt/BaedD2tq.js +0 -1
- package/dist/client/_nuxt/BbJj1K1w.js +0 -1
- package/dist/client/_nuxt/BbPU79SD.js +0 -165
- package/dist/client/_nuxt/BccEf5hb.js +0 -1
- package/dist/client/_nuxt/Bcn1f5Rp.js +0 -3
- package/dist/client/_nuxt/BeocmOPF.js +0 -1
- package/dist/client/_nuxt/BeqgMazi.js +0 -1
- package/dist/client/_nuxt/BfBkfEDj.js +0 -1
- package/dist/client/_nuxt/BiU8-mv6.js +0 -1
- package/dist/client/_nuxt/BiVAY1KT.js +0 -1
- package/dist/client/_nuxt/BltGI4TE.js +0 -1
- package/dist/client/_nuxt/Bn5gmY5k.js +0 -1
- package/dist/client/_nuxt/BpDWT_aG.js +0 -1
- package/dist/client/_nuxt/BqpV9M7Y.js +0 -16
- package/dist/client/_nuxt/BrHEiNXv.js +0 -1
- package/dist/client/_nuxt/BspO9hSn.js +0 -1
- package/dist/client/_nuxt/BsvsQ1iS.js +0 -1
- package/dist/client/_nuxt/Bszlo9K_.js +0 -1
- package/dist/client/_nuxt/BuqjW-Uc.js +0 -1
- package/dist/client/_nuxt/BvCdDh2R.js +0 -1
- package/dist/client/_nuxt/BxwAa5i0.js +0 -1
- package/dist/client/_nuxt/ByGMIDPY.js +0 -1
- package/dist/client/_nuxt/ByMv4Xf1.js +0 -1
- package/dist/client/_nuxt/BzeF2RWN.js +0 -1
- package/dist/client/_nuxt/C17JnZbq.js +0 -1
- package/dist/client/_nuxt/C31OBGbl.js +0 -1
- package/dist/client/_nuxt/C3NvtN4M.js +0 -1
- package/dist/client/_nuxt/C46DigdT.js +0 -1
- package/dist/client/_nuxt/C5QX-GgJ.js +0 -1
- package/dist/client/_nuxt/C6F4YvHi.js +0 -1
- package/dist/client/_nuxt/C6XIsc4F.js +0 -1
- package/dist/client/_nuxt/C6pBAdyX.js +0 -1
- package/dist/client/_nuxt/C7O_L2NY.js +0 -1
- package/dist/client/_nuxt/C7n-thn-.js +0 -1
- package/dist/client/_nuxt/C7oZ9nno.js +0 -1
- package/dist/client/_nuxt/C86elO-m.js +0 -1
- package/dist/client/_nuxt/C8DXlOXe.js +0 -1
- package/dist/client/_nuxt/C8KGJGmD.js +0 -1
- package/dist/client/_nuxt/C9X_x5J1.js +0 -1
- package/dist/client/_nuxt/C9d3aiqh.js +0 -1
- package/dist/client/_nuxt/CA9nliXM.js +0 -1
- package/dist/client/_nuxt/CAkjjYd_.js +0 -1
- package/dist/client/_nuxt/CBoehFVA.js +0 -29
- package/dist/client/_nuxt/CD1ynQRS.js +0 -1
- package/dist/client/_nuxt/CDLXdqou.js +0 -6
- package/dist/client/_nuxt/CDNnVXJ3.js +0 -1
- package/dist/client/_nuxt/CDzo4tzE.js +0 -1
- package/dist/client/_nuxt/CEuqc8ZQ.js +0 -1
- package/dist/client/_nuxt/CGmujMTu.js +0 -1
- package/dist/client/_nuxt/CIlkkgNU.js +0 -4
- package/dist/client/_nuxt/CJ21IjBY.js +0 -1
- package/dist/client/_nuxt/CJYoS41Z.js +0 -1
- package/dist/client/_nuxt/CKpfY2P2.js +0 -1
- package/dist/client/_nuxt/CMiaevpY.js +0 -1
- package/dist/client/_nuxt/CO7HdiM_.js +0 -1
- package/dist/client/_nuxt/CPw9RxLe.js +0 -1
- package/dist/client/_nuxt/CRDKj6ck.js +0 -1
- package/dist/client/_nuxt/CRlnGVMD.js +0 -1
- package/dist/client/_nuxt/CT9A9Qiu.js +0 -4
- package/dist/client/_nuxt/CTjLfFPV.js +0 -1
- package/dist/client/_nuxt/CV8JdvfZ.js +0 -1
- package/dist/client/_nuxt/CXYaz1c9.js +0 -2
- package/dist/client/_nuxt/CZZ6oYdA.js +0 -1
- package/dist/client/_nuxt/C_D4IvTY.js +0 -1
- package/dist/client/_nuxt/C_g069vW.js +0 -1
- package/dist/client/_nuxt/CbFpZgCV.js +0 -1
- package/dist/client/_nuxt/CbjS_D4a.js +0 -1
- package/dist/client/_nuxt/Cda-MJFk.js +0 -1
- package/dist/client/_nuxt/CeUooOMz.js +0 -1
- package/dist/client/_nuxt/CgwOUXSn.js +0 -1
- package/dist/client/_nuxt/ChH25C4w.js +0 -1
- package/dist/client/_nuxt/ChVe37jp.js +0 -1
- package/dist/client/_nuxt/CidHYXz9.js +0 -1
- package/dist/client/_nuxt/CkoJTUbt.js +0 -25
- package/dist/client/_nuxt/Clnf9f06.js +0 -1
- package/dist/client/_nuxt/CmHkUvIV.js +0 -1
- package/dist/client/_nuxt/CmonagEV.js +0 -1
- package/dist/client/_nuxt/CowR2XfX.js +0 -1
- package/dist/client/_nuxt/Crs1WKlG.js +0 -1
- package/dist/client/_nuxt/CsW3I34-.js +0 -1
- package/dist/client/_nuxt/CsuMf1xJ.js +0 -1
- package/dist/client/_nuxt/CsyjKwr8.js +0 -1
- package/dist/client/_nuxt/Ctb_e1-I.js +0 -1
- package/dist/client/_nuxt/CuJfdYLG.js +0 -1
- package/dist/client/_nuxt/CwZIVF5c.js +0 -1
- package/dist/client/_nuxt/Cwv93qcC.js +0 -4
- package/dist/client/_nuxt/CzPA46E-.js +0 -1
- package/dist/client/_nuxt/CzrtbdtR.js +0 -1
- package/dist/client/_nuxt/D1i8Vxii.js +0 -1
- package/dist/client/_nuxt/D384ylkT.js +0 -1
- package/dist/client/_nuxt/D3VXSfF0.js +0 -1
- package/dist/client/_nuxt/D46m5Xd3.js +0 -1
- package/dist/client/_nuxt/D4LJwL2b.js +0 -1
- package/dist/client/_nuxt/D5lQfeOG.js +0 -1
- package/dist/client/_nuxt/D6SwP_ef.js +0 -1
- package/dist/client/_nuxt/D71BffLY.js +0 -1
- package/dist/client/_nuxt/D7Nx8OLD.js +0 -1
- package/dist/client/_nuxt/D85lwgPO.js +0 -1
- package/dist/client/_nuxt/D8V69RRQ.js +0 -1
- package/dist/client/_nuxt/D8YTaFMU.js +0 -1
- package/dist/client/_nuxt/D8ecWW_g.js +0 -1
- package/dist/client/_nuxt/D9s3Eyz8.js +0 -11
- package/dist/client/_nuxt/DA288kE2.js +0 -3
- package/dist/client/_nuxt/DAVo6uMX.js +0 -1
- package/dist/client/_nuxt/DBxHOdLe.js +0 -1
- package/dist/client/_nuxt/DDK5Hw8n.js +0 -1
- package/dist/client/_nuxt/DFQMbhFG.js +0 -1
- package/dist/client/_nuxt/DFRYOy8B.js +0 -1
- package/dist/client/_nuxt/DFaziNDp.js +0 -1
- package/dist/client/_nuxt/DGTPbQyx.js +0 -27
- package/dist/client/_nuxt/DHCC4-m4.js +0 -1
- package/dist/client/_nuxt/DIC-ECB_.js +0 -1
- package/dist/client/_nuxt/DKgh9jPU.js +0 -20
- package/dist/client/_nuxt/DKluMpTE.js +0 -1
- package/dist/client/_nuxt/DKrjeWrU.js +0 -1
- package/dist/client/_nuxt/DLpTrZod.js +0 -1
- package/dist/client/_nuxt/DNR26wTC.js +0 -1
- package/dist/client/_nuxt/DOqtC9FP.js +0 -1
- package/dist/client/_nuxt/DOt8O2FJ.js +0 -1
- package/dist/client/_nuxt/DOwv4Xrr.js +0 -1
- package/dist/client/_nuxt/DQ-rpzxz.js +0 -1
- package/dist/client/_nuxt/DQdnirlo.js +0 -1
- package/dist/client/_nuxt/DRgydeCt.js +0 -1
- package/dist/client/_nuxt/DS9ZWoKD.js +0 -1
- package/dist/client/_nuxt/DSPtUMMI.js +0 -1
- package/dist/client/_nuxt/DSmiUmWA.js +0 -1
- package/dist/client/_nuxt/DT2db06B.js +0 -1
- package/dist/client/_nuxt/DV9_Ze0W.js +0 -1
- package/dist/client/_nuxt/DWE3vCE5.js +0 -1
- package/dist/client/_nuxt/DXZpi2gR.js +0 -1
- package/dist/client/_nuxt/DYQagCV4.js +0 -1
- package/dist/client/_nuxt/DZwJH60W.js +0 -1
- package/dist/client/_nuxt/D_nC6SfZ.js +0 -1
- package/dist/client/_nuxt/DaDGU6kf.js +0 -1
- package/dist/client/_nuxt/DanM9F4-.js +0 -2
- package/dist/client/_nuxt/DdacRhvC.js +0 -1
- package/dist/client/_nuxt/DeVv6D4_.js +0 -1
- package/dist/client/_nuxt/DfqM7apN.js +0 -1
- package/dist/client/_nuxt/DgraCSOE.js +0 -1
- package/dist/client/_nuxt/DhldU3XI.js +0 -1
- package/dist/client/_nuxt/DjTlIhuc.js +0 -1
- package/dist/client/_nuxt/Dm9yFT8Y.js +0 -2
- package/dist/client/_nuxt/DmAvib0Y.js +0 -1
- package/dist/client/_nuxt/DnLUQrgA.js +0 -1
- package/dist/client/_nuxt/DoDCNZ2x.js +0 -1
- package/dist/client/_nuxt/DoQu802G.js +0 -1
- package/dist/client/_nuxt/DoY4Dbtn.js +0 -1
- package/dist/client/_nuxt/DqvgqZmm.js +0 -16
- package/dist/client/_nuxt/Dtv2yyrc.js +0 -1
- package/dist/client/_nuxt/DvBRk2iT.js +0 -1
- package/dist/client/_nuxt/DvreHBtf.js +0 -1
- package/dist/client/_nuxt/DvyTQcux.js +0 -1
- package/dist/client/_nuxt/DxX6t7GH.js +0 -1
- package/dist/client/_nuxt/E1IWMS2c.js +0 -1
- package/dist/client/_nuxt/FJDVp-XM.js +0 -1
- package/dist/client/_nuxt/H2A8RXvM.js +0 -1
- package/dist/client/_nuxt/HrnDn_2Q.js +0 -1
- package/dist/client/_nuxt/I-_ljZ1M.js +0 -1
- package/dist/client/_nuxt/KCgU82S2.js +0 -1
- package/dist/client/_nuxt/KEYLhlmT.js +0 -1
- package/dist/client/_nuxt/KN-DOLVO.js +0 -1
- package/dist/client/_nuxt/LrshOcZ2.js +0 -1
- package/dist/client/_nuxt/MJ0gDQnJ.js +0 -9
- package/dist/client/_nuxt/MS3qTAOR.js +0 -1
- package/dist/client/_nuxt/NboNzovp.js +0 -1
- package/dist/client/_nuxt/P3XzCKkX.js +0 -1
- package/dist/client/_nuxt/PBlC1IT3.js +0 -1
- package/dist/client/_nuxt/PSVKygaU.js +0 -16
- package/dist/client/_nuxt/PYrcYqZ1.js +0 -1
- package/dist/client/_nuxt/SXuYmi6B.js +0 -1
- package/dist/client/_nuxt/Sm_sVxcW.js +0 -14
- package/dist/client/_nuxt/TDVTyJvX.js +0 -16
- package/dist/client/_nuxt/UREJT2Bw.js +0 -1
- package/dist/client/_nuxt/VVtMly4c.js +0 -3
- package/dist/client/_nuxt/VntNkNt1.js +0 -1
- package/dist/client/_nuxt/Wkyh6-uf.js +0 -1
- package/dist/client/_nuxt/XP2_9bVu.js +0 -10
- package/dist/client/_nuxt/XrZDCB4K.js +0 -1
- package/dist/client/_nuxt/YxQm0tCS.js +0 -1
- package/dist/client/_nuxt/_fwBhpzY.js +0 -1
- package/dist/client/_nuxt/a0z0KVy-.js +0 -5
- package/dist/client/_nuxt/alpzPJ78.js +0 -1
- package/dist/client/_nuxt/bEygH-WE.js +0 -3
- package/dist/client/_nuxt/bPMpiWut.js +0 -1
- package/dist/client/_nuxt/builds/meta/63752b41-6753-49e4-88fa-727e43456940.json +0 -1
- package/dist/client/_nuxt/cW9vKj3g.js +0 -1
- package/dist/client/_nuxt/coyhVBVA.js +0 -1
- package/dist/client/_nuxt/d2PdAb0u.js +0 -2
- package/dist/client/_nuxt/error-404.Ce3zs1W_.css +0 -1
- package/dist/client/_nuxt/error-500.DLxoKTOy.css +0 -1
- package/dist/client/_nuxt/g4vhSHS2.js +0 -1
- package/dist/client/_nuxt/gwSZkKbG.js +0 -1
- package/dist/client/_nuxt/hXH8Gyq8.js +0 -1
- package/dist/client/_nuxt/iSbrOpM4.js +0 -1
- package/dist/client/_nuxt/iYrPSY0y.js +0 -1
- package/dist/client/_nuxt/jaXbsbtS.js +0 -1
- package/dist/client/_nuxt/kZiYIjIU.js +0 -1
- package/dist/client/_nuxt/lOwNZ7_V.js +0 -1
- package/dist/client/_nuxt/nc-bU77P.js +0 -12
- package/dist/client/_nuxt/nfCtBF4F.js +0 -1
- package/dist/client/_nuxt/pit2X7C0.js +0 -1
- package/dist/client/_nuxt/qxoleWdb.js +0 -1
- package/dist/client/_nuxt/r5D-aIjp.js +0 -1
- package/dist/client/_nuxt/rS0jd3Ly.js +0 -1
- package/dist/client/_nuxt/rU0AX43l.js +0 -1
- package/dist/client/_nuxt/rh45RTDP.js +0 -1
- package/dist/client/_nuxt/sMI-pExk.js +0 -1
- package/dist/client/_nuxt/tgs8ujlj.js +0 -1
- package/dist/client/_nuxt/v_4dTNAb.js +0 -1
- package/dist/client/_nuxt/vvK2q8Zt.js +0 -1
- package/dist/client/_nuxt/xPNGhBYe.js +0 -1
- package/dist/client/_nuxt/xuIuMB9j.js +0 -1
- package/dist/client/_nuxt/yOCz8xPT.js +0 -1
- package/dist/client/_nuxt/zt9m_cFA.js +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=Object.freeze(JSON.parse(`{"displayName":"Fortran (Free Form)","fileTypes":["f90","F90","f95","F95","f03","F03","f08","F08","f18","F18","fpp","FPP",".pf",".PF"],"firstLineMatch":"(?i)-[*]- mode: fortran free -[*]-","injections":{"source.fortran.free - ( string | comment | meta.preprocessor )":{"patterns":[{"include":"#line-continuation-operator"},{"include":"#preprocessor"}]},"string.quoted.double.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]},"string.quoted.single.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]}},"name":"fortran-free-form","patterns":[{"include":"#preprocessor"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#include-statement"},{"include":"#import-statement"},{"include":"#block-data-definition"},{"include":"#function-definition"},{"include":"#module-definition"},{"include":"#program-definition"},{"include":"#submodule-definition"},{"include":"#subroutine-definition"},{"include":"#procedure-definition"},{"include":"#derived-type-definition"},{"include":"#enum-block-construct"},{"include":"#interface-block-constructs"},{"include":"#procedure-specification-statement"},{"include":"#type-specification-statements"},{"include":"#specification-statements"},{"include":"#control-constructs"},{"include":"#control-statements"},{"include":"#execution-statements"},{"include":"#intrinsic-functions"},{"include":"#variable"}],"repository":{"IO-item-list":{"begin":"(?i)(?=\\\\s*[a-z0-9\\"'])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[);!\\\\n])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"IO-keywords":{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.read.fortran"},"2":{"name":"keyword.control.generic-spec.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"comment":"IO generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"captures":{"1":{"name":"keyword.control.generic-spec.formatted.fortran"},"2":{"name":"keyword.control.generic-spec.unformatted.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(?:(formatted)|(unformatted))\\\\b"},{"include":"#invalid-word"}]},"IO-statements":{"patterns":[{"begin":"(?i)\\\\b(?:(backspace)|(close)|(endfile)|(format)|(inquire)|(open)|(read)|(rewind)|(write))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.backspace.fortran"},"2":{"name":"keyword.control.close.fortran"},"3":{"name":"keyword.control.endfile.fortran"},"4":{"name":"keyword.control.format.fortran"},"5":{"name":"keyword.control.inquire.fortran"},"6":{"name":"keyword.control.open.fortran"},"7":{"name":"keyword.control.read.fortran"},"8":{"name":"keyword.control.rewind.fortran"},"9":{"name":"keyword.control.write.fortran"},"10":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.IO.fortran","patterns":[{"include":"#parentheses-dummy-variables"},{"include":"#IO-item-list"}]},{"captures":{"1":{"name":"keyword.control.backspace.fortran"},"2":{"name":"keyword.control.endfile.fortran"},"3":{"name":"keyword.control.format.fortran"},"4":{"name":"keyword.control.print.fortran"},"5":{"name":"keyword.control.read.fortran"},"6":{"name":"keyword.control.rewind.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\b(?:(backspace)|(endfile)|(format)|(print)|(read)|(rewind))\\\\b"},{"begin":"(?i)\\\\b(?:(flush)|(wait))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.flush.fortran"},"2":{"name":"keyword.control.wait.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"keyword.control.flush.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\b(flush)\\\\b"}]},"abstract-attribute":{"captures":{"1":{"name":"storage.modifier.fortran.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\G\\\\s*\\\\b(abstract)\\\\b"},"abstract-interface-block-construct":{"begin":"(?i)\\\\b(abstract)\\\\s+(interface)\\\\b","beginCaptures":{"1":{"name":"keyword.other.attribute.fortran.modern"},"2":{"name":"keyword.control.interface.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran.modern"}},"name":"meta.interface.abstract.fortran","patterns":[{"include":"$base"}]},"access-attribute":{"patterns":[{"include":"#private-attribute"},{"include":"#public-attribute"}]},"allocatable-attribute":{"captures":{"1":{"name":"storage.modifier.allocatable.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(allocatable)\\\\b"},"allocate-statement":{"begin":"(?i)\\\\b(allocate)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.allocate.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.allocate.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"arithmetic-operators":{"captures":{"1":{"name":"keyword.operator.subtraction.fortran"},"2":{"name":"keyword.operator.addition.fortran"},"3":{"name":"keyword.operator.division.fortran"},"4":{"name":"keyword.operator.power.fortran"},"5":{"name":"keyword.operator.multiplication.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(-)|(\\\\+)|\\\\/(?!\\\\/|=|\\\\\\\\)|(\\\\*\\\\*)|(\\\\*)"},"array-constructor":{"begin":"(?=\\\\s*(\\\\[|\\\\(\\\\/))","end":"(?<!\\\\G)","name":"meta.contructor.array","patterns":[{"include":"#brackets"},{"begin":"\\\\s*(\\\\(\\\\/)","beginCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"end":"(\\\\/\\\\))","endCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]}]},"assign-statement":{"patterns":[{"begin":"(?i)\\\\b(assign)\\\\b","beginCaptures":{"1":{"name":"keyword.control.assign.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.assign.fortran","patterns":[{"captures":{"1":{"name":"keyword.control.to.fortran"}},"match":"(?i)\\\\s*\\\\b(to)\\\\b"},{"include":"$base"}]}]},"assignment-keyword":{"begin":"(?i)\\\\G\\\\s*\\\\b(assignment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.assignment.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Assignment generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#assignment-operator"},{"include":"#invalid-word"}]},"assignment-operator":{"comment":"Introduced in the Fortran 1977 standard.","match":"(?<!\\\\/|=|<|>)(=)(?!=|>)","name":"keyword.operator.assignment.fortran"},"associate-construct":{"begin":"(?i)\\\\b(associate)\\\\b(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","contentName":"meta.block.associate.fortran","end":"(?i)\\\\b(end\\\\s*associate)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"asynchronous-attribute":{"captures":{"1":{"name":"storage.modifier.asynchronous.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\G\\\\s*\\\\b(asynchronous)\\\\b"},"attribute-specification-statement":{"begin":"(?i)(?=\\\\b(?:allocatable|asynchronous|contiguous|external|intrinsic|optional|parameter|pointer|private|protected|public|save|target|value|volatile)\\\\b|(bind|dimension|intent)\\\\s*\\\\(|(codimension)\\\\s*\\\\[)","end":"(?=[;!\\\\n])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#asynchronous-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#external-attribute"},{"include":"#intent-attribute"},{"include":"#intrinsic-attribute"},{"include":"#language-binding-attribute"},{"include":"#optional-attribute"},{"include":"#parameter-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#target-attribute"},{"include":"#value-attribute"},{"include":"#volatile-attribute"},{"begin":"(?=\\\\s*::)","comment":"Attribute list.","contentName":"meta.attribute-list.normal.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"include":"#invalid-word"}]},{"include":"#name-list"}]},"block-construct":{"begin":"(?i)\\\\b(block)\\\\b(?!\\\\s*\\\\bdata\\\\b)","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","contentName":"meta.block.block.fortran","end":"(?i)\\\\b(end\\\\s*block)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"block-data-definition":{"begin":"(?i)\\\\b(block\\\\s*data)\\\\b(?:\\\\s+([a-z]\\\\w*)\\\\b)?","beginCaptures":{"1":{"name":"keyword.control.block-data.fortran"},"2":{"name":"entity.name.block-data.fortran"}},"end":"(?i)\\\\b(?:(end\\\\s*block\\\\s*data)(?:\\\\s+(\\\\2))?|(end))\\\\b(?:\\\\s*(\\\\S((?!\\\\n).)*))?","endCaptures":{"1":{"name":"keyword.control.end-block-data.fortran"},"2":{"name":"entity.name.block-data.fortran"},"3":{"name":"keyword.control.end-block-data.fortran"},"4":{"name":"invalid.error.block-data-definition.fortran"}},"name":"meta.block-data.fortran","patterns":[{"include":"$base"}]},"brackets":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"call-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(call)\\\\b","beginCaptures":{"1":{"name":"keyword.control.call.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.call.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*([a-z]\\\\w*)(%)([a-z]\\\\w*)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.other.fortran"},"2":{"name":"keyword.accessor.fortran"},"3":{"name":"entity.name.function.subroutine.fortran"}},"comment":"type-bound subroutines","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"include":"#intrinsic-subroutines"},{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"User defined subroutine.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"entity.name.function.subroutine.fortran"}},"comment":"User defined subroutine.","match":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b(?=\\\\s*[;!\\\\n])"},{"include":"$base"}]}]},"character-type":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"begin":"(?i)\\\\b(character)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.character.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"storage.type.character.fortran"},"2":{"name":"keyword.operator.multiplication.fortran"},"3":{"name":"constant.numeric.fortran"}},"match":"(?i)\\\\b(character)\\\\b(?:\\\\s*(\\\\*)\\\\s*(\\\\d*))?"}]},"codimension-attribute":{"begin":"(?i)\\\\G\\\\s*\\\\b(codimension)(?=\\\\s*\\\\[)","beginCaptures":{"1":{"name":"storage.modifier.codimension.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","patterns":[{"include":"#brackets"}]},"comments":{"begin":"!","end":"(?=\\\\n)","name":"comment.line.fortran"},"common-statement":{"begin":"(?i)\\\\b(common)\\\\b","beginCaptures":{"1":{"name":"keyword.control.common.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"$base"}]},"concurrent-attribute":{"begin":"(?i)\\\\G\\\\s*\\\\b(concurrent)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},"constants":{"patterns":[{"include":"#logical-constant"},{"include":"#numeric-constant"},{"include":"#string-constant"}]},"contiguous-attribute":{"captures":{"1":{"name":"storage.modifier.contigous.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","match":"(?i)\\\\G\\\\s*\\\\b(contiguous)\\\\b"},"continue-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(continue)\\\\b","beginCaptures":{"1":{"name":"keyword.control.continue.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.continue.fortran","patterns":[{"include":"#invalid-character"}]}]},"control-constructs":{"patterns":[{"include":"#named-control-constructs"},{"include":"#unnamed-control-constructs"}]},"control-statements":{"comment":"Statements controlling the flow of the program","patterns":[{"include":"#assign-statement"},{"include":"#call-statement"},{"include":"#continue-statement"},{"include":"#cycle-statement"},{"include":"#entry-statement"},{"include":"#error-stop-statement"},{"include":"#exit-statement"},{"include":"#goto-statement"},{"include":"#pause-statement"},{"include":"#return-statement"},{"include":"#stop-statement"},{"include":"#where-statement"},{"include":"#image-control-statement"}]},"cpp-numeric-constant":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.unit.suffix.floating-point.cpp"},"12":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\\\w))?((?:\\\\w(?<![0-9a-fA-FpP])\\\\w*)?$)"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.unit.suffix.floating-point.cpp"},"11":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[0-9.])(?!0[xXbB])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=\\\\d)\\\\.|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\\\w))?((?:\\\\w(?<![0-9eE])\\\\w*)?$)"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<!\\\\d)\\\\w*)?$)"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<!\\\\d)\\\\w*)?$)"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.unit.suffix.integer.cpp"},"9":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<![0-9a-fA-FpP])\\\\w*)?$)"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.unit.suffix.integer.cpp"},"8":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[0-9.])(?!0[xXbB])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<![0-9eE])\\\\w*)?$)"},{"match":"(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])*"},"critical-construct":{"begin":"(?i)\\\\b(critical)\\\\b","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","contentName":"meta.block.critical.fortran","end":"(?i)\\\\b(end\\\\s*critical)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"cycle-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(cycle)\\\\b","beginCaptures":{"1":{"name":"keyword.control.cycle.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.fortran","patterns":[]}]},"data-statement":{"begin":"(?i)\\\\b(data)\\\\b","beginCaptures":{"1":{"name":"keyword.control.data.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"$base"}]},"deallocate-statement":{"begin":"(?i)\\\\b(deallocate)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.deallocate.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.deallocate.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"deferred-attribute":{"captures":{"1":{"name":"storage.modifier.deferred.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(deferred)\\\\b"},"derived-type":{"begin":"(?i)\\\\b(?:(class)|(type))\\\\s*(\\\\()\\\\s*(([a-z]\\\\w*)|\\\\*)","beginCaptures":{"1":{"name":"storage.type.class.fortran"},"2":{"name":"storage.type.type.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"entity.name.type.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","contentName":"meta.type-spec.fortran","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.specification.type.derived.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"derived-type-component-attribute-specification":{"begin":"(?i)(?=\\\\s*\\\\b(?:private|sequence)\\\\b)","comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#sequence-attribute"},{"include":"#invalid-character"}]},"derived-type-component-parameter-specification":{"captures":{"1":{"name":"storage.type.integer.fortran"},"2":{"name":"punctuation.comma.fortran"},"3":{"name":"keyword.other.attribute.derived-type.parameter.fortran"},"4":{"name":"keyword.operator.double-colon.fortran"},"5":{"name":"entity.name.derived-type.parameter.fortran"}},"comment":"Derived type parameter.","match":"(?i)\\\\b(integer)\\\\s*(,)\\\\s*(kind|len)\\\\s*(?:(::)\\\\s*([a-z]\\\\w*)?)?\\\\s*(?=[;!\\\\n])"},"derived-type-component-procedure-specification":{"begin":"(?i)(?=\\\\b(?:procedure)\\\\b)","comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-component-procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#pass-attribute"},{"include":"#nopass-attribute"},{"include":"#invalid-word"},{"include":"#pointer-attribute"}]}]},{"include":"#procedure-name-list"}]},"derived-type-component-type-specification":{"begin":"(?i)(?=\\\\b(?:character|class|complex|double\\\\s*precision|double\\\\s*complex|integer|logical|real|type)\\\\b(?![^:'\\";!\\\\n]*\\\\bfunction\\\\b))","comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.derived-type.fortran","patterns":[{"include":"#types"},{"include":"#line-continuation-operator"},{"begin":"(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-component-type.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#pointer-attribute"},{"include":"#invalid-word"}]}]},{"include":"#name-list"}]},"derived-type-contains-attribute-specification":{"begin":"(?i)(?=\\\\b(?:private)\\\\b)","comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#invalid-character"}]},"derived-type-contains-final-procedure-specification":{"begin":"(?i)\\\\b(final)\\\\b","beginCaptures":{"1":{"name":"storage.type.final-procedure.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.final.fortran","patterns":[{"begin":"(?=\\\\s*(::))","comment":"Attribute list.","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"name":"meta.attribute-list.derived-type-contains-final-procedure.fortran","patterns":[{"include":"#invalid-word"}]},{"include":"#procedure-name"}]},"derived-type-contains-generic-procedure-specification":{"begin":"(?i)\\\\b(generic)\\\\b","beginCaptures":{"1":{"name":"storage.type.procedure.generic.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.generic.fortran","patterns":[{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-contains-generic-procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#invalid-word"}]}]},{"begin":"(?=\\\\s*[a-z])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[;!\\\\n])","patterns":[{"include":"#IO-keywords"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#procedure-name"},{"include":"#pointer-operators"}]}]},"derived-type-contains-procedure-specification":{"begin":"(?i)(?=\\\\b(?:procedure)\\\\b)","comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-contains-procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","name":"meta.something.fortran","patterns":[{"include":"#access-attribute"},{"include":"#deferred-attribute"},{"include":"#non-overridable-attribute"},{"include":"#nopass-attribute"},{"include":"#pass-attribute"},{"include":"#invalid-word"}]}]},{"include":"#procedure-name-list"}]},"derived-type-definition":{"begin":"(?i)\\\\b(type)\\\\b(?!\\\\s*(\\\\(|is\\\\b|=))","beginCaptures":{"1":{"name":"keyword.control.type.fortran"}},"end":"(?=[;!\\\\n])","name":"meta.derived-type.definition.fortran","patterns":[{"begin":"\\\\G(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#abstract-attribute"},{"include":"#language-binding-attribute"},{"include":"#extends-attribute"},{"include":"#invalid-word"}]}]},{"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.type.fortran"}},"end":"(?i)(?:^|(?<=;))\\\\s*(end\\\\s*type)(?:\\\\s+(?:(\\\\1)|(\\\\w+)))?\\\\b","endCaptures":{"1":{"name":"keyword.control.endtype.fortran"},"2":{"name":"entity.name.type.fortran"},"3":{"name":"invalid.error.derived-type.fortran"}},"patterns":[{"include":"#dummy-variable-list"},{"include":"#comments"},{"begin":"(?i)^(?!\\\\s*\\\\b(?:contains|end\\\\s*type)\\\\b)","comment":"Derived type specification block.","end":"(?i)^(?=\\\\s*\\\\b(?:contains|end\\\\s*type)\\\\b)","name":"meta.block.specification.derived-type.fortran","patterns":[{"include":"#comments"},{"include":"#derived-type-component-attribute-specification"},{"include":"#derived-type-component-parameter-specification"},{"include":"#derived-type-component-procedure-specification"},{"include":"#derived-type-component-type-specification"}]},{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Derived type contains block.","end":"(?i)(?=\\\\s*end\\\\s*type\\\\b)","name":"meta.block.contains.fortran","patterns":[{"include":"#comments"},{"include":"#derived-type-contains-attribute-specification"},{"include":"#derived-type-contains-final-procedure-specification"},{"include":"#derived-type-contains-generic-procedure-specification"},{"include":"#derived-type-contains-procedure-specification"}]}]}]},"derived-type-operators":{"captures":{"1":{"name":"keyword.other.selector.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","match":"\\\\s*(\\\\%)"},"dimension-attribute":{"begin":"(?i)\\\\s*\\\\b(dimension)(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.modifier.dimension.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?<!\\\\G)","patterns":[{"include":"#parentheses-dummy-variables"}]},"do-construct":{"patterns":[{"captures":{"1":{"name":"keyword.control.enddo.fortran"}},"match":"(?i)\\\\b(end\\\\s*do)\\\\b"},{"begin":"(?i)\\\\b(do)\\\\s+(\\\\d{1,5})","beginCaptures":{"1":{"name":"keyword.control.do.fortran"},"2":{"name":"constant.numeric.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?i)(?:^|(?<=;))(?=\\\\s*\\\\b\\\\2\\\\b)","name":"meta.do.labeled.fortran","patterns":[{"begin":"(?i)\\\\G(?:\\\\s*(,)|(?!\\\\s*[;!\\\\n]))","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"comment":"Loop control.","end":"(?=[;!\\\\n])","patterns":[{"include":"#concurrent-attribute"},{"include":"#while-attribute"},{"include":"$base"}]},{"include":"$base"}]},{"begin":"(?i)\\\\b(do)\\\\b","beginCaptures":{"1":{"name":"keyword.control.do.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","end":"(?i)\\\\b(?:(continue)|(end\\\\s*do))\\\\b","endCaptures":{"1":{"name":"keyword.control.continue.fortran"},"2":{"name":"keyword.control.enddo.fortran"}},"name":"meta.block.do.unlabeled.fortran","patterns":[{"begin":"(?i)\\\\G(?:\\\\s*(,)|(?!\\\\s*[;!\\\\n]))","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"comment":"Loop control.","end":"(?=[;!\\\\n])","name":"meta.loop-control.fortran","patterns":[{"include":"#concurrent-attribute"},{"include":"#while-attribute"},{"include":"$base"}]},{"begin":"(?i)(?!\\\\s*\\\\b(continue|end\\\\s*do)\\\\b)","comment":"Loop body.","end":"(?i)(?=\\\\s*\\\\b(continue|end\\\\s*do)\\\\b)","patterns":[{"include":"$base"}]}]}]},"dummy-variable":{"captures":{"1":{"name":"variable.parameter.fortran"}},"comment":"dummy variable","match":"(?i)(?:^|(?<=[&,(]))\\\\s*([a-z]\\\\w*)"},"dummy-variable-list":{"begin":"\\\\G\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.fortran"}},"end":"\\\\)|(?=\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.fortran"}},"name":"meta.dummy-variable-list","patterns":[{"include":"#dummy-variable"}]},"elemental-attribute":{"captures":{"1":{"name":"storage.modifier.elemental.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(elemental)\\\\b"},"entry-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(entry)\\\\b","beginCaptures":{"1":{"name":"keyword.control.entry.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.entry.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.entry.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#dummy-variable-list"},{"include":"#result-statement"},{"include":"#language-binding-attribute"}]}]}]},"enum-block-construct":{"begin":"(?i)\\\\b(enum)\\\\b","beginCaptures":{"1":{"name":"keyword.control.enum.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?i)\\\\b(end\\\\s*enum)\\\\b","endCaptures":{"1":{"name":"keyword.control.end-enum.fortran"}},"name":"meta.enum.fortran","patterns":[{"begin":"\\\\G\\\\s*(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#language-binding-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)(?!\\\\s*\\\\b(end\\\\s*enum)\\\\b)","end":"(?i)(?=\\\\b(end\\\\s*enum)\\\\b)","name":"meta.block.specification.enum.fortran","patterns":[{"include":"#comments"},{"begin":"(?i)\\\\b(enumerator)\\\\b","beginCaptures":{"1":{"name":"keyword.other.enumerator.fortran"}},"end":"(?=[;!\\\\n])","name":"meta.statement.enumerator-specification.fortran","patterns":[{"begin":"(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.enum.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"include":"#invalid-word"}]},{"include":"#comments"},{"include":"#name-list"}]}]}]},"equivalence-statement":{"begin":"(?i)\\\\b(equivalence)\\\\b","beginCaptures":{"1":{"name":"keyword.control.common.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(?:\\\\G|(,))","beginCaptures":{"1":{"name":"puntuation.comma.fortran"}},"end":"(?=[,;!\\\\n])","patterns":[{"include":"#parentheses-dummy-variables"}]}]},"error-stop-statement":{"begin":"(?i)\\\\s*\\\\b(error\\\\s+stop)\\\\b","beginCaptures":{"1":{"name":"keyword.control.errorstop.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.errorstop.fortran","patterns":[{"include":"#constants"},{"include":"#string-operators"},{"include":"#variable"},{"include":"#invalid-character"}]},"event-statement":{"begin":"(?i)\\\\b(event post|event wait)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.event.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.event.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"execution-statements":{"patterns":[{"include":"#allocate-statement"},{"include":"#deallocate-statement"},{"include":"#IO-statements"},{"include":"#nullify-statement"}]},"exit-statement":{"begin":"(?i)\\\\s*\\\\b(exit)\\\\b","beginCaptures":{"1":{"name":"keyword.control.exit.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.exit.fortran","patterns":[]},"explicit-interface-block-construct":{"begin":"(?i)\\\\b(interface)\\\\b(?=\\\\s*[;!\\\\n])","beginCaptures":{"1":{"name":"keyword.control.interface.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran.modern"}},"name":"meta.interface.explicit.fortran","patterns":[{"include":"$base"}]},"extends-attribute":{"begin":"(?i)\\\\s*\\\\b(extends)\\\\s*\\\\(","beginCaptures":{"1":{"name":"storage.modifier.extends.fortran"}},"end":"(?:\\\\)|(?=\\\\n))","patterns":[{"match":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","name":"entity.name.type.fortran"}]},"external-attribute":{"captures":{"1":{"name":"storage.modifier.external.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(external)\\\\b"},"fail-image-statement":{"captures":{"1":{"name":"keyword.control.fail-image.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","match":"\\\\b(fail image)\\\\b","name":"meta.statement.fail-image.fortran"},"forall-construct":{"applyEndPatternLast":1,"begin":"(?i)\\\\b(forall)\\\\b","beginCaptures":{"1":{"name":"keyword.control.forall.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","end":"(?<!\\\\G)","patterns":[{"begin":"(?i)\\\\G(?!\\\\s*[;!\\\\n])","comment":"Loop control.","end":"(?<!\\\\G)","name":"meta.loop-control.fortran","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},{"begin":"(?<=\\\\))(?=\\\\s*[;!\\\\n])","end":"(?i)\\\\b(end\\\\s*forall)\\\\b","endCaptures":{"1":{"name":"keyword.control.endforall.fortran"}},"name":"meta.block.forall.fortran","patterns":[{"include":"$base"}]},{"begin":"(?i)(?<=\\\\))(?!\\\\s*[;!\\\\n])","end":"\\\\n","name":"meta.statement.control.forall.fortran","patterns":[{"include":"$base"}]}]},"form-team-statement":{"begin":"(?i)\\\\b(form team)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.form-team.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.form-team.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"function-definition":{"begin":"(?i)(?=([^:'\\";!\\\\n](?!\\\\bend)(?!\\\\bsubroutine\\\\b))*\\\\bfunction\\\\b)","comment":"Function program unit. Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.function.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bfunction\\\\b))","comment":"Function attribute list.","end":"(?i)(?=\\\\bfunction\\\\b)","name":"meta.attribute-list.function.fortran","patterns":[{"include":"#elemental-attribute"},{"include":"#module-attribute"},{"include":"#pure-attribute"},{"include":"#recursive-attribute"},{"include":"#types"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\b(function)\\\\b","beginCaptures":{"1":{"name":"keyword.other.function.fortran"}},"comment":"Captures the function keyword","end":"(?=[;!\\\\n])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.fortran"}},"comment":"Function body.","end":"(?i)\\\\s*\\\\b(?:(end\\\\s*function)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endfunction.fortran"},"2":{"name":"entity.name.function.fortran"},"3":{"name":"keyword.other.endfunction.fortran"},"4":{"name":"invalid.error.function.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[;!\\\\n])","comment":"Rest of the first line in function construct.","end":"(?=[;!\\\\n])","name":"meta.function.first-line.fortran","patterns":[{"include":"#dummy-variable-list"},{"include":"#result-statement"},{"include":"#language-binding-attribute"}]},{"begin":"(?i)(?!\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*function\\\\b))","comment":"Specification and execution block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*function\\\\b))","name":"meta.block.specification.function.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Contains block.","end":"(?i)(?=(?:end\\\\s*[;!\\\\n]|end\\\\s*function\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]}]},"generic-interface-block-construct":{"begin":"(?i)\\\\b(interface)\\\\b","beginCaptures":{"1":{"name":"keyword.control.interface.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.interface.generic.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(assignment)\\\\s*(\\\\()\\\\s*(?:(=)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.assignment.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"keyword.operator.assignment.fortran"},"4":{"name":"invalid.error.generic-interface.fortran"},"5":{"name":"punctuation.parentheses.right.fortran"}},"comment":"Assignment generic interface.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(\\\\1)\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\3)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.assignment.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.operator.assignment.fortran"},"5":{"name":"invalid.error.generic-interface-end.fortran"},"6":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(operator)\\\\s*(\\\\()\\\\s*(?:(\\\\.[a-z]+\\\\.|==|\\\\/=|>=|>|<|<=|-|\\\\+|\\\\/|\\\\/\\\\/|\\\\*\\\\*|\\\\*)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.operator.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"keyword.operator.fortran"},"4":{"name":"invalid.error.generic-interface-block-op.fortran"},"5":{"name":"punctuation.parentheses.right.fortran"}},"comment":"Operator generic interface.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(\\\\1)\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\3)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.operator.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.operator.fortran"},"5":{"name":"invalid.error.generic-interface-block-op-end.fortran"},"6":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()\\\\s*(?:(formatted)|(unformatted)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.read.fortran"},"2":{"name":"keyword.other.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.other.formatted.fortran"},"5":{"name":"keyword.other.unformatted.fortran"},"6":{"name":"invalid.error.generic-interface-block.fortran"},"7":{"name":"punctuation.parentheses.right.fortran"}},"comment":"Read/Write generic interface.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(?:(\\\\2)|(\\\\3))\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\4)|(\\\\5)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.read.fortran"},"3":{"name":"keyword.other.write.fortran"},"4":{"name":"punctuation.parentheses.left.fortran"},"5":{"name":"keyword.other.formatted.fortran"},"6":{"name":"keyword.other.unformatted.fortran"},"7":{"name":"invalid.error.generic-interface-block-end.fortran"},"8":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.fortran"}},"comment":"Generic interface.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(\\\\1)\\\\b)?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"entity.name.function.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]}]},"goto-statement":{"begin":"(?i)\\\\s*\\\\b(go\\\\s*to)\\\\b","beginCaptures":{"1":{"name":"keyword.control.goto.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.goto.fortran","patterns":[{"include":"$base"}]},"if-construct":{"patterns":[{"begin":"(?i)\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#logical-control-expression"},{"begin":"(?i)\\\\s*\\\\b(then)\\\\b","beginCaptures":{"1":{"name":"keyword.control.then.fortran"}},"contentName":"meta.block.if.fortran","end":"(?i)\\\\b(end\\\\s*if)\\\\b","endCaptures":{"1":{"name":"keyword.control.endif.fortran"}},"patterns":[{"begin":"(?i)\\\\b(else\\\\s*if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.elseif.fortran"}},"comment":"else if statement","end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"captures":{"1":{"name":"keyword.control.then.fortran"},"2":{"name":"meta.label.elseif.fortran"}},"comment":"capture the label if present","match":"(?i)\\\\b(then)\\\\b(\\\\s*[a-z]\\\\w*)?"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\b(else)\\\\b","beginCaptures":{"1":{"name":"keyword.control.else.fortran"}},"comment":"else block","end":"(?i)(?=\\\\b(end\\\\s*if)\\\\b)","patterns":[{"begin":"(?!(\\\\s*(;|!|\\\\n)))","comment":"rest of else line","end":"(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"meta.label.else.fortran"},"2":{"name":"invalid.error.label.else.fortran"}},"comment":"capture the label if present","match":"\\\\s*([a-z]\\\\w*)?\\\\s*\\\\b(\\\\w*)\\\\b"},{"include":"#invalid-word"}]},{"begin":"(?i)(?!\\\\b(end\\\\s*if)\\\\b)","end":"(?i)(?=\\\\b(end\\\\s*if)\\\\b)","patterns":[{"include":"$base"}]}]},{"include":"$base"}]},{"begin":"(?i)(?=\\\\s*[a-z])","end":"(?=[;!\\\\n])","name":"meta.statement.control.if.fortran","patterns":[{"include":"$base"}]}]}]},"image-control-statement":{"patterns":[{"include":"#sync-all-statement"},{"include":"#sync-statement"},{"include":"#event-statement"},{"include":"#form-team-statement"},{"include":"#fail-image-statement"}]},"implicit-statement":{"begin":"(?i)\\\\b(implicit)\\\\b","beginCaptures":{"1":{"name":"keyword.other.implicit.fortran"}},"end":"(?=[;!\\\\n])","name":"meta.statement.implicit.fortran","patterns":[{"captures":{"1":{"name":"keyword.other.none.fortran"}},"match":"(?i)\\\\s*\\\\b(none)\\\\b"},{"include":"$base"}]},"import-statement":{"begin":"(?i)\\\\b(import)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.include.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*(?:(::)|(?=[a-z]))","beginCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#name-list"}]},{"begin":"\\\\G\\\\s*(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.other.all.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(all)\\\\b"},{"captures":{"1":{"name":"keyword.other.none.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(none)\\\\b"},{"begin":"(?i)\\\\G\\\\s*\\\\b(only)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.only.fortran"},"2":{"name":"keyword.other.colon.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#name-list"}]},{"include":"#invalid-word"}]}]},"include-statement":{"begin":"(?i)\\\\b(include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.include.fortran","patterns":[{"include":"#string-constant"},{"include":"#invalid-character"}]},"intent-attribute":{"begin":"(?i)\\\\s*\\\\b(intent)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.intent.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(\\\\))|(?=[;!\\\\n])","endCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"patterns":[{"captures":{"1":{"name":"storage.modifier.intent.in-out.fortran"},"2":{"name":"storage.modifier.intent.in.fortran"},"3":{"name":"storage.modifier.intent.out.fortran"}},"match":"(?i)\\\\b(?:(in\\\\s*out)|(in)|(out))\\\\b"},{"include":"#invalid-word"}]},"interface-block-constructs":{"patterns":[{"include":"#abstract-interface-block-construct"},{"include":"#explicit-interface-block-construct"},{"include":"#generic-interface-block-construct"}]},"interface-procedure-statement":{"begin":"(?i)(?=[^'\\";!\\\\n]*\\\\bprocedure\\\\b)","comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.procedure.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bprocedure\\\\b))","comment":"Attribute list.","end":"(?i)(?=\\\\bprocedure\\\\b)","name":"meta.attribute-list.interface.fortran","patterns":[{"include":"#module-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\s*\\\\b(procedure)\\\\b","beginCaptures":{"1":{"name":"keyword.other.procedure.fortran"}},"comment":"Procedure statement.","end":"(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"match":"\\\\G\\\\s*(::)"},{"include":"#procedure-name-list"}]}]},"intrinsic-attribute":{"captures":{"1":{"name":"storage.modifier.intrinsic.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(intrinsic)\\\\b"},"intrinsic-functions":{"patterns":[{"begin":"(?i)\\\\b(acosh|asinh|atanh|bge|bgt|ble|blt|dshiftl|dshiftr|findloc|hypot|iall|iany|image_index|iparity|is_contiguous|lcobound|leadz|mask[lr]|merge_bits|norm2|num_images|parity|popcnt|poppar|shift[alr]|storage_size|this_image|trailz|ucobound)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(bessel_[jy][01n]|erf(c(_scaled)?)?|gamma|log_gamma)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic FORTRAN_SPECIAL_FUNCTIONS module. Introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(command_argument_count|extends_type_of|is_iostat_end|is_iostat_eor|new_line|same_type_as|selected_char_kind)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(ieee_(class|copy_sign|is_(finite|nan|negative|normal)|logb|next_after|rem|rint|scalb|selected_real_kind|support_(datatype|denormal|divide|inf|io|nan|rounding|sqrt|standard|underflow_control)|unordered|value))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic IEEE_ARITHMETIC module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(ieee_support_(flag|halting))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic IEEE_EXCEPTIONS module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(c_(associated|funloc|loc|sizeof))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"}},"comment":"Functions accessable through the intrinsic ISO_C_BINDING module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(compiler_(options|version))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic ISO_FORTRAN_ENV module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(null)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 1995 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b(achar|adjustl|adjustr|all|allocated|associated|any|bit_size|btest|ceiling|count|cshift|digits|dot_product|eoshift|epsilon|exponent|floor|fraction|huge|iachar|iand|ibclr|ibits|ibset|ieor|ior|ishftc?|kind|lbound|len_trim|logical|matmul|maxexponent|maxloc|maxval|merge|minexponent|minloc|minval|modulo|nearest|not|pack|precision|present|product|radix|range|repeat|reshape|rrspacing|scale|scan|selected_(int|real)_kind|set_exponent|shape|size|spacing|spread|sum|tiny|transfer|transpose|trim|ubound|unpack|verify)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\b([icd]?abs|acos|[ad]int|[ad]nint|aimag|amax[01]|amin[01]|d?asin|d?atan|d?atan2|char|conjg|[cd]?cos|d?cosh|cmplx|dble|i?dim|dmax1|dmin1|dprod|[cd]?exp|float|ichar|idint|ifix|index|int|len|lge|lgt|lle|llt|[acd]?log|[ad]?log10|max[01]?|min[01]?|[ad]?mod|(id)?nint|real|[di]?sign|[cd]?sin|d?sinh|sngl|[cd]?sqrt|d?tan|d?tanh)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 1977 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]}]},"intrinsic-subroutines":{"patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(date_and_time|mvbits|random_number|random_seed|system_clock)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic subroutines introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(cpu_time)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic subroutines introduced in the Fortran 1995 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ieee_(get|set)_(rounding|underflow)_mode)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Subroutines accessable through the intrinsic IEEE_ARITHMETIC module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ieee_(get|set)_(flag|halting_mode|status))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Subroutines accessable through the intrinsic IEEE_EXCEPTIONS module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(c_f_(pointer|procpointer))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Subroutines accessable through the intrinsic ISO_C_BINDING module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(execute_command_line|get_command|get_command_argument|get_environment_variable|move_alloc)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic subroutines introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]}]},"invalid-character":{"match":"(?i)[^\\\\s;!\\\\n]+","name":"invalid.error.character.fortran"},"invalid-word":{"match":"(?i)\\\\b\\\\w+\\\\b","name":"invalid.error.word.fortran"},"language-binding-attribute":{"begin":"(?i)\\\\s*\\\\b(bind)\\\\s*\\\\(","beginCaptures":{"1":{"name":"storage.modifier.bind.fortran"}},"comment":"Introduced in Fortran 2003 standard.","end":"(?:\\\\)|(?=\\\\n))","patterns":[{"match":"(?i)\\\\b(c)\\\\b","name":"variable.parameter.fortran"},{"include":"#dummy-variable"},{"include":"$base"}]},"line-continuation-operator":{"comment":"Operator that allows a line to be continued on the next line.","patterns":[{"captures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"match":"(?:^|(?<=;))\\\\s*(&)"},{"begin":"\\\\s*(&)","beginCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"contentName":"meta.line-continuation.fortran","end":"(?i)^(?:\\\\s*(&))?","endCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"patterns":[{"include":"#comments"},{"match":"\\\\S[^!]*","name":"invalid.error.line-cont.fortran"}]}]},"logical-constant":{"captures":{"1":{"name":"constant.language.logical.false.fortran"},"2":{"name":"constant.language.logical.true.fortran"}},"comment":"Logical constants","match":"(?i)\\\\s*(?:(\\\\.false\\\\.)|(\\\\.true\\\\.))"},"logical-control-expression":{"begin":"\\\\G(?=\\\\s*\\\\()","end":"(?<!\\\\G)","name":"meta.expression.control.logical.fortran","patterns":[{"include":"#parentheses"}]},"logical-operators":{"patterns":[{"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)(\\\\s*\\\\.(and|eq|eqv|le|lt|ge|gt|ne|neqv|not|or)\\\\.)","name":"keyword.logical.fortran"},{"comment":"Introduced in the Fortran 1990 standard.","match":"(==|\\\\/=|>=|(?<!=)>|<=|<)","name":"keyword.logical.fortran.modern"}]},"logical-type":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"begin":"(?i)\\\\b(logical)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.logical.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"storage.type.character.fortran"},"2":{"name":"keyword.operator.multiplication.fortran"},"3":{"name":"constant.numeric.fortran"}},"match":"(?i)\\\\b(logical)\\\\b(?:\\\\s*(\\\\*)\\\\s*(\\\\d*))?"}]},"module-attribute":{"captures":{"1":{"name":"storage.modifier.module.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(module)\\\\b(?=\\\\s*(?:[;!\\\\n]|[^'\\";!\\\\n]*\\\\b(?:function|procedure|subroutine)\\\\b))"},"module-definition":{"begin":"(?i)(?=\\\\b(module)\\\\b)(?![^'\\";!\\\\n]*\\\\b(?:function|procedure|subroutine)\\\\b)","comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.module.fortran","patterns":[{"captures":{"1":{"name":"keyword.other.program.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(module)\\\\b"},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.class.module.fortran"}},"comment":"Module body.","end":"(?i)\\\\b(?:(end\\\\s*module)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endmodule.fortran"},"2":{"name":"entity.name.class.module.fortran"},"3":{"name":"keyword.other.endmodule.fortran"},"4":{"name":"invalid.error.module-definition.fortran"}},"patterns":[{"begin":"\\\\G","comment":"Module specification block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*module\\\\b))","name":"meta.block.specification.module.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Module contains block.","end":"(?i)(?=\\\\s*(?:end\\\\s*[;!\\\\n]|end\\\\s*module\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"name-list":{"begin":"(?i)(?=\\\\s*[a-z])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[);!\\\\n])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"named-control-constructs":{"applyEndPatternLast":1,"begin":"(?i)([a-z]\\\\w*)\\\\s*(:)(?=\\\\s*(?:associate|block(?!\\\\s*data)|critical|do|forall|if|select\\\\s*case|select\\\\s*type|select\\\\s*rank|where)\\\\b)","comment":"Introduced in the Fortran 1990 standard.","contentName":"meta.named-construct.fortran.modern","end":"(?i)(?!\\\\s*\\\\b(?:associate|block(?!\\\\s*data)|critical|do|forall|if|select\\\\s*case|select\\\\s*type|select\\\\s*rank|where)\\\\b)(?:\\\\b(\\\\1)\\\\b)?([^\\\\s;!\\\\n]*?)?(?=\\\\s*[;!\\\\n])","endCaptures":{"1":{"name":"meta.label.end.name.fortran"},"2":{"name":"invalid.error.named-control-constructs.fortran.modern"}},"patterns":[{"include":"#unnamed-control-constructs"}]},"namelist-statement":{"begin":"(?i)\\\\b(namelist)\\\\b","beginCaptures":{"1":{"name":"keyword.control.namelist.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","patterns":[{"include":"$base"}]},"non-intrinsic-attribute":{"captures":{"1":{"name":"storage.modifier.non-intrinsic.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(non_intrinsic)\\\\b"},"non-overridable-attribute":{"captures":{"1":{"name":"storage.modifier.non-overridable.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(non_overridable)\\\\b"},"nopass-attribute":{"captures":{"1":{"name":"storage.modifier.nopass.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(nopass)\\\\b"},"nullify-statement":{"begin":"(?i)\\\\b(nullify)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.nullify.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.nullify.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"numeric-constant":{"comment":"Numeric constants","match":"(?i)[+\\\\-]?(\\\\b\\\\d+\\\\.?\\\\d*|\\\\.\\\\d+)(_\\\\w+|d[+\\\\-]?\\\\d+|e[+\\\\-]?\\\\d+(_\\\\w+)?)?(?![a-z_])","name":"constant.numeric.fortran"},"numeric-type":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"begin":"(?i)\\\\b(?:(complex)|(double\\\\s*precision)|(double\\\\s*complex)|(integer)|(real))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.complex.fortran"},"2":{"name":"storage.type.double.fortran"},"3":{"name":"storage.type.doublecomplex.fortran"},"4":{"name":"storage.type.integer.fortran"},"5":{"name":"storage.type.real.fortran"},"6":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"storage.type.complex.fortran"},"2":{"name":"storage.type.double.fortran"},"3":{"name":"storage.type.doublecomplex.fortran"},"4":{"name":"storage.type.integer.fortran"},"5":{"name":"storage.type.real.fortran"},"6":{"name":"storage.type.dimension.fortran"},"7":{"name":"keyword.operator.multiplication.fortran"},"8":{"name":"constant.numeric.fortran"}},"match":"(?i)\\\\b(?:(complex)|(double\\\\s*precision)|(double\\\\s*complex)|(integer)|(real)|(dimension))\\\\b(?:\\\\s*(\\\\*)\\\\s*(\\\\d*))?"}]},"operator-keyword":{"begin":"(?i)\\\\s*\\\\b(operator)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.operator.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Operator generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#arithmetic-operators"},{"include":"#logical-operators"},{"include":"#user-defined-operators"},{"include":"#invalid-word"}]},"operators":{"patterns":[{"include":"#arithmetic-operators"},{"include":"#assignment-operator"},{"include":"#derived-type-operators"},{"include":"#logical-operators"},{"include":"#pointer-operators"},{"include":"#string-operators"},{"include":"#user-defined-operators"}]},"optional-attribute":{"captures":{"1":{"name":"storage.modifier.optional.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(optional)\\\\b"},"parameter-attribute":{"captures":{"1":{"name":"storage.modifier.parameter.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(parameter)\\\\b"},"parentheses":{"begin":"\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"parentheses-dummy-variables":{"begin":"\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#procedure-call-dummy-variable"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"pass-attribute":{"comment":"Introduced in the Fortran 2003 standard.","patterns":[{"begin":"(?i)\\\\s*\\\\b(pass)\\\\s*\\\\(","beginCaptures":{"1":{"name":"storage.modifier.pass.fortran"}},"comment":"Pass attribute with argument.","end":"\\\\)|(?=\\\\n)","patterns":[]},{"captures":{"1":{"name":"storage.modifier.pass.fortran"}},"comment":"Pass attribute without argument.","match":"(?i)\\\\s*\\\\b(pass)\\\\b"}]},"pause-statement":{"begin":"(?i)\\\\s*\\\\b(pause)\\\\b","beginCaptures":{"1":{"name":"keyword.control.pause.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.pause.fortran","patterns":[{"include":"#constants"},{"include":"#invalid-character"}]},"pointer-attribute":{"captures":{"1":{"name":"storage.modifier.pointer.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(pointer)\\\\b"},"pointer-operators":{"comment":"Introduced in the Fortran 1990 standard.","match":"(=>)","name":"keyword.other.point.fortran"},"preprocessor":{"begin":"^\\\\s*(#:?)","beginCaptures":{"1":{"name":"keyword.control.preprocessor.indicator.fortran"}},"end":"\\\\n","name":"meta.preprocessor","patterns":[{"include":"#preprocessor-if-construct"},{"include":"#preprocessor-statements"}]},"preprocessor-arithmetic-operators":{"captures":{"1":{"name":"keyword.operator.subtraction.fortran"},"2":{"name":"keyword.operator.addition.fortran"},"3":{"name":"keyword.operator.division.fortran"},"4":{"name":"keyword.operator.multiplication.fortran"}},"comment":"division regex is different than in main fortran","match":"(-)|(\\\\+)|(\\\\/)|(\\\\*)"},"preprocessor-assignment-operator":{"comment":"assignments with = are not allowed","match":"(?<!=)(=)(?!=)","name":"keyword.operator.assignment.preprocessor.fortran"},"preprocessor-comments":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.preprocessor"},"preprocessor-constants":{"patterns":[{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-string-constant"}]},"preprocessor-define-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(define)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.define.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.macro.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-constants"},{"include":"#preprocessor-line-continuation-operator"}]},"preprocessor-defined-function":{"captures":{"1":{"name":"keyword.control.preprocessor.defined.fortran"}},"match":"(?i)\\\\b(defined)\\\\b"},"preprocessor-error-statement":{"begin":"(?i)\\\\G\\\\s*(error)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.error.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.macro.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"},{"include":"#preprocessor-line-continuation-operator"}]},"preprocessor-if-construct":{"patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.if.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.conditional.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-defined-function"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ifdef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.ifdef.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ifndef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.ifndef.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(else)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.else.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(elif)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.elif.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-defined-function"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(endif)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.endif.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"}]}]},"preprocessor-include-statement":{"begin":"(?i)\\\\G\\\\s*(include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.include.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.include.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.other.lt-gt.include.preprocessor.fortran"},{"include":"#line-continuation-operator"}]},"preprocessor-line-continuation-operator":{"begin":"\\\\s*(\\\\\\\\)","beginCaptures":{"1":{"name":"constant.character.escape.line-continuation.preprocessor.fortran"}},"end":"(?i)^"},"preprocessor-logical-operators":{"captures":{"1":{"name":"keyword.operator.logical.preprocessor.and.fortran"},"2":{"name":"keyword.operator.logical.preprocessor.equals.fortran"},"3":{"name":"keyword.operator.logical.preprocessor.not_equals.fortran"},"4":{"name":"keyword.operator.logical.preprocessor.or.fortran"},"5":{"name":"keyword.operator.logical.preprocessor.less_eq.fortran"},"6":{"name":"keyword.operator.logical.preprocessor.more_eq.fortran"},"7":{"name":"keyword.operator.logical.preprocessor.less.fortran"},"8":{"name":"keyword.operator.logical.preprocessor.more.fortran"},"9":{"name":"keyword.operator.logical.preprocessor.complementary.fortran"},"10":{"name":"keyword.operator.logical.preprocessor.xor.fortran"},"11":{"name":"keyword.operator.logical.preprocessor.bitand.fortran"},"12":{"name":"keyword.operator.logical.preprocessor.not.fortran"},"13":{"name":"keyword.operator.logical.preprocessor.bitor.fortran"}},"comment":"and:&&, bitand:&, or:||, bitor:|, not eq:!=, not:!, xor:^, compl:~","match":"(&&)|(==)|(!=)|(\\\\|\\\\|)|(<=)|(>=)|(<)|(>)|(~)|(\\\\^)|(&)|(!)|(\\\\|)","name":"keyword.operator.logical.preprocessor.fortran"},"preprocessor-operators":{"patterns":[{"include":"#preprocessor-line-continuation-operator"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"}]},"preprocessor-pragma-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(pragma)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.pragma.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.pragma.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"}]},"preprocessor-statements":{"patterns":[{"include":"#preprocessor-define-statement"},{"include":"#preprocessor-error-statement"},{"include":"#preprocessor-include-statement"},{"include":"#preprocessor-preprocessor-pragma-statement"},{"include":"#preprocessor-undefine-statement"}]},"preprocessor-string-constant":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"comment":"Double quote string","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.double.include.preprocessor.fortran"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"comment":"Single quote string","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.single.include.preprocessor.fortran"}]},"preprocessor-undefine-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(undef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.undef.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-line-continuation-operator"}]},"private-attribute":{"captures":{"1":{"name":"storage.modifier.private.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(private)\\\\b"},"procedure-call-dummy-variable":{"match":"(?i)\\\\s*([a-z]\\\\w*)(?=\\\\s*=)(?!\\\\s*==)","name":"variable.parameter.dummy-variable.fortran.modern"},"procedure-definition":{"begin":"(?i)(?=[^'\\";!\\\\n]*\\\\bmodule\\\\s+procedure\\\\b)","comment":"Procedure program unit. Introduced in the Fortran 2008 standard.","end":"(?=[;!\\\\n])","name":"meta.procedure.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b(module\\\\s+procedure)\\\\b","beginCaptures":{"1":{"name":"keyword.other.procedure.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.procedure.fortran"}},"comment":"Procedure body.","end":"(?i)\\\\s*\\\\b(?:(end\\\\s*procedure)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endprocedure.fortran"},"2":{"name":"entity.name.function.procedure.fortran"},"3":{"name":"keyword.other.endprocedure.fortran"},"4":{"name":"invalid.error.procedure-definition.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[;!\\\\n])","comment":"Rest of the first line in procedure construct - should be empty.","end":"(?=[;!\\\\n])","name":"meta.first-line.fortran","patterns":[{"include":"#invalid-character"}]},{"begin":"(?i)(?!\\\\s*(?:contains\\\\b|end\\\\s*[;!\\\\n]|end\\\\s*procedure\\\\b))","comment":"Specification and execution block.","end":"(?i)(?=\\\\s*(?:contains\\\\b|end\\\\s*[;!\\\\n]|end\\\\s*procedure\\\\b))","name":"meta.block.specification.procedure.fortran","patterns":[{"include":"$self"}]},{"begin":"(?i)\\\\s*(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Contains block.","end":"(?i)(?=\\\\s*(?:end\\\\s*[;!\\\\n]|end\\\\s*procedure\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$self"}]}]}]}]},"procedure-name":{"captures":{"1":{"name":"entity.name.function.procedure.fortran"}},"comment":"Procedure name.","match":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b"},"procedure-name-list":{"begin":"(?i)(?=\\\\s*[a-z])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[;!\\\\n])","patterns":[{"begin":"(?!\\\\s*\\\\n)","end":"(,)|(?=[!;\\\\n])","endCaptures":{"1":{"name":"punctuation.comma.fortran"}},"patterns":[{"include":"#procedure-name"},{"include":"#pointer-operators"}]}]},"procedure-specification-statement":{"begin":"(?i)(?=\\\\b(?:procedure)\\\\b)","comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#intent-attribute"},{"include":"#optional-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#invalid-word"}]}]},{"include":"#procedure-name-list"}]},"procedure-type":{"comment":"Introduced in the Fortran ???? standard.","patterns":[{"begin":"(?i)\\\\b(procedure)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.procedure.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#types"},{"include":"#procedure-name"}]},{"captures":{"1":{"name":"storage.type.procedure.fortran"}},"match":"(?i)\\\\b(procedure)\\\\b"}]},"program-definition":{"begin":"(?i)(?=\\\\b(program)\\\\b)","comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.program.fortran","patterns":[{"captures":{"1":{"name":"keyword.control.program.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(program)\\\\b"},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.program.fortran"}},"comment":"Program body.","end":"(?i)\\\\b(?:(end\\\\s*program)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.control.endprogram.fortran"},"2":{"name":"entity.name.program.fortran"},"3":{"name":"keyword.control.endprogram.fortran"},"4":{"name":"invalid.error.program-definition.fortran"}},"patterns":[{"begin":"\\\\G","comment":"Program specification block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*program\\\\b))","name":"meta.block.specification.program.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Program contains block.","end":"(?i)(?=(?:end\\\\s*[;!\\\\n]|end\\\\s*program\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"protected-attribute":{"captures":{"1":{"name":"storage.modifier.protected.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(protected)\\\\b"},"public-attribute":{"captures":{"1":{"name":"storage.modifier.public.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(public)\\\\b"},"pure-attribute":{"captures":{"1":{"name":"storage.modifier.impure.fortran"},"2":{"name":"storage.modifier.pure.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","match":"(?i)\\\\s*\\\\b(?:(impure)|(pure))\\\\b"},"recursive-attribute":{"captures":{"1":{"name":"storage.modifier.non_recursive.fortran"},"2":{"name":"storage.modifier.recursive.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(?:(non_recursive)|(recursive))\\\\b"},"result-statement":{"begin":"(?i)\\\\s*\\\\b(result)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.result.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#dummy-variable"}]},"return-statement":{"begin":"(?i)\\\\s*\\\\b(return)\\\\b","beginCaptures":{"1":{"name":"keyword.control.return.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.return.fortran","patterns":[{"include":"#invalid-character"}]},"save-attribute":{"captures":{"1":{"name":"storage.modifier.save.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(save)\\\\b"},"select-case-construct":{"begin":"(?i)\\\\b(select\\\\s*case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selectcase.fortran"}},"comment":"Select case construct. Introduced in the Fortran 1990 standard.","end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.case.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.fortran"}},"end":"(?i)(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"select-rank-construct":{"begin":"(?i)\\\\b(select\\\\s*rank)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selectrank.fortran"}},"comment":"Select rank construct. Introduced in the Fortran 2008 standard.","end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.rank.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(rank)\\\\b","beginCaptures":{"1":{"name":"keyword.control.rank.fortran"}},"end":"(?i)(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"select-type-construct":{"begin":"(?i)\\\\b(select\\\\s*type)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selecttype.fortran"}},"comment":"Select type construct. Introduced in the Fortran 2003 standard.","end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.type.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(?:(class)|(type))\\\\b","beginCaptures":{"1":{"name":"keyword.control.class.fortran"},"2":{"name":"keyword.control.type.fortran"}},"end":"(?i)(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"captures":{"1":{"name":"keyword.control.is.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(is)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"sequence-attribute":{"captures":{"1":{"name":"storage.modifier.sequence.fortran"}},"comment":"Introduced in the Fortran 20?? standard.","match":"(?i)\\\\s*\\\\b(sequence)\\\\b"},"specification-statements":{"patterns":[{"include":"#attribute-specification-statement"},{"include":"#common-statement"},{"include":"#data-statement"},{"include":"#equivalence-statement"},{"include":"#implicit-statement"},{"include":"#namelist-statement"},{"include":"#use-statement"}]},"stop-statement":{"begin":"(?i)\\\\s*\\\\b(stop)\\\\b(?:\\\\s*\\\\b([a-z]\\\\w*)\\\\b)?","beginCaptures":{"1":{"name":"keyword.control.stop.fortran"},"2":{"name":"meta.label.stop.stop"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.stop.fortran","patterns":[{"include":"#constants"},{"include":"#string-operators"},{"include":"#invalid-character"}]},"string-constant":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"applyEndPatternLast":1,"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fortran"}},"comment":"String","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fortran"}},"name":"string.quoted.single.fortran","patterns":[{"match":"''","name":"constant.character.escape.apostrophe.fortran"}]},{"applyEndPatternLast":1,"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fortran"}},"comment":"String","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fortran"}},"name":"string.quoted.double.fortran","patterns":[{"match":"\\"\\"","name":"constant.character.escape.quote.fortran"}]}]},"string-line-continuation-operator":{"begin":"(&)(?=\\\\s*\\\\n)","beginCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"comment":"Operator that allows a line to be continued on the next line.","end":"(?i)^(?:(?=\\\\s*[^\\\\s!&])|\\\\s*(&))","endCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"patterns":[{"include":"#comments"},{"match":"\\\\S.*","name":"invalid.error.string-line-cont.fortran"}]},"string-operators":{"comment":"Introduced in the Fortran 19?? standard.","match":"(\\\\/\\\\/)","name":"keyword.other.concatination.fortran"},"submodule-definition":{"begin":"(?i)(?=\\\\b(submodule)\\\\s*\\\\()","comment":"Introduced in the Fortran 2008 standard.","end":"(?=[;!\\\\n])","name":"meta.submodule.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(submodule)\\\\s*(\\\\()\\\\s*(\\\\w+)","beginCaptures":{"1":{"name":"keyword.other.submodule.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"entity.name.class.submodule.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"patterns":[]},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.module.submodule.fortran"}},"comment":"Submodule body.","end":"(?i)\\\\s*\\\\b(?:(end\\\\s*submodule)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endsubmodule.fortran"},"2":{"name":"entity.name.module.submodule.fortran"},"3":{"name":"keyword.other.endsubmodule.fortran"},"4":{"name":"invalid.error.submodule.fortran"}},"patterns":[{"begin":"\\\\G","comment":"Submodule specification block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*submodule\\\\b))","name":"meta.block.specification.submodule.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Submodule contains block.","end":"(?i)(?=\\\\s*(?:end\\\\s*[;!\\\\n]|end\\\\s*submodule\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"subroutine-definition":{"begin":"(?i)(?=([^:'\\";!\\\\n](?!\\\\bend))*\\\\bsubroutine\\\\b)","comment":"Subroutine program unit. Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.subroutine.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bsubroutine\\\\b))","comment":"Attribute list.","end":"(?i)(?=\\\\bsubroutine\\\\b)","name":"meta.attribute-list.subroutine.fortran","patterns":[{"include":"#elemental-attribute"},{"include":"#module-attribute"},{"include":"#pure-attribute"},{"include":"#recursive-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\s*\\\\b(subroutine)\\\\b","beginCaptures":{"1":{"name":"keyword.other.subroutine.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"}},"comment":"Subroutine body.","end":"(?i)\\\\b(?:(end\\\\s*subroutine)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endsubroutine.fortran"},"2":{"name":"entity.name.function.subroutine.fortran"},"3":{"name":"keyword.other.endsubroutine.fortran"},"4":{"name":"invalid.error.subroutine.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[;!\\\\n])","comment":"Rest of the first line in subroutine construct.","end":"(?=[;!\\\\n])","name":"meta.first-line.fortran","patterns":[{"include":"#dummy-variable-list"},{"include":"#language-binding-attribute"}]},{"begin":"(?i)(?!\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*subroutine\\\\b))","comment":"Specification and execution block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*subroutine\\\\b))","name":"meta.block.specification.subroutine.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Contains block.","end":"(?i)(?=(?:end\\\\s*[;!\\\\n]|end\\\\s*subroutine\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]}]},"sync-all-statement":{"begin":"(?i)\\\\b(sync all|sync memory)(\\\\s*(?=\\\\())?","beginCaptures":{"1":{"name":"keyword.control.sync-all-memory.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.sync-all-memory.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"sync-statement":{"begin":"(?i)\\\\b(sync images|sync team)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.sync-images-team.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.sync-images-team.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"target-attribute":{"captures":{"1":{"name":"storage.modifier.target.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(target)\\\\b"},"type-specification-statements":{"begin":"(?i)(?=\\\\b(?:character|class|complex|double\\\\s*precision|double\\\\s*complex|integer|logical|real|type|dimension)\\\\b(?![^'\\";!\\\\n:]*\\\\bfunction\\\\b))","comment":"Supported types for function and escape :: if function is used as a variable name (which is bad practice).","end":"(?=[);!\\\\n])","name":"meta.specification.type.fortran","patterns":[{"include":"#types"},{"begin":"(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.type-specification-statements.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#asynchronous-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#external-attribute"},{"include":"#intent-attribute"},{"include":"#intrinsic-attribute"},{"include":"#language-binding-attribute"},{"include":"#optional-attribute"},{"include":"#parameter-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#target-attribute"},{"include":"#value-attribute"},{"include":"#volatile-attribute"},{"include":"#invalid-word"}]}]},{"include":"#name-list"}]},"types":{"patterns":[{"include":"#character-type"},{"include":"#derived-type"},{"include":"#logical-type"},{"include":"#numeric-type"}]},"unnamed-control-constructs":{"patterns":[{"include":"#associate-construct"},{"include":"#block-construct"},{"include":"#critical-construct"},{"include":"#do-construct"},{"include":"#forall-construct"},{"include":"#if-construct"},{"include":"#select-case-construct"},{"include":"#select-type-construct"},{"include":"#select-rank-construct"},{"include":"#where-construct"}]},"use-statement":{"begin":"(?i)\\\\b(use)\\\\b","beginCaptures":{"1":{"name":"keyword.control.use.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.use.fortran","patterns":[{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.namelist.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#intrinsic-attribute"},{"include":"#non-intrinsic-attribute"},{"include":"#invalid-word"}]}]},{"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.class.module.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[;!\\\\n])","patterns":[{"begin":"(?i)\\\\s*\\\\b(only\\\\s*:)","beginCaptures":{"1":{"name":"keyword.control.only.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#operator-keyword"},{"include":"$base"}]},{"begin":"(?i)(?=\\\\s*[a-z])","contentName":"meta.name-list.fortran","end":"(?=[;!\\\\n])","patterns":[{"include":"#operator-keyword"},{"include":"$base"}]}]}]}]},"user-defined-operators":{"captures":{"1":{"name":"keyword.operator.user-defined.fortran"}},"match":"(?i)\\\\s*(\\\\.[a-z]+\\\\.)"},"value-attribute":{"captures":{"1":{"name":"storage.modifier.value.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(value)\\\\b"},"variable":{"applyEndPatternLast":1,"begin":"(?i)\\\\b(?=[a-z])","end":"(?<!\\\\G)","name":"meta.parameter.fortran","patterns":[{"include":"#brackets"},{"include":"#derived-type-operators"},{"include":"#parentheses-dummy-variables"},{"include":"#word"}]},"volatile-attribute":{"captures":{"1":{"name":"storage.modifier.volatile.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(volatile)\\\\b"},"where-construct":{"patterns":[{"applyEndPatternLast":1,"begin":"(?i)\\\\b(where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.where.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","patterns":[{"include":"#logical-control-expression"},{"begin":"(?<=\\\\))(?=\\\\s*[;!\\\\n])","end":"(?i)\\\\b(end\\\\s*where)\\\\b","endCaptures":{"1":{"name":"keyword.control.endwhere.fortran"}},"name":"meta.block.where.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b(else\\\\s*where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.elsewhere.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},{"begin":"(?i)(?<=\\\\))(?!\\\\s*[;!\\\\n])","end":"\\\\n","name":"meta.statement.control.where.fortran","patterns":[{"include":"$base"}]}]}]},"while-attribute":{"begin":"(?i)\\\\G\\\\s*\\\\b(while)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},"word":{"patterns":[{"match":"(?i)(?:\\\\G|(?<=\\\\%))\\\\s*\\\\b([a-z]\\\\w*)\\\\b"}]}},"scopeName":"source.fortran.free","aliases":["f90","f95","f03","f08","f18"]}`));var n=[e];export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./gqDMXQVE.js";const t=Object.freeze(JSON.parse(`{"displayName":"CoffeeScript","name":"coffee","patterns":[{"include":"#jsx"},{"captures":{"1":{"name":"keyword.operator.new.coffee"},"2":{"name":"storage.type.class.coffee"},"3":{"name":"entity.name.type.instance.coffee"},"4":{"name":"entity.name.type.instance.coffee"}},"match":"(new)\\\\s+(?:(?:(class)\\\\s+(\\\\w+(?:\\\\.\\\\w*)*)?)|(\\\\w+(?:\\\\.\\\\w*)*))","name":"meta.class.instance.constructor.coffee"},{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.single.heredoc.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\\\\\).","name":"constant.character.escape.backslash.coffee"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.double.heredoc.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\\\\\).","name":"constant.character.escape.backslash.coffee"},{"include":"#interpolated_coffee"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.coffee"},"2":{"name":"source.js.embedded.coffee","patterns":[{"include":"source.js"}]},"3":{"name":"punctuation.definition.string.end.coffee"}},"match":"(\`)(.*)(\`)","name":"string.quoted.script.coffee"},{"begin":"(?<!#)###(?!#)","beginCaptures":{"0":{"name":"punctuation.definition.comment.coffee"}},"end":"###","endCaptures":{"0":{"name":"punctuation.definition.comment.coffee"}},"name":"comment.block.coffee","patterns":[{"match":"(?<=^|\\\\s)@\\\\w*(?=\\\\s)","name":"storage.type.annotation.coffee"}]},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.coffee"}},"end":"$","name":"comment.line.number-sign.coffee"},{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"(///)[gimuy]*","endCaptures":{"1":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.regexp.multiline.coffee","patterns":[{"include":"#heregexp"}]},{"begin":"(?<![\\\\w$])(/)(?=(?![/*+?])(.+)(/)[gimuy]*(?!\\\\s*[\\\\w$/(]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.coffee"}},"end":"(/)[gimuy]*(?!\\\\s*[\\\\w$/(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.regexp.coffee","patterns":[{"include":"source.js.regexp"}]},{"match":"\\\\b(?<![\\\\.$])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|export|import|default|from|as|yield|async|await|(?<=for)\\\\s+own)(?!\\\\s*:)\\\\b","name":"keyword.control.coffee"},{"match":"\\\\b(?<![\\\\.$])(delete|instanceof|new|typeof)(?!\\\\s*:)\\\\b","name":"keyword.operator.$1.coffee"},{"match":"\\\\b(?<![\\\\.$])(case|function|var|void|with|const|let|enum|native|__hasProp|__extends|__slice|__bind|__indexOf|implements|interface|package|private|protected|public|static)(?!\\\\s*:)\\\\b","name":"keyword.reserved.coffee"},{"begin":"(?<=\\\\s|^)((@)?[a-zA-Z_$][\\\\w$]*)\\\\s*([:=])\\\\s*(?=(\\\\([^()]*\\\\)\\\\s*)?[=-]>)","beginCaptures":{"1":{"name":"entity.name.function.coffee"},"2":{"name":"variable.other.readwrite.instance.coffee"},"3":{"name":"keyword.operator.assignment.coffee"}},"end":"[=-]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?<=\\\\s|^)(?:((')([^']*?)('))|((\\")([^\\"]*?)(\\")))\\\\s*([:=])\\\\s*(?=(\\\\([^()]*\\\\)\\\\s*)?[=-]>)","beginCaptures":{"1":{"name":"string.quoted.single.coffee"},"2":{"name":"punctuation.definition.string.begin.coffee"},"3":{"name":"entity.name.function.coffee"},"4":{"name":"punctuation.definition.string.end.coffee"},"5":{"name":"string.quoted.double.coffee"},"6":{"name":"punctuation.definition.string.begin.coffee"},"7":{"name":"entity.name.function.coffee"},"8":{"name":"punctuation.definition.string.end.coffee"},"9":{"name":"keyword.operator.assignment.coffee"}},"end":"[=-]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?=(\\\\([^()]*\\\\)\\\\s*)?[=-]>)","end":"[=-]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.inline.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?<=\\\\s|^)({)(?=[^'\\"#]+?}[\\\\s\\\\]}]*=)","beginCaptures":{"1":{"name":"punctuation.definition.destructuring.begin.bracket.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.destructuring.end.bracket.curly.coffee"}},"name":"meta.variable.assignment.destructured.object.coffee","patterns":[{"include":"$self"},{"match":"[a-zA-Z$_]\\\\w*","name":"variable.assignment.coffee"}]},{"begin":"(?<=\\\\s|^)(\\\\[)(?=[^'\\"#]+?\\\\][\\\\s\\\\]}]*=)","beginCaptures":{"1":{"name":"punctuation.definition.destructuring.begin.bracket.square.coffee"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.definition.destructuring.end.bracket.square.coffee"}},"name":"meta.variable.assignment.destructured.array.coffee","patterns":[{"include":"$self"},{"match":"[a-zA-Z$_]\\\\w*","name":"variable.assignment.coffee"}]},{"match":"\\\\b(?<!\\\\.|::)(true|on|yes)(?!\\\\s*[:=][^=])\\\\b","name":"constant.language.boolean.true.coffee"},{"match":"\\\\b(?<!\\\\.|::)(false|off|no)(?!\\\\s*[:=][^=])\\\\b","name":"constant.language.boolean.false.coffee"},{"match":"\\\\b(?<!\\\\.|::)null(?!\\\\s*[:=][^=])\\\\b","name":"constant.language.null.coffee"},{"match":"\\\\b(?<!\\\\.|::)extends(?!\\\\s*[:=])\\\\b","name":"variable.language.coffee"},{"match":"(?<!\\\\.)\\\\b(?<!\\\\$)(super|this|arguments)(?!\\\\s*[:=][^=]|\\\\$)\\\\b","name":"variable.language.$1.coffee"},{"captures":{"1":{"name":"storage.type.class.coffee"},"2":{"name":"keyword.control.inheritance.coffee"},"3":{"name":"entity.other.inherited-class.coffee"}},"match":"(?<=\\\\s|^|\\\\[|\\\\()(class)\\\\s+(extends)\\\\s+(@?[a-zA-Z$\\\\._][\\\\w\\\\.]*)","name":"meta.class.coffee"},{"captures":{"1":{"name":"storage.type.class.coffee"},"2":{"name":"entity.name.type.class.coffee"},"3":{"name":"keyword.control.inheritance.coffee"},"4":{"name":"entity.other.inherited-class.coffee"}},"match":"(?<=\\\\s|^|\\\\[|\\\\()(class\\\\b)\\\\s+(@?[a-zA-Z$_][\\\\w\\\\.]*)?(?:\\\\s+(extends)\\\\s+(@?[a-zA-Z$\\\\._][\\\\w\\\\.]*))?","name":"meta.class.coffee"},{"match":"\\\\b(debugger|\\\\\\\\)\\\\b","name":"keyword.other.coffee"},{"match":"\\\\b(Array|ArrayBuffer|Blob|Boolean|Date|document|Function|Int(8|16|32|64)Array|Math|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap|window|Uint(8|16|32|64)Array|XMLHttpRequest)\\\\b","name":"support.class.coffee"},{"match":"\\\\b(console)\\\\b","name":"entity.name.type.object.coffee"},{"match":"((?<=console\\\\.)(debug|warn|info|log|error|time|timeEnd|assert))\\\\b","name":"support.function.console.coffee"},{"match":"((?<=\\\\.)(apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|unshift|valueOf))\\\\b","name":"support.function.method.array.coffee"},{"match":"((?<=Array\\\\.)(isArray))\\\\b","name":"support.function.static.array.coffee"},{"match":"((?<=Object\\\\.)(create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|isnt|keys|preventExtensions|seal))\\\\b","name":"support.function.static.object.coffee"},{"match":"((?<=Math\\\\.)(abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|tan|tanh|trunc))\\\\b","name":"support.function.static.math.coffee"},{"match":"((?<=Number\\\\.)(is(Finite|Integer|NaN)|toInteger))\\\\b","name":"support.function.static.number.coffee"},{"match":"(?<!\\\\.)\\\\b(module|exports|__filename|__dirname|global|process)(?!\\\\s*:)\\\\b","name":"support.variable.coffee"},{"match":"\\\\b(Infinity|NaN|undefined)\\\\b","name":"constant.language.coffee"},{"include":"#operators"},{"include":"#method_calls"},{"include":"#function_calls"},{"include":"#numbers"},{"include":"#objects"},{"include":"#properties"},{"match":"::","name":"keyword.operator.prototype.coffee"},{"match":"(?<!\\\\$)\\\\b\\\\d+[\\\\w$]*","name":"invalid.illegal.identifier.coffee"},{"match":";","name":"punctuation.terminator.statement.coffee"},{"match":",","name":"punctuation.separator.delimiter.coffee"},{"begin":"{","beginCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.bracket.square.coffee"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.square.coffee"}},"patterns":[{"match":"(?<!\\\\.)\\\\.{3}","name":"keyword.operator.slice.exclusive.coffee"},{"match":"(?<!\\\\.)\\\\.{2}","name":"keyword.operator.slice.inclusive.coffee"},{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.coffee"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.coffee"}},"patterns":[{"include":"$self"}]},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"}],"repository":{"arguments":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.bracket.round.coffee"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.coffee"}},"name":"meta.arguments.coffee","patterns":[{"include":"$self"}]},{"begin":"(?=(@|@?[\\\\w$]+|[=-]>|-\\\\d|\\\\[|{|\\"|'))","end":"(?=\\\\s*(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))|(?=\\\\s*(}|\\\\]|\\\\)|#|$))","name":"meta.arguments.coffee","patterns":[{"include":"$self"}]}]},"double_quoted_string":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.double.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.backslash.coffee"},{"include":"#interpolated_coffee"}]}]},"embedded_comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.coffee"}},"match":"(?<!\\\\\\\\)(#).*$\\\\n?","name":"comment.line.number-sign.coffee"}]},"function_calls":{"patterns":[{"begin":"(@)?([\\\\w$]+)(?=\\\\()","beginCaptures":{"1":{"name":"variable.other.readwrite.instance.coffee"},"2":{"patterns":[{"include":"#function_names"}]}},"end":"(?<=\\\\))","name":"meta.function-call.coffee","patterns":[{"include":"#arguments"}]},{"begin":"(@)?([\\\\w$]+)\\\\s*(?=\\\\s+(?!(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))(?=(@?[\\\\w$]+|[=-]>|-\\\\d|\\\\[|{|\\"|')))","beginCaptures":{"1":{"name":"variable.other.readwrite.instance.coffee"},"2":{"patterns":[{"include":"#function_names"}]}},"end":"(?=\\\\s*(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))|(?=\\\\s*(}|\\\\]|\\\\)|#|$))","name":"meta.function-call.coffee","patterns":[{"include":"#arguments"}]}]},"function_names":{"patterns":[{"match":"\\\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|require|set(Interval|Timeout)|clear(Interval|Timeout))\\\\b","name":"support.function.coffee"},{"match":"[a-zA-Z_$][\\\\w$]*","name":"entity.name.function.coffee"},{"match":"\\\\d[\\\\w$]*","name":"invalid.illegal.identifier.coffee"}]},"function_params":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.coffee"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.coffee"}},"name":"meta.parameters.coffee","patterns":[{"captures":{"1":{"name":"variable.parameter.function.coffee"},"2":{"name":"keyword.operator.splat.coffee"}},"match":"([a-zA-Z_$][\\\\w$]*)(\\\\.\\\\.\\\\.)?"},{"captures":{"1":{"name":"variable.parameter.function.readwrite.instance.coffee"},"2":{"name":"keyword.operator.splat.coffee"}},"match":"(@(?:[a-zA-Z_$][\\\\w$]*)?)(\\\\.\\\\.\\\\.)?"},{"include":"$self"}]}]},"heregexp":{"patterns":[{"match":"\\\\\\\\[bB]|\\\\^|\\\\$","name":"keyword.control.anchor.regexp"},{"match":"\\\\\\\\[1-9]\\\\d*","name":"keyword.other.back-reference.regexp"},{"match":"[?+*]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)\\\\}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!))","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#heregexp"}]},{"begin":"\\\\((\\\\?:)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#heregexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^\\\\]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"},{"include":"#interpolated_coffee"},{"include":"#embedded_comment"}]},"instance_variable":{"patterns":[{"match":"(@)([a-zA-Z_$]\\\\w*)?","name":"variable.other.readwrite.instance.coffee"}]},"interpolated_coffee":{"patterns":[{"begin":"\\\\#\\\\{","captures":{"0":{"name":"punctuation.section.embedded.coffee"}},"end":"\\\\}","name":"source.coffee.embedded.source","patterns":[{"include":"$self"}]}]},"jsx":{"patterns":[{"include":"#jsx-tag"},{"include":"#jsx-end-tag"}]},"jsx-attribute":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.coffee"},"2":{"name":"keyword.operator.assignment.coffee"}},"match":"(?:^|\\\\s+)([-\\\\w.]+)\\\\s*(=)"},{"include":"#double_quoted_string"},{"include":"#single_quoted_string"},{"include":"#jsx-expression"}]},"jsx-end-tag":{"patterns":[{"begin":"(</)([-\\\\w\\\\.]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.coffee"},"2":{"name":"entity.name.tag.coffee"}},"end":"(/?>)","name":"meta.tag.coffee"}]},"jsx-expression":{"begin":"{","beginCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"patterns":[{"include":"#double_quoted_string"},{"include":"$self"}]},"jsx-tag":{"patterns":[{"begin":"(<)([-\\\\w\\\\.]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.coffee"},"2":{"name":"entity.name.tag.coffee"}},"end":"(/?>)","name":"meta.tag.coffee","patterns":[{"include":"#jsx-attribute"}]}]},"method_calls":{"patterns":[{"begin":"(?:(\\\\.)|(::))\\\\s*([\\\\w$]+)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.method.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"patterns":[{"include":"#method_names"}]}},"end":"(?<=\\\\))","name":"meta.method-call.coffee","patterns":[{"include":"#arguments"}]},{"begin":"(?:(\\\\.)|(::))\\\\s*([\\\\w$]+)\\\\s*(?=\\\\s+(?!(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))(?=(@|@?[\\\\w$]+|[=-]>|-\\\\d|\\\\[|{|\\"|')))","beginCaptures":{"1":{"name":"punctuation.separator.method.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"patterns":[{"include":"#method_names"}]}},"end":"(?=\\\\s*(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))|(?=\\\\s*(}|\\\\]|\\\\)|#|$))","name":"meta.method-call.coffee","patterns":[{"include":"#arguments"}]}]},"method_names":{"patterns":[{"match":"\\\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|Before(cut|deactivate|unload|update|paste|print|editfocus|activate)|Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\\\b","name":"support.function.event-handler.coffee"},{"match":"\\\\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|scrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|contextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|test|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|untaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|print|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|forward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|abort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|releaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|Attention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|moveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\\\b","name":"support.function.coffee"},{"match":"\\\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|appendChild|appendData|before|blur|canPlayType|captureStream|caretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|cloneContents|cloneNode|cloneRange|close|closest|collapse|compareBoundaryPoints|compareDocumentPosition|comparePoint|contains|convertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|createAttributeNS|createCaption|createCDATASection|createComment|createContextualFragment|createDocument|createDocumentFragment|createDocumentType|createElement|createElementNS|createEntityReference|createEvent|createExpression|createHTMLDocument|createNodeIterator|createNSResolver|createProcessingInstruction|createRange|createShadowRoot|createTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|deleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|deleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|enableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|exitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|getAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|getAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|getClientRects|getContext|getDestinationInsertionPoints|getElementById|getElementsByClassName|getElementsByName|getElementsByTagName|getElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|getVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|insertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|isPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|lookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|moveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|parentNode|pause|play|postMessage|prepend|preventDefault|previousNode|previousSibling|probablySupportsContext|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|querySelector|querySelectorAll|registerContentHandler|registerElement|registerProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|removeAttributeNode|removeAttributeNS|removeChild|removeEventListener|removeItem|replace|replaceChild|replaceData|replaceWith|reportValidity|requestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|scrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|setAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|setCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|setRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|slice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|submit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|toDataURL|toggle|toString|values|write|writeln)\\\\b","name":"support.function.dom.coffee"},{"match":"[a-zA-Z_$][\\\\w$]*","name":"entity.name.function.coffee"},{"match":"\\\\d[\\\\w$]*","name":"invalid.illegal.identifier.coffee"}]},"numbers":{"patterns":[{"match":"\\\\b(?<!\\\\$)0(x|X)[0-9a-fA-F]+\\\\b(?!\\\\$)","name":"constant.numeric.hex.coffee"},{"match":"\\\\b(?<!\\\\$)0(b|B)[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.coffee"},{"match":"\\\\b(?<!\\\\$)0(o|O)?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.coffee"},{"captures":{"0":{"name":"constant.numeric.decimal.coffee"},"1":{"name":"punctuation.separator.decimal.period.coffee"},"2":{"name":"punctuation.separator.decimal.period.coffee"},"3":{"name":"punctuation.separator.decimal.period.coffee"},"4":{"name":"punctuation.separator.decimal.period.coffee"},"5":{"name":"punctuation.separator.decimal.period.coffee"},"6":{"name":"punctuation.separator.decimal.period.coffee"}},"match":"(?<!\\\\$)(?:(?:\\\\b\\\\d+(\\\\.)\\\\d+[eE][+-]?\\\\d+\\\\b)|(?:\\\\b\\\\d+(\\\\.)[eE][+-]?\\\\d+\\\\b)|(?:\\\\B(\\\\.)\\\\d+[eE][+-]?\\\\d+\\\\b)|(?:\\\\b\\\\d+[eE][+-]?\\\\d+\\\\b)|(?:\\\\b\\\\d+(\\\\.)\\\\d+\\\\b)|(?:\\\\b\\\\d+(?=\\\\.{2,3}))|(?:\\\\b\\\\d+(\\\\.)\\\\B)|(?:\\\\B(\\\\.)\\\\d+\\\\b)|(?:\\\\b\\\\d+\\\\b(?!\\\\.)))(?!\\\\$)"}]},"objects":{"patterns":[{"match":"[A-Z][A-Z0-9_$]*(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))","name":"constant.other.object.coffee"},{"match":"[a-zA-Z_$][\\\\w$]*(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))","name":"variable.other.object.coffee"}]},"operators":{"patterns":[{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.compound.coffee"}},"match":"(?:([a-zA-Z$_][\\\\w$]*)?\\\\s+|(?<![\\\\w$]))(and=|or=)"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.compound.coffee"}},"match":"([a-zA-Z$_][\\\\w$]*)?\\\\s*(%=|\\\\+=|-=|\\\\*=|&&=|\\\\|\\\\|=|\\\\?=|(?<!\\\\()/=)"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.compound.bitwise.coffee"}},"match":"([a-zA-Z$_][\\\\w$]*)?\\\\s*(&=|\\\\^=|<<=|>>=|>>>=|\\\\|=)"},{"match":"<<|>>>|>>","name":"keyword.operator.bitwise.shift.coffee"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.coffee"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.coffee"},{"match":"&|\\\\||\\\\^|~","name":"keyword.operator.bitwise.coffee"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.coffee"}},"match":"([a-zA-Z$_][\\\\w$]*)?\\\\s*(=|:(?!:))(?![>=])"},{"match":"--","name":"keyword.operator.decrement.coffee"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.coffee"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.splat.coffee"},{"match":"\\\\?","name":"keyword.operator.existential.coffee"},{"match":"%|\\\\*|/|-|\\\\+","name":"keyword.operator.coffee"},{"captures":{"1":{"name":"keyword.operator.logical.coffee"},"2":{"name":"keyword.operator.comparison.coffee"}},"match":"\\\\b(?<![\\\\.$])(?:(and|or|not)|(is|isnt))(?!\\\\s*:)\\\\b"}]},"properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"constant.other.object.property.coffee"}},"match":"(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"variable.other.object.property.coffee"}},"match":"(?:(\\\\.)|(::))\\\\s*(\\\\$*[a-zA-Z_$][\\\\w$]*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"constant.other.property.coffee"}},"match":"(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"variable.other.property.coffee"}},"match":"(?:(\\\\.)|(::))\\\\s*(\\\\$*[a-zA-Z_$][\\\\w$]*)"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"invalid.illegal.identifier.coffee"}},"match":"(?:(\\\\.)|(::))\\\\s*(\\\\d[\\\\w$]*)"}]},"regex-character-class":{"patterns":[{"match":"\\\\\\\\[wWsSdD]|\\\\.","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\\\\\.","name":"constant.character.escape.backslash.regexp"}]},"single_quoted_string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.single.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.backslash.coffee"}]}]}},"scopeName":"source.coffee","embeddedLangs":["javascript"],"aliases":["coffeescript"]}`));var a=[...e,t];export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=Object.freeze(JSON.parse(`{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<!@|#)-\\\\}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(\\\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*,[\\\\s,]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[\\\\s,]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\\\[)\\\\s*(\\\\])","name":"constant.language.empty-list.haskell"},{"begin":"(\\\\b(?<!')(module)|^(signature))(\\\\b(?!'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\\\b(?<!')where\\\\b(?!'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\\\s*)(class)(\\\\b(?!'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!')\\\\bwhere\\\\b(?!'))|(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(instance))?\\\\s+((?:(?!(?:(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:=|--+)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]))|(?:\\\\b(?<!')(?:where|deriving)\\\\b(?!'))|{-).)*)(?=\\\\b(?<!'')where\\\\b(?!''))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!')\\\\bderiving\\\\b(?!'))|(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(\\\\})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!')(where)\\\\b(?!')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\\\s*)(pattern)\\\\s+(.*?)\\\\s+(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\\\s*(pattern)\\\\b(?!')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(family|instance))?\\\\s+(((?!(?:(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:=|--+)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]))|(?:\\\\b(?<!')(?:where|deriving)\\\\b(?!'))|{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)\\\\s+(family)\\\\b(?!')(((?!(?:(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:=|--+)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]))|\\\\b(?<!')where\\\\b(?!')|{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)(?:\\\\s+(instance))?\\\\s+(((?!(?:(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:=|--+|::|∷)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]))|{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(instance)(\\\\b(?!'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\\\b(?<!')(where)\\\\b(?!'))|(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(import)(\\\\b(?!'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\\\b(?<!')(where)\\\\b(?!'))|(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\\\s*(infix[lr]?)\\\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\\\()(#)\\\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:(=)|(\\\\|))(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\\\G|^)\\\\s*(?:(?:(?<!')\\\\b((?:[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'\\\\.])+)|('?(?<paren>\\\\((?:[^()]*|\\\\g<paren>)*\\\\)))|('?(?<brac>\\\\((?:[^\\\\[\\\\]]*|\\\\g<brac>)*\\\\])))\\\\s*(?:(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(:[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]*)|(\`)([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(\`)))|(?:(?<!')\\\\b([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*))|(\\\\()\\\\s*(:[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]*)\\\\s*(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-\\\\}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<![\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'])(')(?:[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\\\\\\\\"'\\\\\\\\&]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x[0-9A-Fa-f]+)|(\\\\\\\\\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]))(')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\\\s*)(--\\\\s[\\\\|$])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\\\1--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])))","name":"comment.block.documentation.haskell"},{"begin":"(^[ \\\\t]+)?(--\\\\s[\\\\^\\\\*])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s?[\\\\|$\\\\*\\\\^]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-\\\\}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[ \\\\t]+)?(?=--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"comment":"Operators may begin with '--' as long as they are not entirely composed of '-' characters. This means comments can't be immediately followed by an allowable operator character.","end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(=>|⇒)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"comment":"In addition to Haskell's \\"native\\" syntax, GHC permits the C preprocessor to be run on a source file.","match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?<!')[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?![\\\\.'\\\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\\\s*)(deriving)\\\\s+(?:(via|stock|newtype|anyclass)\\\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!')\\\\b(instance)\\\\b(?!')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!')\\\\b(via|stock|newtype|anyclass)\\\\b(?!')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s+([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(\\\\s+(via)\\\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!')\\\\b(via)\\\\b(?!')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\\\s*(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])\\\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\\\b(?<!')(pattern)\\\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)|(\\\\()\\\\s*(:[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\\\b(?<!')(type)\\\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)|(\\\\()\\\\s*([\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!')\\\\b[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*","name":"entity.name.function.haskell"},{"match":"(?<!')\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\\\s*)(foreign)\\\\s+(import|export)\\\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\\\b(?<!')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\\\s+"},{"begin":"(?=\\")|(?=\\\\b(?<!')([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\b(?!'))","end":"(?=(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\\\b(?<!')(safe|unsafe|interruptible)\\\\b(?!')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*(?:(?:\\\\b(?<!'')([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\b(?!'))|(?:\\\\(\\\\s*(?!--+\\\\))([\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*\\\\)))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\\\b(?<!')(safe|unsafe|interruptible)\\\\b(?!')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\"(?:\\\\\\\\\\"|[^\\"])*\\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(?:\\\\b(?<!'')([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\b(?!'))|(?:(\\\\()\\\\s*(?!--+\\\\))([\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*(\\\\)))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"comment":"Floats are decimal or hexadecimal","match":"\\\\b(?<!')(?:(\\\\d[_0-9]*\\\\.\\\\d[_0-9]*(?:[eE][-+]?\\\\d[_0-9]*)?|\\\\d[_0-9]*[eE][-+]?\\\\d[_0-9]*)|(0[xX]_*[0-9a-fA-F][_0-9a-fA-F]*\\\\.[0-9a-fA-F][_0-9a-fA-F]*(?:[pP][-+]?\\\\d[_0-9]*)?|0[xX]_*[0-9a-fA-F][_0-9a-fA-F]*[pP][-+]?\\\\d[_0-9]*))\\\\b(?!')"},"forall":{"begin":"\\\\b(?<!')(forall|∀)\\\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\\\.)|(->|→)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?<fn>(?:[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\\\\#*|\\\\(\\\\s*(?!--+\\\\))[\\\\p{S}\\\\p{P}&&[^(),:;\\\\[\\\\]\`{}_\\"']][\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g<fn>)?)\\\\s*(?<![\\\\p{S}\\\\p{P}&&[^),;\\\\]\`}_\\"']])(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(,;\\\\[\`{_\\"']])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])((<-|←)|(=)|(-<|↢)|(-<<|⤛))([(),;\\\\[\\\\]\`{}_\\"']|[^\\\\p{S}\\\\p{P}]))|(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\\\s*)(?:(\\\\b(?<!')[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)|(\\\\()\\\\s*(:[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]*)\\\\s*(\\\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\\\b(?<!'')deriving\\\\b(?!'))|(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"(\\\\b(?<!')[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}]*)|(\\\\()\\\\s*(:[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]*)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"comment":"In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*.\\n","match":"((?:(?<!'')('')?[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'']*\\\\.)*)(\\\\#+|[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+(?<!\\\\#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"comment":"In case this regex seems unusual for an infix operator, note that Haskell\\nallows any ordinary function application (elem 4 [1..10]) to be rewritten\\nas an infix expression (4 \`elem\` [1..10]).\\n","match":"(\`)((?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'']*\\\\.)*)([\\\\p{Ll}\\\\p{Lu}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'']*)(\`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\\\b(?<!')(?:(\\\\d[_0-9]*)|(0[xX]_*[0-9a-fA-F][_0-9a-fA-F]*)|(0[oO]_*[0-7][_0-7]*)|(0[bB]_*[01][_01]*))\\\\b(?!')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\\\b(?<!')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\\\b(?!')"},"layout_herald":{"begin":"(?<!')\\\\b(?:(where|let|m?do)|(of))\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(\\\\})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\\\{-@","end":"@-\\\\}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\\\b(?<!')(module)\\\\b(?!')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(\\\\.\\\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}\\\\p{S}\\\\p{P}&&[^(,;\\\\[\`{]])(\\\\#)(?:(\\"(?:\\\\\\\\\\"|[^\\"])*\\")|[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'\\\\.]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\\\{-#","end":"#-\\\\}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\\\b(?<!')(LANGUAGE)\\\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-\\\\})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali(?:s|z)edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\\\b(?<!')(SPECIALI(?:S|Z)E)(?:\\\\s*(\\\\[[^\\\\[\\\\]]*\\\\])?\\\\s*|\\\\s+)(instance)\\\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-\\\\})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\\\b(?<!')(SPECIALI(?:S|Z)E)\\\\b(?!')(?:\\\\s+(INLINE)\\\\b(?!'))?(?:\\\\s*(\\\\[[^\\\\[\\\\]]*\\\\])?)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-\\\\})","patterns":[{"include":"$self"}]},{"match":"(?i)\\\\b(?<!')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\\\b(?!')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\\\b(DEPRECATED|WARNING)\\\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-\\\\})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"comment":"An operator cannot be composed entirely of '-' characters; instead, it should be matched as a comment.\\n","match":"(\\\\()\\\\s*(?!(?:--+|\\\\.\\\\.)\\\\))(\\\\#+|[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+(?<!\\\\#))\\\\s*(\\\\))"}]},"qualifier":{"match":"\\\\b(?<!')[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\\\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\\\[)(e|d|p)?(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3\\\\]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\\\[)(t)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3\\\\]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\\\[)(?:(\\\\$\\\\$)|(\\\\$))?((?:[^\\\\s\\\\p{S}\\\\p{P}]|[\\\\.'_])*)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\5\\\\]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"({)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"({)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"(?:([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)|(\\\\()\\\\s*([\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*(\\\\)))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"(?:([\\\\p{Ll}\\\\p{Lu}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}\\\\.']*)|(\\\\()\\\\s*([\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*(\\\\)))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(\\\\.\\\\.)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"'']])(?:(\\\\.\\\\.)|(:)|(=)|(\\\\\\\\)|(\\\\|)|(<-|←)|(->|→)|(-<|↢)|(-<<|⤛)|(>-|⤚)|(>>-|⤜)|(∀))(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"'']])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}\\\\p{S}\\\\p{P}&&[^#,;\\\\[\`{]])(\\\\#+)(?![\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}\\\\p{S}\\\\p{P}&&[^),;\\\\]\`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd})}\\\\]])(@)(?=[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}(\\\\[{])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}\\\\p{S}\\\\p{P}&&[^(,;\\\\[\`{]])(?:(~)|(!)|(-)|(\\\\$)|(\\\\$\\\\$))(?=[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}({\\\\[])"}]},"role_annotation":{"patterns":[{"begin":"^(\\\\s*)(type)\\\\s+(role)\\\\b(?!')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=\\\\}|;)|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\\\b(?<!')(nominal|representational|phantom)\\\\b(?!')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\\\s*)(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(,;\\\\[\`{_\\"']])\\\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=\\\\#?\\\\)|\\\\]|,|(?<!')\\\\b(in|then|else|of)\\\\b(?!')|(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:(\\\\\\\\|λ)|(<-|←)|(=)|(-<|↢)|(-<<|⤛))([(),;\\\\[\\\\]\`{}_\\"']|[^\\\\p{S}\\\\p{P}])|(\\\\#|@)-\\\\}|(?=\\\\}|;)|^(?!\\\\1\\\\s*\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]{}\`_\\"']]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![\\\\p{S}\\\\p{P}&&[^(,;\\\\[\`{_\\"']])(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(,;\\\\[\`{_\\"']])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=\\\\#?\\\\)|\\\\]|,|\\\\b(?<!')(in|then|else|of)\\\\b(?!')|(\\\\#|@)-\\\\}|(?<![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])(?:(\\\\\\\\|λ)|(<-|←)|(=)|(-<|↢)|(-<<|⤛))([(),;\\\\[\\\\]\`{}_\\"']|[^\\\\p{S}\\\\p{P}])|(?=\\\\}|;)|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\\\\\\\\"'\\\\&])","name":"constant.character.escape.haskell"},{"match":"\\\\\\\\o[0-7]+|\\\\\\\\x[0-9A-Fa-f]+|\\\\\\\\\\\\d+","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\\\\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[\\\\s,;\\\\[\\\\]{}\\"])(@)(')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[\\\\s,;\\\\[\\\\]{}\\"])(@)(')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[\\\\s,;\\\\[\\\\]{}\\"])(@)(?=\\\\\\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\\\\\\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[\\\\s,;\\\\[\\\\]{}\\"])(@)(?=[\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?![\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}'])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(')?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\\\\.)*)(\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(')?(\\\\()\\\\s*((?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\\\\.)*)([\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+)\\\\s*(\\\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!')('))?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\\\\.)*)(?![#@]?-})(\\\\#+|[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']]+(?<!\\\\#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(')?(\\\\\`)((?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\\\\.)*)([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(\`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(')?(\\\\()\\\\s*(\\\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(')?(\\\\()\\\\s*,[\\\\s,]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[\\\\s,]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(')?(\\\\[)\\\\s*(\\\\])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|∷)(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]\`{}_\\"']])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|⇒","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"'[^']'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?<!')(?!(?:forall|deriving)\\\\b(?!'))[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(\\\\})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!')(where)\\\\b(?!')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell","aliases":["hs"]}`));var a=[e];export{a as default};
|