nuxt-og-image 3.0.0-rc.64 → 3.0.0-rc.66
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 +206 -197
- package/dist/client/404.html +206 -197
- package/dist/client/_nuxt/16u1w-DC.js +1 -0
- package/dist/client/_nuxt/4JG6XROL.js +1 -0
- package/dist/client/_nuxt/6bkCFmAg.js +1 -0
- package/dist/client/_nuxt/{DZqG9GXz.js → 8R90CSQj.js} +1 -31
- package/dist/client/_nuxt/{CsYA0RN7.js → A4Fa72hX.js} +1 -1
- package/dist/client/_nuxt/{CJQrLysU.js → AoxqhCl0.js} +1 -1
- package/dist/client/_nuxt/B2Zkg-Ae.js +5 -0
- package/dist/client/_nuxt/B3a86pAO.js +1 -0
- package/dist/client/_nuxt/B3yJX9Qu.js +1 -0
- package/dist/client/_nuxt/B5--Xptx.js +1 -0
- package/dist/client/_nuxt/B5La0Eyp.js +1 -0
- package/dist/client/_nuxt/{Bj0fF4lQ.js → B5USdwzW.js} +1 -1
- package/dist/client/_nuxt/B5v32tNS.js +3 -0
- package/dist/client/_nuxt/{BMHPAh1U.js → B7zm8LFH.js} +1 -1
- package/dist/client/_nuxt/{9ZOzOPqN.js → B8yeR86s.js} +1 -1
- package/dist/client/_nuxt/B9MAV_WH.js +1 -0
- package/dist/client/_nuxt/{C2TBxDwV.js → B9afuS00.js} +1 -1
- package/dist/client/_nuxt/BC7ivatP.js +1 -0
- package/dist/client/_nuxt/BD3t3nJY.js +1 -0
- package/dist/client/_nuxt/BDJ7po1j.js +1 -0
- package/dist/client/_nuxt/BDUkJJFZ.js +1 -0
- package/dist/client/_nuxt/BEIEqD7s.js +1 -0
- package/dist/client/_nuxt/{DKb4lQY2.js → BEPTDMGr.js} +1 -1
- package/dist/client/_nuxt/BESheOyt.js +1 -0
- package/dist/client/_nuxt/BFO9THtE.js +1 -0
- package/dist/client/_nuxt/BICcMyTi.js +1 -0
- package/dist/client/_nuxt/{DR5YgmI2.js → BIboXAcp.js} +1 -1
- package/dist/client/_nuxt/BLmvGqlk.js +1 -0
- package/dist/client/_nuxt/BMRpS3Xo.js +1 -0
- package/dist/client/_nuxt/BMkdSFOr.js +1 -0
- package/dist/client/_nuxt/BNuYtHxo.js +1 -0
- package/dist/client/_nuxt/{BaNxgKSR.js → BOCDpWc1.js} +1 -1
- package/dist/client/_nuxt/BOtZLFcM.js +3 -0
- package/dist/client/_nuxt/BPhJoBd6.js +1 -0
- package/dist/client/_nuxt/BQgbS7Yt.js +1 -0
- package/dist/client/_nuxt/BSSAUge4.js +1 -0
- package/dist/client/_nuxt/BSrQBeSJ.js +131 -0
- package/dist/client/_nuxt/BTO_K1fm.js +1 -0
- package/dist/client/_nuxt/BUQ2FcJX.js +1 -0
- package/dist/client/_nuxt/BVsCzzYp.js +1 -0
- package/dist/client/_nuxt/BXP-NDAE.js +1 -0
- package/dist/client/_nuxt/BY8_eel9.js +1 -0
- package/dist/client/_nuxt/BYelj_cE.js +1 -0
- package/dist/client/_nuxt/B_Sdu6N9.js +1 -0
- package/dist/client/_nuxt/BbPU79SD.js +165 -0
- package/dist/client/_nuxt/BccEf5hb.js +1 -0
- package/dist/client/_nuxt/{DsfXcHUZ.js → Bcn1f5Rp.js} +1 -27
- package/dist/client/_nuxt/{CqYeW6XZ.js → BeqgMazi.js} +1 -1
- package/dist/client/_nuxt/{D33OKbkv.js → BfBkfEDj.js} +1 -1
- package/dist/client/_nuxt/BiU8-mv6.js +1 -0
- package/dist/client/_nuxt/{CdedUr_-.js → BiVAY1KT.js} +1 -1
- package/dist/client/_nuxt/BltGI4TE.js +1 -0
- package/dist/client/_nuxt/BpDWT_aG.js +1 -0
- package/dist/client/_nuxt/BqpV9M7Y.js +16 -0
- package/dist/client/_nuxt/BrHEiNXv.js +1 -0
- package/dist/client/_nuxt/BspO9hSn.js +1 -0
- package/dist/client/_nuxt/Bszlo9K_.js +1 -0
- package/dist/client/_nuxt/Bt3jdO27.js +1 -0
- package/dist/client/_nuxt/BuqjW-Uc.js +1 -0
- package/dist/client/_nuxt/ByGMIDPY.js +1 -0
- package/dist/client/_nuxt/BzeF2RWN.js +1 -0
- package/dist/client/_nuxt/{BeX7Iu5M.js → C17JnZbq.js} +1 -90
- package/dist/client/_nuxt/C31OBGbl.js +1 -0
- package/dist/client/_nuxt/C3NvtN4M.js +1 -0
- package/dist/client/_nuxt/{BXfENWL6.js → C46DigdT.js} +1 -1
- package/dist/client/_nuxt/C5QX-GgJ.js +1 -0
- package/dist/client/_nuxt/{DXT9h7v2.js → C6F4YvHi.js} +1 -1
- package/dist/client/_nuxt/C6pBAdyX.js +1 -0
- package/dist/client/_nuxt/C7O_L2NY.js +1 -0
- package/dist/client/_nuxt/C7n-thn-.js +1 -0
- package/dist/client/_nuxt/C8DXlOXe.js +1 -0
- package/dist/client/_nuxt/C8KGJGmD.js +1 -0
- package/dist/client/_nuxt/{DVC_qXWv.js → C9X_x5J1.js} +1 -1
- package/dist/client/_nuxt/{DhFF74a2.js → CAkjjYd_.js} +1 -1
- package/dist/client/_nuxt/CBoehFVA.js +29 -0
- package/dist/client/_nuxt/CD1ynQRS.js +1 -0
- package/dist/client/_nuxt/CDLXdqou.js +6 -0
- package/dist/client/_nuxt/CDNnVXJ3.js +1 -0
- package/dist/client/_nuxt/{CrhH3_Og.js → CDzo4tzE.js} +1 -1
- package/dist/client/_nuxt/{sQpxpyUs.js → CEuqc8ZQ.js} +1 -1
- package/dist/client/_nuxt/CIlkkgNU.js +4 -0
- package/dist/client/_nuxt/{6Kuza3Wr.js → CJ21IjBY.js} +1 -1
- package/dist/client/_nuxt/{DGEpfOTx.js → CJYoS41Z.js} +1 -1
- package/dist/client/_nuxt/CKpfY2P2.js +1 -0
- package/dist/client/_nuxt/{C_8Fx7bH.js → CMiaevpY.js} +1 -1
- package/dist/client/_nuxt/CPw9RxLe.js +1 -0
- package/dist/client/_nuxt/{BN4LRXf6.js → CT9A9Qiu.js} +1 -1
- package/dist/client/_nuxt/{BwXNTs7T.js → CTjLfFPV.js} +1 -1
- package/dist/client/_nuxt/CV8JdvfZ.js +1 -0
- package/dist/client/_nuxt/{B1nm99XP.js → CXYaz1c9.js} +1 -1
- package/dist/client/_nuxt/{B-hN5syD.js → CY-WakqA.js} +1 -1
- package/dist/client/_nuxt/C_D4IvTY.js +1 -0
- package/dist/client/_nuxt/C_g069vW.js +1 -0
- package/dist/client/_nuxt/CbFpZgCV.js +1 -0
- package/dist/client/_nuxt/CbjS_D4a.js +1 -0
- package/dist/client/_nuxt/{Ksn5IXup.js → CeUooOMz.js} +1 -1
- package/dist/client/_nuxt/{CThH5sBG.js → ChVe37jp.js} +1 -1
- package/dist/client/_nuxt/{B9CT-1u6.js → CidHYXz9.js} +1 -7
- package/dist/client/_nuxt/CkoJTUbt.js +25 -0
- package/dist/client/_nuxt/Clnf9f06.js +1 -0
- package/dist/client/_nuxt/{DSsji4Hu.js → CmHkUvIV.js} +1 -1
- package/dist/client/_nuxt/{CFF2d1j6.js → CmonagEV.js} +1 -1
- package/dist/client/_nuxt/Crs1WKlG.js +1 -0
- package/dist/client/_nuxt/{KPqz0Sb3.js → CsW3I34-.js} +1 -1
- package/dist/client/_nuxt/CsuMf1xJ.js +1 -0
- package/dist/client/_nuxt/Ctb_e1-I.js +1 -0
- package/dist/client/_nuxt/{DM4HHECw.js → CwZIVF5c.js} +1 -1
- package/dist/client/_nuxt/Cwv93qcC.js +4 -0
- package/dist/client/_nuxt/CzrtbdtR.js +1 -0
- package/dist/client/_nuxt/D1i8Vxii.js +1 -0
- package/dist/client/_nuxt/D46m5Xd3.js +1 -0
- package/dist/client/_nuxt/D4LJwL2b.js +1 -0
- package/dist/client/_nuxt/D5lQfeOG.js +1 -0
- package/dist/client/_nuxt/{8t4jSAMm.js → D6SwP_ef.js} +1 -1
- package/dist/client/_nuxt/D7Nx8OLD.js +1 -0
- package/dist/client/_nuxt/D85lwgPO.js +1 -0
- package/dist/client/_nuxt/D8V69RRQ.js +1 -0
- package/dist/client/_nuxt/{BBJYjQ0k.js → D8YTaFMU.js} +1 -1
- package/dist/client/_nuxt/D8ecWW_g.js +1 -0
- package/dist/client/_nuxt/D9s3Eyz8.js +11 -0
- package/dist/client/_nuxt/DA288kE2.js +3 -0
- package/dist/client/_nuxt/{CX_FIdg1.js → DDK5Hw8n.js} +1 -1
- package/dist/client/_nuxt/DFQMbhFG.js +1 -0
- package/dist/client/_nuxt/DFRYOy8B.js +1 -0
- package/dist/client/_nuxt/DFaziNDp.js +1 -0
- package/dist/client/_nuxt/{CarfVElc.js → DGTPbQyx.js} +1 -54
- package/dist/client/_nuxt/{0ooBkv16.js → DHCC4-m4.js} +1 -1
- package/dist/client/_nuxt/DIC-ECB_.js +1 -0
- package/dist/client/_nuxt/DKgh9jPU.js +20 -0
- package/dist/client/_nuxt/DKluMpTE.js +1 -0
- package/dist/client/_nuxt/{BZfs-ost.js → DKrjeWrU.js} +1 -1
- package/dist/client/_nuxt/{Bh8mriwU.js → DLpTrZod.js} +1 -17
- package/dist/client/_nuxt/DOt8O2FJ.js +1 -0
- package/dist/client/_nuxt/DOwv4Xrr.js +1 -0
- package/dist/client/_nuxt/DQ-rpzxz.js +1 -0
- package/dist/client/_nuxt/DQdnirlo.js +1 -0
- package/dist/client/_nuxt/DRgydeCt.js +1 -0
- package/dist/client/_nuxt/DSPtUMMI.js +1 -0
- package/dist/client/_nuxt/DSmiUmWA.js +1 -0
- package/dist/client/_nuxt/{ChMCFiS0.js → DT2db06B.js} +1 -1
- package/dist/client/_nuxt/DV9_Ze0W.js +1 -0
- package/dist/client/_nuxt/{BVLuctcA.js → DWE3vCE5.js} +1 -1
- package/dist/client/_nuxt/DYQagCV4.js +1 -0
- package/dist/client/_nuxt/DZwJH60W.js +1 -0
- package/dist/client/_nuxt/D_nC6SfZ.js +1 -0
- package/dist/client/_nuxt/{DGDuLtS6.js → DaDGU6kf.js} +1 -8
- package/dist/client/_nuxt/{CMDmr8et.js → DanM9F4-.js} +1 -1
- package/dist/client/_nuxt/DfqM7apN.js +1 -0
- package/dist/client/_nuxt/{DouzTJIq.js → DgraCSOE.js} +1 -1
- package/dist/client/_nuxt/{BR6CMsBL.js → DhldU3XI.js} +1 -1
- package/dist/client/_nuxt/Dm9yFT8Y.js +2 -0
- package/dist/client/_nuxt/DmAvib0Y.js +1 -0
- package/dist/client/_nuxt/DoDCNZ2x.js +1 -0
- package/dist/client/_nuxt/{Bgpqy2XC.js → DoQu802G.js} +1 -1
- package/dist/client/_nuxt/DoY4Dbtn.js +1 -0
- package/dist/client/_nuxt/DqvgqZmm.js +16 -0
- package/dist/client/_nuxt/Dtv2yyrc.js +1 -0
- package/dist/client/_nuxt/{DJZWsvj0.js → DvreHBtf.js} +1 -1
- package/dist/client/_nuxt/DxX6t7GH.js +1 -0
- package/dist/client/_nuxt/E1IWMS2c.js +1 -0
- package/dist/client/_nuxt/H2A8RXvM.js +1 -0
- package/dist/client/_nuxt/{CiRxTSAc.js → I-_ljZ1M.js} +1 -1
- package/dist/client/_nuxt/KCgU82S2.js +1 -0
- package/dist/client/_nuxt/KN-DOLVO.js +1 -0
- package/dist/client/_nuxt/{JgH_6NEN.js → LrshOcZ2.js} +1 -1
- package/dist/client/_nuxt/MJ0gDQnJ.js +9 -0
- package/dist/client/_nuxt/NboNzovp.js +1 -0
- package/dist/client/_nuxt/P3XzCKkX.js +1 -0
- package/dist/client/_nuxt/PBlC1IT3.js +1 -0
- package/dist/client/_nuxt/PSVKygaU.js +16 -0
- package/dist/client/_nuxt/PYrcYqZ1.js +1 -0
- package/dist/client/_nuxt/SXuYmi6B.js +1 -0
- package/dist/client/_nuxt/Sm_sVxcW.js +14 -0
- package/dist/client/_nuxt/TDVTyJvX.js +16 -0
- package/dist/client/_nuxt/VVtMly4c.js +3 -0
- package/dist/client/_nuxt/{BH1M7C1g.js → VntNkNt1.js} +1 -1
- package/dist/client/_nuxt/Wkyh6-uf.js +1 -0
- package/dist/client/_nuxt/{I4qd5QHW.js → XP2_9bVu.js} +4 -4
- package/dist/client/_nuxt/XrZDCB4K.js +1 -0
- package/dist/client/_nuxt/_fwBhpzY.js +1 -0
- package/dist/client/_nuxt/a0z0KVy-.js +5 -0
- package/dist/client/_nuxt/bEygH-WE.js +3 -0
- package/dist/client/_nuxt/bPMpiWut.js +1 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/517cb958-776a-47e2-bd34-69240f18e412.json +1 -0
- package/dist/client/_nuxt/{beD-FUib.js → coyhVBVA.js} +1 -1
- package/dist/client/_nuxt/{wChcbJ1V.js → d2PdAb0u.js} +1 -36
- package/dist/client/_nuxt/entry.cOhDjBNG.css +1 -0
- package/dist/client/_nuxt/error-404.F6YJ8FEX.css +1 -0
- package/dist/client/_nuxt/error-500.TGideFTg.css +1 -0
- package/dist/client/_nuxt/g4vhSHS2.js +1 -0
- package/dist/client/_nuxt/gwSZkKbG.js +1 -0
- package/dist/client/_nuxt/iYrPSY0y.js +1 -0
- package/dist/client/_nuxt/{Dwo2i-71.js → kZiYIjIU.js} +1 -1
- package/dist/client/_nuxt/lOwNZ7_V.js +1 -0
- package/dist/client/_nuxt/{BmCW-tYz.js → nc-bU77P.js} +4 -78
- package/dist/client/_nuxt/nfCtBF4F.js +1 -0
- package/dist/client/_nuxt/pit2X7C0.js +1 -0
- package/dist/client/_nuxt/r5D-aIjp.js +1 -0
- package/dist/client/_nuxt/rh45RTDP.js +1 -0
- package/dist/client/_nuxt/tgs8ujlj.js +1 -0
- package/dist/client/_nuxt/v_4dTNAb.js +1 -0
- package/dist/client/_nuxt/vvK2q8Zt.js +1 -0
- package/dist/client/_nuxt/{Bj5xdiaE.js → xuIuMB9j.js} +1 -1
- package/dist/client/_nuxt/yOCz8xPT.js +1 -0
- package/dist/client/_nuxt/zt9m_cFA.js +8 -0
- package/dist/client/index.html +206 -197
- package/dist/module.d.mts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.json +2 -2
- package/dist/module.mjs +8 -4
- package/dist/runtime/nitro/og-image/context.js +1 -1
- package/dist/runtime/nitro/og-image/satori/plugins/imageSrc.js +5 -1
- package/dist/runtime/nitro/plugins/nuxt-content.js +2 -1
- package/dist/runtime/nitro/util/logger.d.ts +1 -0
- package/dist/runtime/nitro/util/logger.js +6 -0
- package/dist/runtime/nuxt/components/OgImage/OgImage.d.ts +1 -1
- package/dist/runtime/nuxt/components/OgImage/OgImageScreenshot.d.ts +1 -1
- package/dist/runtime/nuxt/components/Templates/Community/NuxtSeo.vue +1 -1
- package/dist/runtime/nuxt/plugins/og-image-canonical-urls.server.js +1 -1
- package/dist/runtime/nuxt/utils.js +6 -4
- package/package.json +42 -42
- package/dist/client/_nuxt/-7WWnkdy.js +0 -517
- package/dist/client/_nuxt/1Je9_Reo.js +0 -136
- package/dist/client/_nuxt/1rqFXsGc.js +0 -666
- package/dist/client/_nuxt/37ic6j3l.js +0 -1
- package/dist/client/_nuxt/3ghuYFLd.js +0 -1
- package/dist/client/_nuxt/9B1nZgL-.js +0 -1
- package/dist/client/_nuxt/AgnqFTPX.js +0 -13
- package/dist/client/_nuxt/B3g-KkBK.js +0 -1
- package/dist/client/_nuxt/B4yE-MfL.js +0 -38
- package/dist/client/_nuxt/B6bHXiXE.js +0 -25
- package/dist/client/_nuxt/B7rNE5kf.js +0 -1
- package/dist/client/_nuxt/BB42E8aY.js +0 -186
- package/dist/client/_nuxt/BBBqETUW.js +0 -1
- package/dist/client/_nuxt/BEjL32p1.js +0 -5754
- package/dist/client/_nuxt/BF6G6X0H.js +0 -1
- package/dist/client/_nuxt/BH_RS3WO.js +0 -1
- package/dist/client/_nuxt/BICIrM8O.js +0 -1
- package/dist/client/_nuxt/BIxS-Weu.js +0 -1
- package/dist/client/_nuxt/BLluXI4E.js +0 -1
- package/dist/client/_nuxt/BOpLLL-w.js +0 -1
- package/dist/client/_nuxt/BT9ZzGyQ.js +0 -69
- package/dist/client/_nuxt/BUpeXbsf.js +0 -25
- package/dist/client/_nuxt/BVGdgKAv.js +0 -1
- package/dist/client/_nuxt/BVkeqZ59.js +0 -1
- package/dist/client/_nuxt/BWKJ1FCf.js +0 -239
- package/dist/client/_nuxt/BXR915QZ.js +0 -32
- package/dist/client/_nuxt/BYdKNJ10.js +0 -1
- package/dist/client/_nuxt/BZz1Hhek.js +0 -1
- package/dist/client/_nuxt/BacI6-DX.js +0 -40
- package/dist/client/_nuxt/Bbv8ARUV.js +0 -13
- package/dist/client/_nuxt/Bdt_eLrj.js +0 -756
- package/dist/client/_nuxt/BeJnKnI_.js +0 -544
- package/dist/client/_nuxt/Bg0wAK5a.js +0 -100
- package/dist/client/_nuxt/Bi43K_FX.js +0 -6
- package/dist/client/_nuxt/BiDE021q.js +0 -1
- package/dist/client/_nuxt/BigF1UXR.js +0 -1
- package/dist/client/_nuxt/BlxWTfDV.js +0 -699
- package/dist/client/_nuxt/BnyYJeap.js +0 -129
- package/dist/client/_nuxt/Br6ll-O0.js +0 -1
- package/dist/client/_nuxt/BscxmKrE.js +0 -8
- package/dist/client/_nuxt/Btshr8M_.js +0 -70
- package/dist/client/_nuxt/Bxkoe-BC.js +0 -1
- package/dist/client/_nuxt/C15OxdQ5.js +0 -1
- package/dist/client/_nuxt/C1DVX8_8.js +0 -831
- package/dist/client/_nuxt/C1yTBzia.js +0 -1
- package/dist/client/_nuxt/C3qJFuQy.js +0 -3
- package/dist/client/_nuxt/C3qUB5O8.js +0 -301
- package/dist/client/_nuxt/C6Aznpr-.js +0 -1
- package/dist/client/_nuxt/CAOxhcmA.js +0 -131
- package/dist/client/_nuxt/CApMHEaB.js +0 -1
- package/dist/client/_nuxt/CBPJd_fO.js +0 -1
- package/dist/client/_nuxt/CBWrHyXe.js +0 -580
- package/dist/client/_nuxt/CCqFro8U.js +0 -3
- package/dist/client/_nuxt/CEfge3mM.js +0 -1
- package/dist/client/_nuxt/CG4fK2Nq.js +0 -21
- package/dist/client/_nuxt/CJGKC1_q.js +0 -40
- package/dist/client/_nuxt/CJIaz0BQ.js +0 -76
- package/dist/client/_nuxt/CO5hpdkB.js +0 -1
- package/dist/client/_nuxt/CQUCfALx.js +0 -13
- package/dist/client/_nuxt/CSPeAESR.js +0 -1
- package/dist/client/_nuxt/C_ZPRiAj.js +0 -26
- package/dist/client/_nuxt/Cb-F_BZP.js +0 -1
- package/dist/client/_nuxt/CbViG2Xw.js +0 -74
- package/dist/client/_nuxt/CbYhyuC0.js +0 -505
- package/dist/client/_nuxt/CfPQhs6g.js +0 -7
- package/dist/client/_nuxt/Cgl53LJQ.js +0 -1
- package/dist/client/_nuxt/Cicx_DS6.js +0 -1
- package/dist/client/_nuxt/ClXEvkw9.js +0 -68
- package/dist/client/_nuxt/Cp2HGa90.js +0 -353
- package/dist/client/_nuxt/CpAANOdC.js +0 -1
- package/dist/client/_nuxt/CrgTADc5.js +0 -1
- package/dist/client/_nuxt/CsyrCbsw.js +0 -699
- package/dist/client/_nuxt/Cthz8VOO.js +0 -771
- package/dist/client/_nuxt/CupVZNk8.js +0 -25
- package/dist/client/_nuxt/CxrokwfH.js +0 -1
- package/dist/client/_nuxt/D4LaosRr.js +0 -1
- package/dist/client/_nuxt/D6pmzCqS.js +0 -1
- package/dist/client/_nuxt/D7WeZTai.js +0 -1
- package/dist/client/_nuxt/DAGYewaG.js +0 -559
- package/dist/client/_nuxt/DAP_O-zg.js +0 -1
- package/dist/client/_nuxt/DAfrLhwG.js +0 -1
- package/dist/client/_nuxt/DBeuZS66.js +0 -1
- package/dist/client/_nuxt/DC4hdoM9.js +0 -87
- package/dist/client/_nuxt/DC8MraHL.js +0 -666
- package/dist/client/_nuxt/DGO8GyiP.js +0 -1
- package/dist/client/_nuxt/DGxQkqYo.js +0 -1
- package/dist/client/_nuxt/DHmGyzbM.js +0 -109
- package/dist/client/_nuxt/DJubGRtk.js +0 -1
- package/dist/client/_nuxt/DK4oFTHQ.js +0 -200
- package/dist/client/_nuxt/DLP9ZvWb.js +0 -3
- package/dist/client/_nuxt/DOHBU7tp.js +0 -1
- package/dist/client/_nuxt/DOtRmeXT.js +0 -1
- package/dist/client/_nuxt/DSrLtGYv.js +0 -15
- package/dist/client/_nuxt/DV9JwLIa.js +0 -1
- package/dist/client/_nuxt/DVLwECkk.js +0 -1
- package/dist/client/_nuxt/DVfdqzEq.js +0 -1
- package/dist/client/_nuxt/DXFkqnOI.js +0 -816
- package/dist/client/_nuxt/DY7_9Ga-.js +0 -1
- package/dist/client/_nuxt/DYI1rfmx.js +0 -25
- package/dist/client/_nuxt/DZLoTQm4.js +0 -1
- package/dist/client/_nuxt/DbK06e1c.js +0 -21
- package/dist/client/_nuxt/Dble9ECP.js +0 -1
- package/dist/client/_nuxt/Dch3xQiY.js +0 -699
- package/dist/client/_nuxt/Dd6f7Z5P.js +0 -1
- package/dist/client/_nuxt/DfeQjIbs.js +0 -5
- package/dist/client/_nuxt/Dg0DGYq4.js +0 -14
- package/dist/client/_nuxt/Dit6kIrv.js +0 -11
- package/dist/client/_nuxt/DmDrTTlz.js +0 -1
- package/dist/client/_nuxt/Dr4yXoA7.js +0 -1
- package/dist/client/_nuxt/DrnZp123.js +0 -40
- package/dist/client/_nuxt/Du6_OKDb.js +0 -159
- package/dist/client/_nuxt/DwuVtWc2.js +0 -518
- package/dist/client/_nuxt/DzwdaLuO.js +0 -223
- package/dist/client/_nuxt/ECt0lbkd.js +0 -16
- package/dist/client/_nuxt/Eh5U-gDp.js +0 -52
- package/dist/client/_nuxt/PWN5J14X.js +0 -1
- package/dist/client/_nuxt/PifQWv0n.js +0 -1
- package/dist/client/_nuxt/QZ3jNtnE.js +0 -515
- package/dist/client/_nuxt/RCJZWN-0.js +0 -81
- package/dist/client/_nuxt/RE3ujT-k.js +0 -1
- package/dist/client/_nuxt/RqY_Nz63.js +0 -1
- package/dist/client/_nuxt/Sfo2eW0G.js +0 -274
- package/dist/client/_nuxt/T9ysyp6P.js +0 -62
- package/dist/client/_nuxt/Urb1RsFe.js +0 -1
- package/dist/client/_nuxt/VQMr7AbF.js +0 -1
- package/dist/client/_nuxt/builds/meta/5b462863-5844-4458-a933-139db1c25626.json +0 -1
- package/dist/client/_nuxt/cw46T5ID.js +0 -61
- package/dist/client/_nuxt/dIHJ9UdL.js +0 -1
- package/dist/client/_nuxt/eJfcURhx.js +0 -1
- package/dist/client/_nuxt/entry.BCfFhbeW.css +0 -1
- package/dist/client/_nuxt/error-404.B3wjZPBT.css +0 -1
- package/dist/client/_nuxt/error-500.Dxoa4Ooo.css +0 -1
- package/dist/client/_nuxt/i0IPvypD.js +0 -1
- package/dist/client/_nuxt/kuh6G-Sk.js +0 -9
- package/dist/client/_nuxt/nclm9rTJ.js +0 -266
- package/dist/client/_nuxt/vMsNTMhM.js +0 -5
- package/dist/client/_nuxt/yX2IItqj.js +0 -1
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const n=Object.freeze({displayName:"JSON",name:"json",patterns:[{include:"#value"}],repository:{array:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.array.begin.json"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.array.end.json"}},name:"meta.structure.array.json",patterns:[{include:"#value"},{match:",",name:"punctuation.separator.array.json"},{match:"[^\\s\\]]",name:"invalid.illegal.expected-array-separator.json"}]},comments:{patterns:[{begin:"/\\*\\*(?!/)",captures:{0:{name:"punctuation.definition.comment.json"}},end:"\\*/",name:"comment.block.documentation.json"},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.json"}},end:"\\*/",name:"comment.block.json"},{captures:{1:{name:"punctuation.definition.comment.json"}},match:"(//).*$\\n?",name:"comment.line.double-slash.js"}]},constant:{match:"\\b(?:true|false|null)\\b",name:"constant.language.json"},number:{match:`(?x)
|
|
2
|
-
-?
|
|
3
|
-
(?:
|
|
4
|
-
0
|
|
5
|
-
|
|
|
6
|
-
[1-9]
|
|
7
|
-
\\d*
|
|
8
|
-
)
|
|
9
|
-
(?:
|
|
10
|
-
(?:
|
|
11
|
-
\\.
|
|
12
|
-
\\d+
|
|
13
|
-
)?
|
|
14
|
-
(?:
|
|
15
|
-
[eE]
|
|
16
|
-
[+-]?
|
|
17
|
-
\\d+
|
|
18
|
-
)?
|
|
19
|
-
)?`,name:"constant.numeric.json"},object:{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.dictionary.begin.json"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.dictionary.end.json"}},name:"meta.structure.dictionary.json",patterns:[{comment:"the JSON object key",include:"#objectkey"},{include:"#comments"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.dictionary.key-value.json"}},end:"(,)|(?=\\})",endCaptures:{1:{name:"punctuation.separator.dictionary.pair.json"}},name:"meta.structure.dictionary.value.json",patterns:[{comment:"the JSON object value",include:"#value"},{match:"[^\\s,]",name:"invalid.illegal.expected-dictionary-separator.json"}]},{match:"[^\\s\\}]",name:"invalid.illegal.expected-dictionary-separator.json"}]},objectkey:{begin:'"',beginCaptures:{0:{name:"punctuation.support.type.property-name.begin.json"}},end:'"',endCaptures:{0:{name:"punctuation.support.type.property-name.end.json"}},name:"string.json support.type.property-name.json",patterns:[{include:"#stringcontent"}]},string:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.json"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.json"}},name:"string.quoted.double.json",patterns:[{include:"#stringcontent"}]},stringcontent:{patterns:[{match:`(?x)
|
|
20
|
-
\\\\
|
|
21
|
-
(?:
|
|
22
|
-
["\\\\/bfnrt]
|
|
23
|
-
|
|
|
24
|
-
u
|
|
25
|
-
[0-9a-fA-F]{4})`,name:"constant.character.escape.json"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.json"}]},value:{patterns:[{include:"#constant"},{include:"#number"},{include:"#string"},{include:"#array"},{include:"#object"},{include:"#comments"}]}},scopeName:"source.json"});var e=[n];export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Object.freeze({displayName:"Berry",name:"berry",patterns:[{include:"#controls"},{include:"#strings"},{include:"#comment-block"},{include:"#comments"},{include:"#keywords"},{include:"#function"},{include:"#member"},{include:"#identifier"},{include:"#number"},{include:"#operator"}],repository:{"comment-block":{begin:"\\#\\-",end:"\\-#",name:"comment.berry",patterns:[{}]},comments:{begin:"\\#",end:"\\n",name:"comment.line.berry",patterns:[{}]},controls:{patterns:[{match:"\\b(if|elif|else|for|while|do|end|break|continue|return|try|except|raise)\\b",name:"keyword.control.berry"}]},function:{patterns:[{match:"\\b([a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\\())",name:"entity.name.function.berry"}]},identifier:{patterns:[{match:"\\b[_A-Za-z]\\w+\\b",name:"identifier.berry"}]},keywords:{patterns:[{match:"\\b(var|static|def|class|true|false|nil|self|super|import|as|_class)\\b",name:"keyword.berry"}]},member:{patterns:[{captures:{0:{name:"entity.other.attribute-name.berry"}},match:"\\.([a-zA-Z_][a-zA-Z0-9_]*)"}]},number:{patterns:[{match:"0x[a-fA-F0-9]+|\\d+|(\\d+\\.?|\\.\\d)\\d*([eE][+-]?\\d+)?",name:"constant.numeric.berry"}]},operator:{patterns:[{match:"\\(|\\)|\\[|\\]|\\.|-|\\!|~|\\*|/|%|\\+|&|\\^|\\||<|>|=|:",name:"keyword.operator.berry"}]},strings:{patterns:[{begin:`("|')`,end:"\\1",name:"string.quoted.double.berry",patterns:[{match:`(\\\\x[\\h]{2})|(\\\\[0-7]{3})|(\\\\\\\\)|(\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)`,name:"constant.character.escape.berry"}]},{begin:`f("|')`,end:"\\1",name:"string.quoted.other.berry",patterns:[{match:`(\\\\x[\\h]{2})|(\\\\[0-7]{3})|(\\\\\\\\)|(\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)`,name:"constant.character.escape.berry"},{match:"\\{\\{[^\\}]*\\}\\}",name:"string.quoted.other.berry"},{begin:"\\{",end:"\\}",name:"keyword.other.unit.berry",patterns:[{include:"#keywords"},{include:"#numbers"},{include:"#identifier"},{include:"#operator"},{include:"#member"},{include:"#function"}]}]}]}},scopeName:"source.berry",aliases:["be"]});var r=[e];export{r as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"./CbViG2Xw.js";import"./Dch3xQiY.js";import"./CbYhyuC0.js";const a=Object.freeze({displayName:"jinja-html",firstLineMatch:`^{% extends ["'][^"']+["'] %}`,foldingStartMarker:"(<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\b.*?>|{%\\s*(block|filter|for|if|macro|raw))",foldingStopMarker:"(</(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\b.*?>|{%\\s*(endblock|endfilter|endfor|endif|endmacro|endraw)\\s*%})",name:"jinja-html",patterns:[{include:"source.jinja"},{include:"text.html.basic"}],scopeName:"text.html.jinja",embeddedLangs:["html"]});var n=[...e,a];const t=Object.freeze({displayName:"Jinja",foldingStartMarker:"({%\\s*(block|filter|for|if|macro|raw))",foldingStopMarker:"({%\\s*(endblock|endfilter|endfor|endif|endmacro|endraw)\\s*%})",name:"jinja",patterns:[{begin:"({%)\\s*(raw)\\s*(%})",captures:{1:{name:"entity.other.jinja.delimiter.tag"},2:{name:"keyword.control.jinja"},3:{name:"entity.other.jinja.delimiter.tag"}},end:"({%)\\s*(endraw)\\s*(%})",name:"comment.block.jinja.raw"},{include:"#comments"},{begin:"{{-?",captures:[{name:"variable.entity.other.jinja.delimiter"}],end:"-?}}",name:"variable.meta.scope.jinja",patterns:[{include:"#expression"}]},{begin:"{%-?",captures:[{name:"entity.other.jinja.delimiter.tag"}],end:"-?%}",name:"meta.scope.jinja.tag",patterns:[{include:"#expression"}]}],repository:{comments:{begin:"{#-?",captures:[{name:"entity.other.jinja.delimiter.comment"}],end:"-?#}",name:"comment.block.jinja",patterns:[{include:"#comments"}]},escaped_char:{match:"\\\\x[0-9A-F]{2}",name:"constant.character.escape.hex.jinja"},escaped_unicode_char:{captures:{1:{name:"constant.character.escape.unicode.16-bit-hex.jinja"},2:{name:"constant.character.escape.unicode.32-bit-hex.jinja"},3:{name:"constant.character.escape.unicode.name.jinja"}},match:"(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z ]+\\})"},expression:{patterns:[{captures:{1:{name:"keyword.control.jinja"},2:{name:"variable.other.jinja.block"}},match:"\\s*\\b(block)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{captures:{1:{name:"keyword.control.jinja"},2:{name:"variable.other.jinja.filter"}},match:"\\s*\\b(filter)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{captures:{1:{name:"keyword.control.jinja"},2:{name:"variable.other.jinja.test"}},match:"\\s*\\b(is)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{captures:{1:{name:"keyword.control.jinja"}},match:"(?<=\\{\\%-|\\{\\%)\\s*\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*[,=])"},{match:"\\b(and|else|if|in|import|not|or|recursive|with(out)?\\s+context)\\b",name:"keyword.control.jinja"},{match:"\\b(true|false|none)\\b",name:"constant.language.jinja"},{match:"\\b(loop|super|self|varargs|kwargs)\\b",name:"variable.language.jinja"},{match:"[a-zA-Z_][a-zA-Z0-9_]*",name:"variable.other.jinja"},{match:"(\\+|\\-|\\*\\*|\\*|//|/|%)",name:"keyword.operator.arithmetic.jinja"},{captures:{1:{name:"punctuation.other.jinja"},2:{name:"variable.other.jinja.filter"}},match:"(\\|)([a-zA-Z_][a-zA-Z0-9_]*)"},{captures:{1:{name:"punctuation.other.jinja"},2:{name:"variable.other.jinja.attribute"}},match:"(\\.)([a-zA-Z_][a-zA-Z0-9_]*)"},{begin:"\\[",captures:[{name:"punctuation.other.jinja"}],end:"\\]",patterns:[{include:"#expression"}]},{begin:"\\(",captures:[{name:"punctuation.other.jinja"}],end:"\\)",patterns:[{include:"#expression"}]},{begin:"\\{",captures:[{name:"punctuation.other.jinja"}],end:"\\}",patterns:[{include:"#expression"}]},{match:"(\\.|:|\\||,)",name:"punctuation.other.jinja"},{match:"(==|<=|=>|<|>|!=)",name:"keyword.operator.comparison.jinja"},{match:"=",name:"keyword.operator.assignment.jinja"},{begin:'"',beginCaptures:[{name:"punctuation.definition.string.begin.jinja"}],end:'"',endCaptures:[{name:"punctuation.definition.string.end.jinja"}],name:"string.quoted.double.jinja",patterns:[{include:"#string"}]},{begin:"'",beginCaptures:[{name:"punctuation.definition.string.begin.jinja"}],end:"'",endCaptures:[{name:"punctuation.definition.string.end.jinja"}],name:"string.quoted.single.jinja",patterns:[{include:"#string"}]},{begin:"@/",beginCaptures:[{name:"punctuation.definition.regexp.begin.jinja"}],end:"/",endCaptures:[{name:"punctuation.definition.regexp.end.jinja"}],name:"string.regexp.jinja",patterns:[{include:"#simple_escapes"}]}]},simple_escapes:{captures:{1:{name:"constant.character.escape.newline.jinja"},2:{name:"constant.character.escape.backlash.jinja"},3:{name:"constant.character.escape.double-quote.jinja"},4:{name:"constant.character.escape.single-quote.jinja"},5:{name:"constant.character.escape.bell.jinja"},6:{name:"constant.character.escape.backspace.jinja"},7:{name:"constant.character.escape.formfeed.jinja"},8:{name:"constant.character.escape.linefeed.jinja"},9:{name:"constant.character.escape.return.jinja"},10:{name:"constant.character.escape.tab.jinja"},11:{name:"constant.character.escape.vertical-tab.jinja"}},match:`(\\\\\\n)|(\\\\\\\\)|(\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)`},string:{patterns:[{include:"#simple_escapes"},{include:"#escaped_char"},{include:"#escaped_unicode_char"}]}},scopeName:"source.jinja",embeddedLangs:["jinja-html"]});var s=[...n,t];export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Object.freeze({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:"(?ix)\\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:"(?ix)(?=\\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:"(?ix)\\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:"(?ix)\\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])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[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])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[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(?<![0-9])\\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(?<![0-9])\\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])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[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])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[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:"(?ix)\\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:`(?ix)(?=\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)(\\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:`(?ix)\\s*\\b(module)\\b(?=\\s*(?:[;!\\n]| [^'";!\\n]*\\b(?:function|procedure|subroutine)\\b))`},"module-definition":{begin:`(?ix)(?=\\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:"(?ix)\\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:"(?ix)([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:"(?ix)[\\+\\-]?(\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:"(?ix)\\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:`(?ix)(?=\\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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"./RCJZWN-0.js";import n from"./CbViG2Xw.js";import t from"./CsYA0RN7.js";import a from"./Dch3xQiY.js";import i from"./CbYhyuC0.js";import m from"./DouzTJIq.js";import r from"./BnyYJeap.js";import"./ClXEvkw9.js";const o=Object.freeze({displayName:"Nim",fileTypes:["nim"],name:"nim",patterns:[{begin:"[ \\t]*##\\[",contentName:"comment.block.doc-comment.content.nim",end:"\\]##",name:"comment.block.doc-comment.nim",patterns:[{include:"#multilinedoccomment",name:"comment.block.doc-comment.nested.nim"}]},{begin:"[ \\t]*#\\[",contentName:"comment.block.content.nim",end:"\\]#",name:"comment.block.nim",patterns:[{include:"#multilinecomment",name:"comment.block.nested.nim"}]},{begin:"(^[ \\t]+)?(?=##)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.nim"}},end:"(?!\\G)",patterns:[{begin:"##",beginCaptures:{0:{name:"punctuation.definition.comment.nim"}},end:"\\n",name:"comment.line.number-sign.doc-comment.nim"}]},{begin:"(^[ \\t]+)?(?=#[^\\[])",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.nim"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.nim"}},end:"\\n",name:"comment.line.number-sign.nim"}]},{comment:"A nim procedure or method",name:"meta.proc.nim",patterns:[{begin:"\\b(proc|method|template|macro|iterator|converter|func)\\s+\\`?([^\\:\\{\\s\\`\\*\\(]*)\\`?(\\s*\\*)?\\s*(?=\\(|\\=|:|\\[|\\n|\\{)",captures:{1:{name:"keyword.other"},2:{name:"entity.name.function.nim"},3:{name:"keyword.control.export"}},end:"\\)",patterns:[{include:"source.nim"}]}]},{begin:'discard """',comment:"A discarded triple string literal comment",end:'"""(?!")',name:"comment.line.discarded.nim"},{include:"#float_literal"},{include:"#integer_literal"},{comment:"Operator as function name",match:"(?<=\\`)[^\\` ]+(?=\\`)",name:"entity.name.function.nim"},{captures:{1:{name:"keyword.control.export"}},comment:"Export qualifier.",match:"\\b\\s*(\\*)(?:\\s*(?=[,:])|\\s+(?=[=]))"},{captures:{1:{name:"support.type.nim"},2:{name:"keyword.control.export"}},comment:"Export qualifier following a type def.",match:"\\b([A-Z]\\w+)(\\*)"},{include:"#string_literal"},{comment:"Language Constants.",match:"\\b(true|false|Inf|NegInf|NaN|nil)\\b",name:"constant.language.nim"},{comment:"Keywords that affect program control flow or scope.",match:"\\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b",name:"keyword.control.nim"},{comment:"Keyword boolean operators for expressions.",match:"(\\b(and|in|is|isnot|not|notin|or|xor)\\b)",name:"keyword.boolean.nim"},{comment:"Generic operators for expressions.",match:"(=|\\+|-|\\*|/|<|>|@|\\$|~|&|%|!|\\?|\\^|\\.|:|\\\\)+",name:"keyword.operator.nim"},{comment:"Other keywords.",match:"(\\b(addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template)\\b)",name:"keyword.other.nim"},{comment:"Invalid and unused keywords.",match:"(\\b(generic|interface|lambda|out|shared)\\b)",name:"invalid.illegal.invalid-keyword.nim"},{comment:"Common functions",match:"\\b(new|await|assert|echo|defined|declared|newException|countup|countdown|high|low)\\b",name:"keyword.other.common.function.nim"},{comment:"Built-in, concrete types.",match:"\\b(((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)\\b",name:"storage.type.concrete.nim"},{comment:"Built-in, generic types.",match:"\\b(range|array|seq|set|pointer)\\b",name:"storage.type.generic.nim"},{comment:"Special types.",match:"\\b(openarray|varargs|void)\\b",name:"storage.type.generic.nim"},{comment:"Other constants.",match:"\\b[A-Z][A-Z0-9_]+\\b",name:"support.constant.nim"},{comment:"Other types.",match:"\\b[A-Z]\\w+\\b",name:"support.type.nim"},{comment:"Function call.",match:"\\b\\w+\\b(?=(\\[([a-zA-Z0-9_,]|\\s)+\\])?\\()",name:"support.function.any-method.nim"},{comment:"Function call (no parenthesis).",match:"(?!(openarray|varargs|void|range|array|seq|set|pointer|new|await|assert|echo|defined|declared|newException|countup|countdown|high|low|((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed|addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template|and|in|is|isnot|not|notin|or|xor|proc|method|template|macro|iterator|converter|func|true|false|Inf|NegInf|NaN|nil|block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b)\\w+\\s+(?!(and|in|is|isnot|not|notin|or|xor|[^a-zA-Z0-9_\"'`(-+]+)\\b)(?=[a-zA-Z0-9_\"'`(-+])",name:"support.function.any-method.nim"},{begin:'(^\\s*)?(?=\\{\\.emit: ?""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'\\{\\.(emit:) ?(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.c",end:'(")""(?!")(\\.{0,1}\\})?',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.c"}},name:"meta.embedded.block.c",patterns:[{begin:"\\`",end:"\\`",name:"keyword.operator.nim"},{include:"source.c"}]}]},{begin:"\\{\\.",beginCaptures:{0:{name:"punctuation.pragma.start.nim"}},end:"\\.?\\}",endCaptures:{0:{name:"punctuation.pragma.end.nim"}},patterns:[{begin:"\\b([[:alpha:]]\\w*)(?:\\s|\\s*:)",beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"}},end:"(?=\\.?\\}|,)",patterns:[{include:"source.nim"}]},{begin:"\\b([[:alpha:]]\\w*)\\(",beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{captures:{1:{name:"meta.preprocessor.pragma.nim"}},match:"\\b([[:alpha:]]\\w*)(?=\\.?\\}|,)"},{begin:'\\b([[:alpha:]]\\w*)(""")',beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""(?!")',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},{begin:'\\b([[:alpha:]]\\w*)(")',beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim"},{begin:"\\b(hint\\[\\w+\\]):",beginCaptures:{1:{name:"meta.preprocessor.pragma.nim"}},end:"(?=\\.?\\}|,)",patterns:[{include:"source.nim"}]},{match:",",name:"punctuation.separator.comma.nim"}]},{begin:'(^\\s*)?(?=asm """)',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(asm) (""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.asm",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.asm"}},name:"meta.embedded.block.asm",patterns:[{begin:"\\`",end:"\\`",name:"keyword.operator.nim"},{include:"source.asm"}]}]},{captures:{1:{name:"storage.type.function.nim"},2:{name:"keyword.operator.nim"}},comment:"tmpl specifier",match:'(tmpl(i)?)(?=( (html|xml|js|css|glsl|md))?""")'},{begin:'(^\\s*)?(?=html""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(html)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"text.html"}},name:"meta.embedded.block.html",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"text.html.basic"}]}]},{begin:'(^\\s*)?(?=xml""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(xml)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.xml",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"text.xml"}},name:"meta.embedded.block.xml",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"text.xml"}]}]},{begin:'(^\\s*)?(?=js""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(js)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.js",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.js"}},name:"meta.embedded.block.js",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"source.js"}]}]},{begin:'(^\\s*)?(?=css""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(css)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.css",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.css"}},name:"meta.embedded.block.css",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"source.css"}]}]},{begin:'(^\\s*)?(?=glsl""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(glsl)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.glsl",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"source.glsl"}},name:"meta.embedded.block.glsl",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"source.glsl"}]}]},{begin:'(^\\s*)?(?=md""")',beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.nim"}},end:"(?!\\G)(\\s*$\\n?)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:'(md)(""")',captures:{1:{name:"keyword.other.nim"},2:{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html.markdown",end:'(")""(?!")',endCaptures:{0:{name:"punctuation.section.embedded.end.nim"},1:{name:"text.html.markdown"}},name:"meta.embedded.block.html.markdown",patterns:[{begin:"(?<!\\$)(\\$)\\(",captures:{1:{name:"keyword.operator.nim"}},end:"\\)",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)\\{",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"\\}",patterns:[{include:"source.nim"}]},{begin:"(?<!\\$)(\\$)(for|while|case|of|when|if|else|elif)( )",captures:{1:{name:"keyword.operator.nim"},2:{name:"keyword.operator.nim"}},end:"(\\{|\\n)",endCaptures:{1:{name:"plain"}},patterns:[{include:"source.nim"}]},{match:"(?<!\\$)(\\$\\w+)",name:"keyword.operator.nim"},{include:"text.html.markdown"}]}]}],repository:{char_escapes:{patterns:[{match:"\\\\[cC]|\\\\[rR]",name:"constant.character.escape.carriagereturn.nim"},{match:"\\\\[lL]|\\\\[nN]",name:"constant.character.escape.linefeed.nim"},{match:"\\\\[fF]",name:"constant.character.escape.formfeed.nim"},{match:"\\\\[tT]",name:"constant.character.escape.tabulator.nim"},{match:"\\\\[vV]",name:"constant.character.escape.verticaltabulator.nim"},{match:'\\\\\\"',name:"constant.character.escape.double-quote.nim"},{match:"\\\\'",name:"constant.character.escape.single-quote.nim"},{match:"\\\\[0-9]+",name:"constant.character.escape.chardecimalvalue.nim"},{match:"\\\\[aA]",name:"constant.character.escape.alert.nim"},{match:"\\\\[bB]",name:"constant.character.escape.backspace.nim"},{match:"\\\\[eE]",name:"constant.character.escape.escape.nim"},{match:"\\\\[xX]\\h\\h",name:"constant.character.escape.hex.nim"},{match:"\\\\\\\\",name:"constant.character.escape.backslash.nim"}]},extended_string_quoted_double_raw:{begin:'\\b(\\w+)(")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},extended_string_quoted_triple_raw:{begin:'\\b(\\w+)(""")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},float_literal:{patterns:[{match:"\\b\\d[_\\d]*((\\.\\d[_\\d]*([eE][\\+\\-]?\\d[_\\d]*)?)|([eE][\\+\\-]?\\d[_\\d]*))('([fF](32|64|128)|[fFdD]))?",name:"constant.numeric.float.decimal.nim"},{match:"\\b0[xX]\\h[_\\h]*'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.hexadecimal.nim"},{match:"\\b0o[0-7][_0-7]*'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.octal.nim"},{match:"\\b0(b|B)[01][_01]*'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.binary.nim"},{match:"\\b(\\d[_\\d]*)'([fF](32|64|128)|[fFdD])",name:"constant.numeric.float.decimal.nim"}]},fmt_interpolation:{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.nim"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.nim"}},name:"meta.template.expression.nim",patterns:[{begin:":",end:"(?=\\})",name:"meta.template.format-specifier.nim"},{include:"source.nim"}]},fmt_string:{begin:'\\b(fmt)(")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{match:'(?<!")"(?!")',name:"invalid.illegal.nim"},{include:"#raw_string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_call:{begin:'(fmt)\\((?=")',beginCaptures:{1:{name:"support.function.any-method.nim"}},end:"\\)",patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},end:'"(?=\\))',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:'"',name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]}]},fmt_string_operator:{begin:'(&)(")',beginCaptures:{1:{name:"keyword.operator.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:'"',name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_triple:{begin:'\\b(fmt)(""")',beginCaptures:{1:{name:"support.function.any-method.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},fmt_string_triple_operator:{begin:'(&)(""")',beginCaptures:{1:{name:"keyword.operator.nim"},2:{name:"punctuation.definition.string.begin.nim"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},integer_literal:{patterns:[{match:"\\b(0[xX]\\h[_\\h]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.hexadecimal.nim"},{match:"\\b(0o[0-7][_0-7]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.octal.nim"},{match:"\\b(0(b|B)[01][_01]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.binary.nim"},{match:"\\b(\\d[_\\d]*)('(([iIuU](8|16|32|64))|[uU]))?",name:"constant.numeric.integer.decimal.nim"}]},multilinecomment:{begin:"#\\[",end:"\\]#",patterns:[{include:"#multilinecomment"}]},multilinedoccomment:{begin:"##\\[",end:"\\]##",patterns:[{include:"#multilinedoccomment"}]},raw_string_escapes:{captures:{1:{name:"constant.character.escape.double-quote.nim"}},match:'[^"]("")'},string_escapes:{patterns:[{match:"\\\\[pP]",name:"constant.character.escape.newline.nim"},{match:"\\\\[uU]\\h\\h\\h\\h",name:"constant.character.escape.hex.nim"},{match:"\\\\[uU]\\{\\h+\\}",name:"constant.character.escape.hex.nim"},{include:"#char_escapes"}]},string_literal:{patterns:[{include:"#fmt_string_triple"},{include:"#fmt_string_triple_operator"},{include:"#extended_string_quoted_triple_raw"},{include:"#string_quoted_triple_raw"},{include:"#fmt_string_operator"},{include:"#fmt_string"},{include:"#fmt_string_call"},{include:"#string_quoted_double_raw"},{include:"#extended_string_quoted_double_raw"},{include:"#string_quoted_single"},{include:"#string_quoted_triple"},{include:"#string_quoted_double"}]},string_quoted_double:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Double Quoted String",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{include:"#string_escapes"}]},string_quoted_double_raw:{begin:'\\br"',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},string_quoted_single:{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Single quoted character literal",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.single.nim",patterns:[{include:"#char_escapes"},{match:"([^']{2,}?)",name:"invalid.illegal.character.nim"}]},string_quoted_triple:{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Triple Quoted String",end:'"""(?!")',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.nim"},string_quoted_triple_raw:{begin:'r"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.nim"}},comment:"Raw Triple Quoted String",end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"}},scopeName:"source.nim",embeddedLangs:["c","html","xml","javascript","css","glsl","markdown"]});var h=[...e,...n,...t,...a,...i,...m,...r,o];export{h as default};
|