@tiflis-io/tiflis-code-web 0.1.0
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/LICENSE +100 -0
- package/dist/assets/abap-DsBKuouk.js +2 -0
- package/dist/assets/abap-DsBKuouk.js.map +1 -0
- package/dist/assets/actionscript-3-D_z4Izcz.js +2 -0
- package/dist/assets/actionscript-3-D_z4Izcz.js.map +1 -0
- package/dist/assets/ada-727ZlQH0.js +2 -0
- package/dist/assets/ada-727ZlQH0.js.map +1 -0
- package/dist/assets/andromeeda-C3khCPGq.js +2 -0
- package/dist/assets/andromeeda-C3khCPGq.js.map +1 -0
- package/dist/assets/angular-html-LfdN0zeE.js +2 -0
- package/dist/assets/angular-html-LfdN0zeE.js.map +1 -0
- package/dist/assets/angular-ts-CKsD7JZE.js +2 -0
- package/dist/assets/angular-ts-CKsD7JZE.js.map +1 -0
- package/dist/assets/apache-Dn00JSTd.js +2 -0
- package/dist/assets/apache-Dn00JSTd.js.map +1 -0
- package/dist/assets/apex-COJ4H7py.js +2 -0
- package/dist/assets/apex-COJ4H7py.js.map +1 -0
- package/dist/assets/apl-BBq3IX1j.js +2 -0
- package/dist/assets/apl-BBq3IX1j.js.map +1 -0
- package/dist/assets/applescript-Bu5BbsvL.js +2 -0
- package/dist/assets/applescript-Bu5BbsvL.js.map +1 -0
- package/dist/assets/ara-7O62HKoU.js +2 -0
- package/dist/assets/ara-7O62HKoU.js.map +1 -0
- package/dist/assets/asciidoc-BPT9niGB.js +2 -0
- package/dist/assets/asciidoc-BPT9niGB.js.map +1 -0
- package/dist/assets/asm-Dhn9LcZ4.js +2 -0
- package/dist/assets/asm-Dhn9LcZ4.js.map +1 -0
- package/dist/assets/astro-CqkE3fuf.js +2 -0
- package/dist/assets/astro-CqkE3fuf.js.map +1 -0
- package/dist/assets/aurora-x-D-2ljcwZ.js +2 -0
- package/dist/assets/aurora-x-D-2ljcwZ.js.map +1 -0
- package/dist/assets/awk-eg146-Ew.js +2 -0
- package/dist/assets/awk-eg146-Ew.js.map +1 -0
- package/dist/assets/ayu-dark-Cv9koXgw.js +2 -0
- package/dist/assets/ayu-dark-Cv9koXgw.js.map +1 -0
- package/dist/assets/ballerina-Du268qiB.js +2 -0
- package/dist/assets/ballerina-Du268qiB.js.map +1 -0
- package/dist/assets/bat-fje9CFhw.js +2 -0
- package/dist/assets/bat-fje9CFhw.js.map +1 -0
- package/dist/assets/beancount-BwXTMy5W.js +2 -0
- package/dist/assets/beancount-BwXTMy5W.js.map +1 -0
- package/dist/assets/berry-3xVqZejG.js +2 -0
- package/dist/assets/berry-3xVqZejG.js.map +1 -0
- package/dist/assets/bibtex-xW4inM5L.js +2 -0
- package/dist/assets/bibtex-xW4inM5L.js.map +1 -0
- package/dist/assets/bicep-DHo0CJ0O.js +2 -0
- package/dist/assets/bicep-DHo0CJ0O.js.map +1 -0
- package/dist/assets/blade-a8OxSdnT.js +2 -0
- package/dist/assets/blade-a8OxSdnT.js.map +1 -0
- package/dist/assets/bsl-Dgyn0ogV.js +2 -0
- package/dist/assets/bsl-Dgyn0ogV.js.map +1 -0
- package/dist/assets/c-C3t2pwGQ.js +2 -0
- package/dist/assets/c-C3t2pwGQ.js.map +1 -0
- package/dist/assets/cadence-DNquZEk8.js +2 -0
- package/dist/assets/cadence-DNquZEk8.js.map +1 -0
- package/dist/assets/cairo--RitsXJZ.js +2 -0
- package/dist/assets/cairo--RitsXJZ.js.map +1 -0
- package/dist/assets/catppuccin-frappe-CD_QflpE.js +2 -0
- package/dist/assets/catppuccin-frappe-CD_QflpE.js.map +1 -0
- package/dist/assets/catppuccin-latte-DRW-0cLl.js +2 -0
- package/dist/assets/catppuccin-latte-DRW-0cLl.js.map +1 -0
- package/dist/assets/catppuccin-macchiato-C-_shW-Y.js +2 -0
- package/dist/assets/catppuccin-macchiato-C-_shW-Y.js.map +1 -0
- package/dist/assets/catppuccin-mocha-LGGdnPYs.js +2 -0
- package/dist/assets/catppuccin-mocha-LGGdnPYs.js.map +1 -0
- package/dist/assets/clarity-BHOwM8T6.js +2 -0
- package/dist/assets/clarity-BHOwM8T6.js.map +1 -0
- package/dist/assets/clojure-DxSadP1t.js +2 -0
- package/dist/assets/clojure-DxSadP1t.js.map +1 -0
- package/dist/assets/cmake-DbXoA79R.js +2 -0
- package/dist/assets/cmake-DbXoA79R.js.map +1 -0
- package/dist/assets/cobol-PTqiYgYu.js +2 -0
- package/dist/assets/cobol-PTqiYgYu.js.map +1 -0
- package/dist/assets/codeowners-Bp6g37R7.js +2 -0
- package/dist/assets/codeowners-Bp6g37R7.js.map +1 -0
- package/dist/assets/codeql-sacFqUAJ.js +2 -0
- package/dist/assets/codeql-sacFqUAJ.js.map +1 -0
- package/dist/assets/coffee-dyiR41kL.js +2 -0
- package/dist/assets/coffee-dyiR41kL.js.map +1 -0
- package/dist/assets/common-lisp-C7gG9l05.js +2 -0
- package/dist/assets/common-lisp-C7gG9l05.js.map +1 -0
- package/dist/assets/coq-Dsg_Bt_b.js +2 -0
- package/dist/assets/coq-Dsg_Bt_b.js.map +1 -0
- package/dist/assets/cpp-BksuvNSY.js +2 -0
- package/dist/assets/cpp-BksuvNSY.js.map +1 -0
- package/dist/assets/crystal-DtDmRg-F.js +2 -0
- package/dist/assets/crystal-DtDmRg-F.js.map +1 -0
- package/dist/assets/csharp-D9R-vmeu.js +2 -0
- package/dist/assets/csharp-D9R-vmeu.js.map +1 -0
- package/dist/assets/css-BPhBrDlE.js +2 -0
- package/dist/assets/css-BPhBrDlE.js.map +1 -0
- package/dist/assets/csv-B0qRVHPH.js +2 -0
- package/dist/assets/csv-B0qRVHPH.js.map +1 -0
- package/dist/assets/cue-DtFQj3wx.js +2 -0
- package/dist/assets/cue-DtFQj3wx.js.map +1 -0
- package/dist/assets/cypher-m2LEI-9-.js +2 -0
- package/dist/assets/cypher-m2LEI-9-.js.map +1 -0
- package/dist/assets/d-BoXegm-a.js +2 -0
- package/dist/assets/d-BoXegm-a.js.map +1 -0
- package/dist/assets/dark-plus-C3mMm8J8.js +2 -0
- package/dist/assets/dark-plus-C3mMm8J8.js.map +1 -0
- package/dist/assets/dart-B9wLZaAG.js +2 -0
- package/dist/assets/dart-B9wLZaAG.js.map +1 -0
- package/dist/assets/dax-ClGRhx96.js +2 -0
- package/dist/assets/dax-ClGRhx96.js.map +1 -0
- package/dist/assets/desktop-DEIpsLCJ.js +2 -0
- package/dist/assets/desktop-DEIpsLCJ.js.map +1 -0
- package/dist/assets/diff-BgYniUM_.js +2 -0
- package/dist/assets/diff-BgYniUM_.js.map +1 -0
- package/dist/assets/docker-COcR7UxN.js +2 -0
- package/dist/assets/docker-COcR7UxN.js.map +1 -0
- package/dist/assets/dotenv-BjQB5zDj.js +2 -0
- package/dist/assets/dotenv-BjQB5zDj.js.map +1 -0
- package/dist/assets/dracula-BzJJZx-M.js +2 -0
- package/dist/assets/dracula-BzJJZx-M.js.map +1 -0
- package/dist/assets/dracula-soft-BXkSAIEj.js +2 -0
- package/dist/assets/dracula-soft-BXkSAIEj.js.map +1 -0
- package/dist/assets/dream-maker-C-nORZOA.js +2 -0
- package/dist/assets/dream-maker-C-nORZOA.js.map +1 -0
- package/dist/assets/edge-D5gP-w-T.js +2 -0
- package/dist/assets/edge-D5gP-w-T.js.map +1 -0
- package/dist/assets/elixir-CLiX3zqd.js +2 -0
- package/dist/assets/elixir-CLiX3zqd.js.map +1 -0
- package/dist/assets/elm-CmHSxxaM.js +2 -0
- package/dist/assets/elm-CmHSxxaM.js.map +1 -0
- package/dist/assets/emacs-lisp-BX77sIaO.js +2 -0
- package/dist/assets/emacs-lisp-BX77sIaO.js.map +1 -0
- package/dist/assets/erb-BYTLMnw6.js +2 -0
- package/dist/assets/erb-BYTLMnw6.js.map +1 -0
- package/dist/assets/erlang-B-DoSBHF.js +2 -0
- package/dist/assets/erlang-B-DoSBHF.js.map +1 -0
- package/dist/assets/everforest-dark-BgDCqdQA.js +2 -0
- package/dist/assets/everforest-dark-BgDCqdQA.js.map +1 -0
- package/dist/assets/everforest-light-C8M2exoo.js +2 -0
- package/dist/assets/everforest-light-C8M2exoo.js.map +1 -0
- package/dist/assets/fennel-bCA53EVm.js +2 -0
- package/dist/assets/fennel-bCA53EVm.js.map +1 -0
- package/dist/assets/fish-w-ucz2PV.js +2 -0
- package/dist/assets/fish-w-ucz2PV.js.map +1 -0
- package/dist/assets/fluent-Dayu4EKP.js +2 -0
- package/dist/assets/fluent-Dayu4EKP.js.map +1 -0
- package/dist/assets/fortran-fixed-form-TqA4NnZg.js +2 -0
- package/dist/assets/fortran-fixed-form-TqA4NnZg.js.map +1 -0
- package/dist/assets/fortran-free-form-DKXYxT9g.js +2 -0
- package/dist/assets/fortran-free-form-DKXYxT9g.js.map +1 -0
- package/dist/assets/fsharp-XplgxFYe.js +2 -0
- package/dist/assets/fsharp-XplgxFYe.js.map +1 -0
- package/dist/assets/gdresource-BHYsBjWJ.js +2 -0
- package/dist/assets/gdresource-BHYsBjWJ.js.map +1 -0
- package/dist/assets/gdscript-DfxzS6Rs.js +2 -0
- package/dist/assets/gdscript-DfxzS6Rs.js.map +1 -0
- package/dist/assets/gdshader-SKMF96pI.js +2 -0
- package/dist/assets/gdshader-SKMF96pI.js.map +1 -0
- package/dist/assets/genie-ajMbGru0.js +2 -0
- package/dist/assets/genie-ajMbGru0.js.map +1 -0
- package/dist/assets/gherkin--30QC5Em.js +2 -0
- package/dist/assets/gherkin--30QC5Em.js.map +1 -0
- package/dist/assets/git-commit-i4q6IMui.js +2 -0
- package/dist/assets/git-commit-i4q6IMui.js.map +1 -0
- package/dist/assets/git-rebase-B-v9cOL2.js +2 -0
- package/dist/assets/git-rebase-B-v9cOL2.js.map +1 -0
- package/dist/assets/github-dark-DHJKELXO.js +2 -0
- package/dist/assets/github-dark-DHJKELXO.js.map +1 -0
- package/dist/assets/github-dark-default-Cuk6v7N8.js +2 -0
- package/dist/assets/github-dark-default-Cuk6v7N8.js.map +1 -0
- package/dist/assets/github-dark-dimmed-DH5Ifo-i.js +2 -0
- package/dist/assets/github-dark-dimmed-DH5Ifo-i.js.map +1 -0
- package/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +2 -0
- package/dist/assets/github-dark-high-contrast-E3gJ1_iC.js.map +1 -0
- package/dist/assets/github-light-DAi9KRSo.js +2 -0
- package/dist/assets/github-light-DAi9KRSo.js.map +1 -0
- package/dist/assets/github-light-default-D7oLnXFd.js +2 -0
- package/dist/assets/github-light-default-D7oLnXFd.js.map +1 -0
- package/dist/assets/github-light-high-contrast-BfjtVDDH.js +2 -0
- package/dist/assets/github-light-high-contrast-BfjtVDDH.js.map +1 -0
- package/dist/assets/gleam-B430Bg39.js +2 -0
- package/dist/assets/gleam-B430Bg39.js.map +1 -0
- package/dist/assets/glimmer-js-D-cwc0-E.js +2 -0
- package/dist/assets/glimmer-js-D-cwc0-E.js.map +1 -0
- package/dist/assets/glimmer-ts-pgjy16dm.js +2 -0
- package/dist/assets/glimmer-ts-pgjy16dm.js.map +1 -0
- package/dist/assets/glsl-DBO2IWDn.js +2 -0
- package/dist/assets/glsl-DBO2IWDn.js.map +1 -0
- package/dist/assets/gnuplot-CM8KxXT1.js +2 -0
- package/dist/assets/gnuplot-CM8KxXT1.js.map +1 -0
- package/dist/assets/go-B1SYOhNW.js +2 -0
- package/dist/assets/go-B1SYOhNW.js.map +1 -0
- package/dist/assets/graphql-cDcHW_If.js +2 -0
- package/dist/assets/graphql-cDcHW_If.js.map +1 -0
- package/dist/assets/groovy-DkBy-JyN.js +2 -0
- package/dist/assets/groovy-DkBy-JyN.js.map +1 -0
- package/dist/assets/hack-D1yCygmZ.js +2 -0
- package/dist/assets/hack-D1yCygmZ.js.map +1 -0
- package/dist/assets/haml-B2EZWmdv.js +2 -0
- package/dist/assets/haml-B2EZWmdv.js.map +1 -0
- package/dist/assets/handlebars-BQGss363.js +2 -0
- package/dist/assets/handlebars-BQGss363.js.map +1 -0
- package/dist/assets/haskell-BILxekzW.js +2 -0
- package/dist/assets/haskell-BILxekzW.js.map +1 -0
- package/dist/assets/haxe-C5wWYbrZ.js +2 -0
- package/dist/assets/haxe-C5wWYbrZ.js.map +1 -0
- package/dist/assets/hcl-HzYwdGDm.js +2 -0
- package/dist/assets/hcl-HzYwdGDm.js.map +1 -0
- package/dist/assets/hjson-T-Tgc4AT.js +2 -0
- package/dist/assets/hjson-T-Tgc4AT.js.map +1 -0
- package/dist/assets/hlsl-ifBTmRxC.js +2 -0
- package/dist/assets/hlsl-ifBTmRxC.js.map +1 -0
- package/dist/assets/houston-DnULxvSX.js +2 -0
- package/dist/assets/houston-DnULxvSX.js.map +1 -0
- package/dist/assets/html-C2L_23MC.js +2 -0
- package/dist/assets/html-C2L_23MC.js.map +1 -0
- package/dist/assets/html-derivative-CSfWNPLT.js +2 -0
- package/dist/assets/html-derivative-CSfWNPLT.js.map +1 -0
- package/dist/assets/http-FRrOvY1W.js +2 -0
- package/dist/assets/http-FRrOvY1W.js.map +1 -0
- package/dist/assets/hxml-TIA70rKU.js +2 -0
- package/dist/assets/hxml-TIA70rKU.js.map +1 -0
- package/dist/assets/hy-BMj5Y0dO.js +2 -0
- package/dist/assets/hy-BMj5Y0dO.js.map +1 -0
- package/dist/assets/imba-bv_oIlVt.js +2 -0
- package/dist/assets/imba-bv_oIlVt.js.map +1 -0
- package/dist/assets/index-GhltkWpx.js +420 -0
- package/dist/assets/index-GhltkWpx.js.map +1 -0
- package/dist/assets/index-JMuI9hqN.css +32 -0
- package/dist/assets/ini-BjABl1g7.js +2 -0
- package/dist/assets/ini-BjABl1g7.js.map +1 -0
- package/dist/assets/java-xI-RfyKK.js +2 -0
- package/dist/assets/java-xI-RfyKK.js.map +1 -0
- package/dist/assets/javascript-ySlJ1b_l.js +2 -0
- package/dist/assets/javascript-ySlJ1b_l.js.map +1 -0
- package/dist/assets/jinja-DGy0s7-h.js +2 -0
- package/dist/assets/jinja-DGy0s7-h.js.map +1 -0
- package/dist/assets/jison-BqZprYcd.js +2 -0
- package/dist/assets/jison-BqZprYcd.js.map +1 -0
- package/dist/assets/json-BQoSv7ci.js +2 -0
- package/dist/assets/json-BQoSv7ci.js.map +1 -0
- package/dist/assets/json5-w8dY5SsB.js +2 -0
- package/dist/assets/json5-w8dY5SsB.js.map +1 -0
- package/dist/assets/jsonc-TU54ms6u.js +2 -0
- package/dist/assets/jsonc-TU54ms6u.js.map +1 -0
- package/dist/assets/jsonl-DREVFZK8.js +2 -0
- package/dist/assets/jsonl-DREVFZK8.js.map +1 -0
- package/dist/assets/jsonnet-BfivnA6A.js +2 -0
- package/dist/assets/jsonnet-BfivnA6A.js.map +1 -0
- package/dist/assets/jssm-P4WzXJd0.js +2 -0
- package/dist/assets/jssm-P4WzXJd0.js.map +1 -0
- package/dist/assets/jsx-BAng5TT0.js +2 -0
- package/dist/assets/jsx-BAng5TT0.js.map +1 -0
- package/dist/assets/julia-BBuGR-5E.js +2 -0
- package/dist/assets/julia-BBuGR-5E.js.map +1 -0
- package/dist/assets/kanagawa-dragon-CkXjmgJE.js +2 -0
- package/dist/assets/kanagawa-dragon-CkXjmgJE.js.map +1 -0
- package/dist/assets/kanagawa-lotus-CfQXZHmo.js +2 -0
- package/dist/assets/kanagawa-lotus-CfQXZHmo.js.map +1 -0
- package/dist/assets/kanagawa-wave-DWedfzmr.js +2 -0
- package/dist/assets/kanagawa-wave-DWedfzmr.js.map +1 -0
- package/dist/assets/kotlin-B5lbUyaz.js +2 -0
- package/dist/assets/kotlin-B5lbUyaz.js.map +1 -0
- package/dist/assets/kusto-mebxcVVE.js +2 -0
- package/dist/assets/kusto-mebxcVVE.js.map +1 -0
- package/dist/assets/laserwave-DUszq2jm.js +2 -0
- package/dist/assets/laserwave-DUszq2jm.js.map +1 -0
- package/dist/assets/latex-C-cWTeAZ.js +2 -0
- package/dist/assets/latex-C-cWTeAZ.js.map +1 -0
- package/dist/assets/lean-XBlWyCtg.js +2 -0
- package/dist/assets/lean-XBlWyCtg.js.map +1 -0
- package/dist/assets/less-BfCpw3nA.js +2 -0
- package/dist/assets/less-BfCpw3nA.js.map +1 -0
- package/dist/assets/light-plus-B7mTdjB0.js +2 -0
- package/dist/assets/light-plus-B7mTdjB0.js.map +1 -0
- package/dist/assets/liquid-D3W5UaiH.js +2 -0
- package/dist/assets/liquid-D3W5UaiH.js.map +1 -0
- package/dist/assets/log-Cc5clBb7.js +2 -0
- package/dist/assets/log-Cc5clBb7.js.map +1 -0
- package/dist/assets/logo-IuBKFhSY.js +2 -0
- package/dist/assets/logo-IuBKFhSY.js.map +1 -0
- package/dist/assets/lua-CvWAzNxB.js +2 -0
- package/dist/assets/lua-CvWAzNxB.js.map +1 -0
- package/dist/assets/luau-Du5NY7AG.js +2 -0
- package/dist/assets/luau-Du5NY7AG.js.map +1 -0
- package/dist/assets/make-Bvotw-X0.js +2 -0
- package/dist/assets/make-Bvotw-X0.js.map +1 -0
- package/dist/assets/markdown-UIAJJxZW.js +2 -0
- package/dist/assets/markdown-UIAJJxZW.js.map +1 -0
- package/dist/assets/marko-z0MBrx5-.js +2 -0
- package/dist/assets/marko-z0MBrx5-.js.map +1 -0
- package/dist/assets/material-theme-D5KoaKCx.js +2 -0
- package/dist/assets/material-theme-D5KoaKCx.js.map +1 -0
- package/dist/assets/material-theme-darker-BfHTSMKl.js +2 -0
- package/dist/assets/material-theme-darker-BfHTSMKl.js.map +1 -0
- package/dist/assets/material-theme-lighter-B0m2ddpp.js +2 -0
- package/dist/assets/material-theme-lighter-B0m2ddpp.js.map +1 -0
- package/dist/assets/material-theme-ocean-CyktbL80.js +2 -0
- package/dist/assets/material-theme-ocean-CyktbL80.js.map +1 -0
- package/dist/assets/material-theme-palenight-Csfq5Kiy.js +2 -0
- package/dist/assets/material-theme-palenight-Csfq5Kiy.js.map +1 -0
- package/dist/assets/matlab-D9-PGadD.js +2 -0
- package/dist/assets/matlab-D9-PGadD.js.map +1 -0
- package/dist/assets/mdc-DB_EDNY_.js +2 -0
- package/dist/assets/mdc-DB_EDNY_.js.map +1 -0
- package/dist/assets/mdx-sdHcTMYB.js +2 -0
- package/dist/assets/mdx-sdHcTMYB.js.map +1 -0
- package/dist/assets/mermaid-Ci6OQyBP.js +2 -0
- package/dist/assets/mermaid-Ci6OQyBP.js.map +1 -0
- package/dist/assets/min-dark-CafNBF8u.js +2 -0
- package/dist/assets/min-dark-CafNBF8u.js.map +1 -0
- package/dist/assets/min-light-CTRr51gU.js +2 -0
- package/dist/assets/min-light-CTRr51gU.js.map +1 -0
- package/dist/assets/mipsasm-BC5c_5Pe.js +2 -0
- package/dist/assets/mipsasm-BC5c_5Pe.js.map +1 -0
- package/dist/assets/mojo-Tz6hzZYG.js +2 -0
- package/dist/assets/mojo-Tz6hzZYG.js.map +1 -0
- package/dist/assets/monokai-D4h5O-jR.js +2 -0
- package/dist/assets/monokai-D4h5O-jR.js.map +1 -0
- package/dist/assets/move-DB_GagMm.js +2 -0
- package/dist/assets/move-DB_GagMm.js.map +1 -0
- package/dist/assets/narrat-DLbgOhZU.js +2 -0
- package/dist/assets/narrat-DLbgOhZU.js.map +1 -0
- package/dist/assets/nextflow-B0XVJmRM.js +2 -0
- package/dist/assets/nextflow-B0XVJmRM.js.map +1 -0
- package/dist/assets/nginx-D_VnBJ67.js +2 -0
- package/dist/assets/nginx-D_VnBJ67.js.map +1 -0
- package/dist/assets/night-owl-C39BiMTA.js +2 -0
- package/dist/assets/night-owl-C39BiMTA.js.map +1 -0
- package/dist/assets/nim-ZlGxZxc3.js +2 -0
- package/dist/assets/nim-ZlGxZxc3.js.map +1 -0
- package/dist/assets/nix-shcSOmrb.js +2 -0
- package/dist/assets/nix-shcSOmrb.js.map +1 -0
- package/dist/assets/nord-Ddv68eIx.js +2 -0
- package/dist/assets/nord-Ddv68eIx.js.map +1 -0
- package/dist/assets/nushell-D4Tzg5kh.js +2 -0
- package/dist/assets/nushell-D4Tzg5kh.js.map +1 -0
- package/dist/assets/objective-c-Deuh7S70.js +2 -0
- package/dist/assets/objective-c-Deuh7S70.js.map +1 -0
- package/dist/assets/objective-cpp-BUEGK8hf.js +2 -0
- package/dist/assets/objective-cpp-BUEGK8hf.js.map +1 -0
- package/dist/assets/ocaml-BNioltXt.js +2 -0
- package/dist/assets/ocaml-BNioltXt.js.map +1 -0
- package/dist/assets/one-dark-pro-GBQ2dnAY.js +2 -0
- package/dist/assets/one-dark-pro-GBQ2dnAY.js.map +1 -0
- package/dist/assets/one-light-PoHY5YXO.js +2 -0
- package/dist/assets/one-light-PoHY5YXO.js.map +1 -0
- package/dist/assets/pascal-JqZropPD.js +2 -0
- package/dist/assets/pascal-JqZropPD.js.map +1 -0
- package/dist/assets/perl-CHQXSrWU.js +2 -0
- package/dist/assets/perl-CHQXSrWU.js.map +1 -0
- package/dist/assets/php-B5ebYQev.js +2 -0
- package/dist/assets/php-B5ebYQev.js.map +1 -0
- package/dist/assets/plastic-3e1v2bzS.js +2 -0
- package/dist/assets/plastic-3e1v2bzS.js.map +1 -0
- package/dist/assets/plsql-LKU2TuZ1.js +2 -0
- package/dist/assets/plsql-LKU2TuZ1.js.map +1 -0
- package/dist/assets/po-BFLt1xDp.js +2 -0
- package/dist/assets/po-BFLt1xDp.js.map +1 -0
- package/dist/assets/poimandres-CS3Unz2-.js +2 -0
- package/dist/assets/poimandres-CS3Unz2-.js.map +1 -0
- package/dist/assets/polar-DKykz6zU.js +2 -0
- package/dist/assets/polar-DKykz6zU.js.map +1 -0
- package/dist/assets/postcss-B3ZDOciz.js +2 -0
- package/dist/assets/postcss-B3ZDOciz.js.map +1 -0
- package/dist/assets/powerquery-CSHBycmS.js +2 -0
- package/dist/assets/powerquery-CSHBycmS.js.map +1 -0
- package/dist/assets/powershell-BIEUsx6d.js +2 -0
- package/dist/assets/powershell-BIEUsx6d.js.map +1 -0
- package/dist/assets/prisma-B48N-Iqd.js +2 -0
- package/dist/assets/prisma-B48N-Iqd.js.map +1 -0
- package/dist/assets/prolog-BY-TUvya.js +2 -0
- package/dist/assets/prolog-BY-TUvya.js.map +1 -0
- package/dist/assets/proto-zocC4JxJ.js +2 -0
- package/dist/assets/proto-zocC4JxJ.js.map +1 -0
- package/dist/assets/pug-CM9l7STV.js +2 -0
- package/dist/assets/pug-CM9l7STV.js.map +1 -0
- package/dist/assets/puppet-Cza_XSSt.js +2 -0
- package/dist/assets/puppet-Cza_XSSt.js.map +1 -0
- package/dist/assets/purescript-Bg-kzb6g.js +2 -0
- package/dist/assets/purescript-Bg-kzb6g.js.map +1 -0
- package/dist/assets/python-DhUJRlN_.js +2 -0
- package/dist/assets/python-DhUJRlN_.js.map +1 -0
- package/dist/assets/qml-D8XfuvdV.js +2 -0
- package/dist/assets/qml-D8XfuvdV.js.map +1 -0
- package/dist/assets/qmldir-C8lEn-DE.js +2 -0
- package/dist/assets/qmldir-C8lEn-DE.js.map +1 -0
- package/dist/assets/qss-DhMKtDLN.js +2 -0
- package/dist/assets/qss-DhMKtDLN.js.map +1 -0
- package/dist/assets/r-CwjWoCRV.js +2 -0
- package/dist/assets/r-CwjWoCRV.js.map +1 -0
- package/dist/assets/racket-CzouJOBO.js +2 -0
- package/dist/assets/racket-CzouJOBO.js.map +1 -0
- package/dist/assets/raku-B1bQXN8T.js +2 -0
- package/dist/assets/raku-B1bQXN8T.js.map +1 -0
- package/dist/assets/razor-CNLDkMZG.js +2 -0
- package/dist/assets/razor-CNLDkMZG.js.map +1 -0
- package/dist/assets/red-bN70gL4F.js +2 -0
- package/dist/assets/red-bN70gL4F.js.map +1 -0
- package/dist/assets/reg-5LuOXUq_.js +2 -0
- package/dist/assets/reg-5LuOXUq_.js.map +1 -0
- package/dist/assets/regexp-DWJ3fJO_.js +2 -0
- package/dist/assets/regexp-DWJ3fJO_.js.map +1 -0
- package/dist/assets/rel-DJlmqQ1C.js +2 -0
- package/dist/assets/rel-DJlmqQ1C.js.map +1 -0
- package/dist/assets/riscv-QhoSD0DR.js +2 -0
- package/dist/assets/riscv-QhoSD0DR.js.map +1 -0
- package/dist/assets/rose-pine-CmCqftbK.js +2 -0
- package/dist/assets/rose-pine-CmCqftbK.js.map +1 -0
- package/dist/assets/rose-pine-dawn-Ds-gbosJ.js +2 -0
- package/dist/assets/rose-pine-dawn-Ds-gbosJ.js.map +1 -0
- package/dist/assets/rose-pine-moon-CjDtw9vr.js +2 -0
- package/dist/assets/rose-pine-moon-CjDtw9vr.js.map +1 -0
- package/dist/assets/rst-4NLicBqY.js +2 -0
- package/dist/assets/rst-4NLicBqY.js.map +1 -0
- package/dist/assets/ruby-DeZ3UC14.js +2 -0
- package/dist/assets/ruby-DeZ3UC14.js.map +1 -0
- package/dist/assets/rust-Be6lgOlo.js +2 -0
- package/dist/assets/rust-Be6lgOlo.js.map +1 -0
- package/dist/assets/sas-BmTFh92c.js +2 -0
- package/dist/assets/sas-BmTFh92c.js.map +1 -0
- package/dist/assets/sass-BJ4Li9vH.js +2 -0
- package/dist/assets/sass-BJ4Li9vH.js.map +1 -0
- package/dist/assets/scala-DQVVAn-B.js +2 -0
- package/dist/assets/scala-DQVVAn-B.js.map +1 -0
- package/dist/assets/scheme-BJGe-b2p.js +2 -0
- package/dist/assets/scheme-BJGe-b2p.js.map +1 -0
- package/dist/assets/scss-C31hgJw-.js +2 -0
- package/dist/assets/scss-C31hgJw-.js.map +1 -0
- package/dist/assets/sdbl-BLhTXw86.js +2 -0
- package/dist/assets/sdbl-BLhTXw86.js.map +1 -0
- package/dist/assets/shaderlab-B7qAK45m.js +2 -0
- package/dist/assets/shaderlab-B7qAK45m.js.map +1 -0
- package/dist/assets/shellscript-atvbtKCR.js +2 -0
- package/dist/assets/shellscript-atvbtKCR.js.map +1 -0
- package/dist/assets/shellsession-C_rIy8kc.js +2 -0
- package/dist/assets/shellsession-C_rIy8kc.js.map +1 -0
- package/dist/assets/slack-dark-BthQWCQV.js +2 -0
- package/dist/assets/slack-dark-BthQWCQV.js.map +1 -0
- package/dist/assets/slack-ochin-DqwNpetd.js +2 -0
- package/dist/assets/slack-ochin-DqwNpetd.js.map +1 -0
- package/dist/assets/smalltalk-DkLiglaE.js +2 -0
- package/dist/assets/smalltalk-DkLiglaE.js.map +1 -0
- package/dist/assets/snazzy-light-Bw305WKR.js +2 -0
- package/dist/assets/snazzy-light-Bw305WKR.js.map +1 -0
- package/dist/assets/solarized-dark-DXbdFlpD.js +2 -0
- package/dist/assets/solarized-dark-DXbdFlpD.js.map +1 -0
- package/dist/assets/solarized-light-L9t79GZl.js +2 -0
- package/dist/assets/solarized-light-L9t79GZl.js.map +1 -0
- package/dist/assets/solidity-C1w2a3ep.js +2 -0
- package/dist/assets/solidity-C1w2a3ep.js.map +1 -0
- package/dist/assets/soy-C-lX7w71.js +2 -0
- package/dist/assets/soy-C-lX7w71.js.map +1 -0
- package/dist/assets/sparql-bYkjHRlG.js +2 -0
- package/dist/assets/sparql-bYkjHRlG.js.map +1 -0
- package/dist/assets/splunk-Cf8iN4DR.js +2 -0
- package/dist/assets/splunk-Cf8iN4DR.js.map +1 -0
- package/dist/assets/sql-COK4E0Yg.js +2 -0
- package/dist/assets/sql-COK4E0Yg.js.map +1 -0
- package/dist/assets/ssh-config-BknIz3MU.js +2 -0
- package/dist/assets/ssh-config-BknIz3MU.js.map +1 -0
- package/dist/assets/stata-DorPZHa4.js +2 -0
- package/dist/assets/stata-DorPZHa4.js.map +1 -0
- package/dist/assets/stylus-BeQkCIfX.js +2 -0
- package/dist/assets/stylus-BeQkCIfX.js.map +1 -0
- package/dist/assets/svelte-MSaWC3Je.js +2 -0
- package/dist/assets/svelte-MSaWC3Je.js.map +1 -0
- package/dist/assets/swift-BSxZ-RaX.js +2 -0
- package/dist/assets/swift-BSxZ-RaX.js.map +1 -0
- package/dist/assets/synthwave-84-CbfX1IO0.js +2 -0
- package/dist/assets/synthwave-84-CbfX1IO0.js.map +1 -0
- package/dist/assets/system-verilog-C7L56vO4.js +2 -0
- package/dist/assets/system-verilog-C7L56vO4.js.map +1 -0
- package/dist/assets/systemd-CUnW07Te.js +2 -0
- package/dist/assets/systemd-CUnW07Te.js.map +1 -0
- package/dist/assets/talonscript-C1XDQQGZ.js +2 -0
- package/dist/assets/talonscript-C1XDQQGZ.js.map +1 -0
- package/dist/assets/tasl-CQjiPCtT.js +2 -0
- package/dist/assets/tasl-CQjiPCtT.js.map +1 -0
- package/dist/assets/tcl-DQ1-QYvQ.js +2 -0
- package/dist/assets/tcl-DQ1-QYvQ.js.map +1 -0
- package/dist/assets/templ-dwX3ZSMB.js +2 -0
- package/dist/assets/templ-dwX3ZSMB.js.map +1 -0
- package/dist/assets/terraform-BbSNqyBO.js +2 -0
- package/dist/assets/terraform-BbSNqyBO.js.map +1 -0
- package/dist/assets/tex-rYs2v40G.js +2 -0
- package/dist/assets/tex-rYs2v40G.js.map +1 -0
- package/dist/assets/tokyo-night-DBQeEorK.js +2 -0
- package/dist/assets/tokyo-night-DBQeEorK.js.map +1 -0
- package/dist/assets/toml-CB2ApiWb.js +2 -0
- package/dist/assets/toml-CB2ApiWb.js.map +1 -0
- package/dist/assets/ts-tags-CipyTH0X.js +2 -0
- package/dist/assets/ts-tags-CipyTH0X.js.map +1 -0
- package/dist/assets/tsv-B_m7g4N7.js +2 -0
- package/dist/assets/tsv-B_m7g4N7.js.map +1 -0
- package/dist/assets/tsx-B6W0miNI.js +2 -0
- package/dist/assets/tsx-B6W0miNI.js.map +1 -0
- package/dist/assets/turtle-BMR_PYu6.js +2 -0
- package/dist/assets/turtle-BMR_PYu6.js.map +1 -0
- package/dist/assets/twig-NC5TFiHP.js +2 -0
- package/dist/assets/twig-NC5TFiHP.js.map +1 -0
- package/dist/assets/typescript-Dj6nwHGl.js +2 -0
- package/dist/assets/typescript-Dj6nwHGl.js.map +1 -0
- package/dist/assets/typespec-BpWG_bgh.js +2 -0
- package/dist/assets/typespec-BpWG_bgh.js.map +1 -0
- package/dist/assets/typst-BVUVsWT6.js +2 -0
- package/dist/assets/typst-BVUVsWT6.js.map +1 -0
- package/dist/assets/v-CAQ2eGtk.js +2 -0
- package/dist/assets/v-CAQ2eGtk.js.map +1 -0
- package/dist/assets/vala-BFOHcciG.js +2 -0
- package/dist/assets/vala-BFOHcciG.js.map +1 -0
- package/dist/assets/vb-CdO5JTpU.js +2 -0
- package/dist/assets/vb-CdO5JTpU.js.map +1 -0
- package/dist/assets/verilog-CJaU5se_.js +2 -0
- package/dist/assets/verilog-CJaU5se_.js.map +1 -0
- package/dist/assets/vesper-BEBZ7ncR.js +2 -0
- package/dist/assets/vesper-BEBZ7ncR.js.map +1 -0
- package/dist/assets/vhdl-DYoNaHQp.js +2 -0
- package/dist/assets/vhdl-DYoNaHQp.js.map +1 -0
- package/dist/assets/viml-m4uW47V2.js +2 -0
- package/dist/assets/viml-m4uW47V2.js.map +1 -0
- package/dist/assets/vitesse-black-Bkuqu6BP.js +2 -0
- package/dist/assets/vitesse-black-Bkuqu6BP.js.map +1 -0
- package/dist/assets/vitesse-dark-D0r3Knsf.js +2 -0
- package/dist/assets/vitesse-dark-D0r3Knsf.js.map +1 -0
- package/dist/assets/vitesse-light-CVO1_9PV.js +2 -0
- package/dist/assets/vitesse-light-CVO1_9PV.js.map +1 -0
- package/dist/assets/vue-BuYVFjOK.js +2 -0
- package/dist/assets/vue-BuYVFjOK.js.map +1 -0
- package/dist/assets/vue-html-xdeiXROB.js +2 -0
- package/dist/assets/vue-html-xdeiXROB.js.map +1 -0
- package/dist/assets/vyper-nyqBNV6O.js +2 -0
- package/dist/assets/vyper-nyqBNV6O.js.map +1 -0
- package/dist/assets/wasm-C6j12Q_x.js +2 -0
- package/dist/assets/wasm-C6j12Q_x.js.map +1 -0
- package/dist/assets/wasm-CG6Dc4jp.js +2 -0
- package/dist/assets/wasm-CG6Dc4jp.js.map +1 -0
- package/dist/assets/wenyan-7A4Fjokl.js +2 -0
- package/dist/assets/wenyan-7A4Fjokl.js.map +1 -0
- package/dist/assets/wgsl-CB0Krxn9.js +2 -0
- package/dist/assets/wgsl-CB0Krxn9.js.map +1 -0
- package/dist/assets/wikitext-DCE3LsBG.js +2 -0
- package/dist/assets/wikitext-DCE3LsBG.js.map +1 -0
- package/dist/assets/wolfram-C3FkfJm5.js +2 -0
- package/dist/assets/wolfram-C3FkfJm5.js.map +1 -0
- package/dist/assets/xml-e3z08dGr.js +2 -0
- package/dist/assets/xml-e3z08dGr.js.map +1 -0
- package/dist/assets/xsl-Dd0NUgwM.js +2 -0
- package/dist/assets/xsl-Dd0NUgwM.js.map +1 -0
- package/dist/assets/yaml-CVw76BM1.js +2 -0
- package/dist/assets/yaml-CVw76BM1.js.map +1 -0
- package/dist/assets/zenscript-HnGAYVZD.js +2 -0
- package/dist/assets/zenscript-HnGAYVZD.js.map +1 -0
- package/dist/assets/zig-BVz_zdnA.js +2 -0
- package/dist/assets/zig-BVz_zdnA.js.map +1 -0
- package/dist/icons/claude-logo.png +0 -0
- package/dist/icons/cursor-logo.png +0 -0
- package/dist/icons/opencode-logo-dark.png +0 -0
- package/dist/icons/opencode-logo-light.png +0 -0
- package/dist/index.html +26 -0
- package/dist/tiflis-logo.svg +13 -0
- package/package.json +89 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fortran-free-form-DKXYxT9g.js","sources":["../../../../node_modules/.pnpm/@shikijs+langs@1.29.2/node_modules/@shikijs/langs/dist/fortran-free-form.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Fortran (Free Form)\\\",\\\"fileTypes\\\":[\\\"f90\\\",\\\"F90\\\",\\\"f95\\\",\\\"F95\\\",\\\"f03\\\",\\\"F03\\\",\\\"f08\\\",\\\"F08\\\",\\\"f18\\\",\\\"F18\\\",\\\"fpp\\\",\\\"FPP\\\",\\\".pf\\\",\\\".PF\\\"],\\\"firstLineMatch\\\":\\\"(?i)-[*]- mode: fortran free -[*]-\\\",\\\"injections\\\":{\\\"source.fortran.free - ( string | comment | meta.preprocessor )\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#line-continuation-operator\\\"},{\\\"include\\\":\\\"#preprocessor\\\"}]},\\\"string.quoted.double.fortran\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-line-continuation-operator\\\"}]},\\\"string.quoted.single.fortran\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-line-continuation-operator\\\"}]}},\\\"name\\\":\\\"fortran-free-form\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#array-constructor\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#include-statement\\\"},{\\\"include\\\":\\\"#import-statement\\\"},{\\\"include\\\":\\\"#block-data-definition\\\"},{\\\"include\\\":\\\"#function-definition\\\"},{\\\"include\\\":\\\"#module-definition\\\"},{\\\"include\\\":\\\"#program-definition\\\"},{\\\"include\\\":\\\"#submodule-definition\\\"},{\\\"include\\\":\\\"#subroutine-definition\\\"},{\\\"include\\\":\\\"#procedure-definition\\\"},{\\\"include\\\":\\\"#derived-type-definition\\\"},{\\\"include\\\":\\\"#enum-block-construct\\\"},{\\\"include\\\":\\\"#interface-block-constructs\\\"},{\\\"include\\\":\\\"#procedure-specification-statement\\\"},{\\\"include\\\":\\\"#type-specification-statements\\\"},{\\\"include\\\":\\\"#specification-statements\\\"},{\\\"include\\\":\\\"#control-constructs\\\"},{\\\"include\\\":\\\"#control-statements\\\"},{\\\"include\\\":\\\"#execution-statements\\\"},{\\\"include\\\":\\\"#intrinsic-functions\\\"},{\\\"include\\\":\\\"#variable\\\"}],\\\"repository\\\":{\\\"IO-item-list\\\":{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\s*[a-z0-9\\\\\\\"'])\\\",\\\"comment\\\":\\\"Name list.\\\",\\\"contentName\\\":\\\"meta.name-list.fortran\\\",\\\"end\\\":\\\"(?=[\\\\\\\\);!\\\\\\\\n])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#intrinsic-functions\\\"},{\\\"include\\\":\\\"#array-constructor\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#assignment-keyword\\\"},{\\\"include\\\":\\\"#operator-keyword\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"IO-keywords\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(?:(read)|(write))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.generic-spec.read.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.generic-spec.write.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"comment\\\":\\\"IO generic specification.\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.generic-spec.formatted.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.generic-spec.unformatted.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(?:(formatted)|(unformatted))\\\\\\\\b\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},\\\"IO-statements\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?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\\\"]}\"))\n\nexport default [\nlang\n]\n"],"names":["lang","fortran_free_form"],"mappings":"AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,g1/FAAizzG,CAAC,EAEx1zGC,EAAe,CACfD,CACA","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"./markdown-UIAJJxZW.js";const a=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[\\\\<.*\\\\>\\\\])?\\\\s*([_[:alpha:]0-9,\\\\._`\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\?{0,1})([[:alpha:]0-9\'`^._ ]+)\\\\s*(:)((?!with\\\\b)\\\\b([\\\\w0-9\'`^._ ]+)){0,1}"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\\\\w0-9\'`^._]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|\\\\})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[[:alpha:]0-9\'`^_ ]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^_ ]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[\\\\<","end":"\\\\>\\\\]|\\\\]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"match":"(\\\\(\\\\*{3}.*\\\\*{3}\\\\))","name":"comment.literate.command.fsharp"},{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)"},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%&+-.<=>?@^|/])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%&+-.<=>?@^|/])///(?!/)"},{"match":"(?<![!%&+-.<=>?@^|/])//(.*$)","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*(static member|member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?=\\\\=))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([?[:alpha:]0-9\'`^._ ]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[[:alpha:]0-9\'._]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comment":"Because we first capture the keywords, we can capture what looks like a word and assume it\'s an entity definition","match":"([[:alpha:]0-9\'^._]+)"},{"match":"(\\\\(|\\\\))","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([?[:alpha:]0-9\'`^._ ]+)"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([?[:alpha:]0-9\'`^._ ]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([?[:alpha:]0-9\'`^._ ]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([?[:alpha:]0-9\'`^._ ]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?![[:space:]]*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"({)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([[:alpha:]0-9\'`^._ ]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^._ ]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\\\\w0-9\'`^._]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\?{0,1})([[:alpha:]0-9\'`^._ ]+)\\\\s*(:)(\\\\s*([?[:alpha:]0-9\'`^._ ]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^._ ]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[\\\\<.*\\\\>\\\\])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with\\\\b)|(=|\\\\n+=|(?<=\\\\=)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use|use!|and|and!)\\\\s+(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b((get|set)\\\\s*(?=\\\\())(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<=\\\\=))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[\\\\<.*\\\\>\\\\])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9,\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`<>^._]+|``[[:alpha:]0-9\' <>^._]+``)\\\\s*(:)\\\\s*([[:alpha:]0-9\'`<>^._]+|``[[:alpha:]0-9\' <>^._]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([[:alpha:]0-9\'^._ ]+)``|[[:alpha:]0-9\'`^._]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*(static member|member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)[[:alpha:]0-9\'._]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\\\!|return\\\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)[[:alpha:]0-9\'._]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)[[:alpha:]0-9\'._]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([?[:alpha:]0-9\'`^._ ]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\\\\w0-9\'`^._]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(\\\\->|\\\\<\\\\-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~\\\\-|<<<|>>>|\\\\|>|:>|:\\\\?>|:|\\\\[|\\\\]|\\\\;|<>|=|@|\\\\|\\\\||&&|&|%|{|}|\\\\||_|\\\\.\\\\.|\\\\,|\\\\+|\\\\-|\\\\*|\\\\/|\\\\^|\\\\!|\\\\>|\\\\>\\\\=|\\\\>\\\\>|\\\\<|\\\\<\\\\=|\\\\(|\\\\)|\\\\<\\\\<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*(static member|member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?=\\\\=))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"(\\\\(|\\\\))","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\?{0,1})([[:alpha:]0-9\'`^._]+|``[[:alpha:]0-9\'`^:,._ ]+``)\\\\s*(:{0,1})(\\\\s*([?[:alpha:]0-9\'`<>._ ]+)){0,1}"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(namespace global)|\\\\b(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([[:alpha:]|``][[:alpha:]0-9\'_. ]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][[:alpha:]0-9\'_]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open type|open)\\\\s+([[:alpha:]|``][[:alpha:]0-9\'_]*)(?=(\\\\.[A-Z][[:alpha:]0-9_]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([[:alpha:]][[:alpha:]0-9\'_]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][[:alpha:]0-9\'_]*)\\\\s*(=)\\\\s*([A-Z][[:alpha:]0-9\'_]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][[:alpha:]0-9\'_]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=\\\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s[[:alpha:]]+)|[[:alpha:]0-9\'`<>^._]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|(;|\\\\})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^_ ]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[[:alpha:]0-9\'`^_ ]+(=)([[:alpha:]0-9\'`^_ ]+)"},{"begin":"({)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[[:alpha:]0-9\'`^_ ]+(=)([[:alpha:]0-9\'`^_ ]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)[\\\\s]+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([[:alpha:]0-9\']+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'^._]+|``[[:alpha:]0-9\'`^:,._ ]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)``[[:alpha:]0-9`^:,._ ]+``|(\'|\\\\^)[[:alpha:]0-9`^:._]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\\\\w0-9\'`^._]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?((a|t)|(\\\\.\\\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[ \\\\t]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\'\\"\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x[^\\\\s]{0,2})|(u[^\\\\s]{0,4})|(U[^\\\\s]{0,8})|[^\\\\s])","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"(static member|member)\\\\s*([[:alpha:]0-9\'`<>^._]+|``[[:alpha:]0-9\' <>^._]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([?[:alpha:]0-9\'`^._ ]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([?[:alpha:]0-9\'`^._ ]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\?{0,1})(``[[:alpha:]0-9\'`^:,._ ]+``|(?!private|struct\\\\b)\\\\b[\\\\w[:alpha:]0-9\'`<>^._ ]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),t=[...e,a];export{t as default};
|
|
2
|
+
//# sourceMappingURL=fsharp-XplgxFYe.js.map
|