@kong-ui-public/documentation 0.7.53 → 0.7.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{_basePickBy-QP7f0_NS-CQRclG56.js → _basePickBy-BdieChar-OkpwE92k.js} +2 -2
- package/dist/{_baseUniq--2u8HDhR-BwnJW2qv.js → _baseUniq-DvGKNxK2-CrFHB0Va.js} +1 -1
- package/dist/{arc-Ce--zaCu-CaP3a_s2.js → arc-HkQ-gbKN-DMqNZP0P.js} +1 -1
- package/dist/architecture-I3QFYML2-BnL0CBhZ-OwkgZ4Jc.js +5 -0
- package/dist/{architectureDiagram-V6B76FHG-BGugf6s4-DQPRLlmL.js → architectureDiagram-V6B76FHG-CF7LIMcO-Bi3o7tPD.js} +4 -4
- package/dist/astro-Ct9uJo-c-nfJFy9of.js +27 -0
- package/dist/{blockDiagram-EN3ZKWFM-DMDRogP_-FsitMOJs.js → blockDiagram-EN3ZKWFM-Ce9sI6p0-BSW7PVPT.js} +6 -6
- package/dist/c-DKDB_XIB-DKDB_XIB.js +7 -0
- package/dist/{c4Diagram-THADGKDP-DVq6u9iK-DjZCguGM.js → c4Diagram-THADGKDP-BTW1RdWp-B-P4jJEG.js} +2 -2
- package/dist/{channel-CkGtrtc_-5heXrfaz.js → channel-BExz2QEe-D87SiV4g.js} +1 -1
- package/dist/{chunk-2JBRQKJ5-8eJOTr0j-CXWIVrSH.js → chunk-2JBRQKJ5-OM-qdEYq-BtmlqXNP.js} +2 -2
- package/dist/{chunk-2RYQ3QTB-D01RVSPw-CNvvITx2.js → chunk-2RYQ3QTB-CEsfCBgx-CFtk4OUl.js} +1 -1
- package/dist/{chunk-BAVOGKFW-BkFOjSb5-DRz12j82.js → chunk-BAVOGKFW-BsKga6TS-OmijSWzp.js} +1 -1
- package/dist/{chunk-DUMQOTYW-C8gjn_h8-Buk9AtY0.js → chunk-DUMQOTYW-702X_yPX-jq37ikuA.js} +1 -1
- package/dist/{chunk-OQCM5LHU-BsyD81F3-CLn0WK5y.js → chunk-OQCM5LHU-DvAgHiz1-EenYCxhh.js} +1 -1
- package/dist/{chunk-UGV5ZQQN-B1Fqn8HR-D2F042zI.js → chunk-UGV5ZQQN-DLJfHEQ--CXU97g-q.js} +2 -2
- package/dist/{chunk-XVOYOM2C-BNhATlkH-E6jfDmvo.js → chunk-XVOYOM2C-BuvytsGy-DwxxmTeO.js} +1 -1
- package/dist/{chunk-YWFND7JV-CjJOWloQ-yAuS5TWl.js → chunk-YWFND7JV-BX4eJVvR-BCwDeDNF.js} +1 -1
- package/dist/{classDiagram-4BHYIK4I-DAFaw6kk-B9-nvdz4.js → classDiagram-4BHYIK4I-DABOljRL-DAS3U8qp.js} +4 -4
- package/dist/{classDiagram-v2-FI7KE7WJ-2KIw4eDL-1VSIGqaX.js → classDiagram-v2-FI7KE7WJ-DyhJS9wI-CeDC1SJu.js} +7 -7
- package/dist/{clone-BHELfLb3-YErh3h4H.js → clone-BqJCgI_t-D6TZM9U-.js} +1 -1
- package/dist/coffee-CiEmwUV9-D5Oe8742.js +9 -0
- package/dist/cpp-BphENtVr-DqhLnmUg.js +29 -0
- package/dist/csharp-hvsHIX1x-hvsHIX1x.js +7 -0
- package/dist/css-twoVIb3q-twoVIb3q.js +7 -0
- package/dist/csv-CyuxiNSX-CyuxiNSX.js +7 -0
- package/dist/{dagre-P3YPLUS5-Crxg5gw6-B-8XBOXu.js → dagre-P3YPLUS5-C2sB48dB-TVHqbdM9.js} +4 -4
- package/dist/{diagram-QS5GVLUX-CxXnEhMp-Bu1H9vNA.js → diagram-QS5GVLUX-CPjjc7oB-xgDgLBUy.js} +3 -3
- package/dist/diff-BprZv9Bx-BprZv9Bx.js +7 -0
- package/dist/docker-UByH5rch-UByH5rch.js +7 -0
- package/dist/documentation.es.js +1 -1
- package/dist/documentation.umd.js +103 -438
- package/dist/{erDiagram-62CBQV5Y-D6jClMyv-BIzTc7kD.js → erDiagram-62CBQV5Y-BWvC3B70-B5ci7Tyo.js} +3 -3
- package/dist/{flowDiagram-JSIZSE4D-BcOWyjMb-BwgaE-hH.js → flowDiagram-JSIZSE4D-C6fUTYCs-CC8M6lTH.js} +4 -4
- package/dist/{ganttDiagram-ASEIQ4P5-By38uZLn-Btn4Z6zy.js → ganttDiagram-ASEIQ4P5-C4T3npMC-CkOmHDDH.js} +2 -2
- package/dist/git-commit-BpBta0-H-D9ROUaA_.js +9 -0
- package/dist/git-rebase-nCu0qkM8-BcHBAqRM.js +9 -0
- package/dist/gitGraph-YCYPL57B-BrNA4-wo-DSu9FUv_.js +5 -0
- package/dist/{gitGraphDiagram-UL5UFKDR-BqG1nzMk-DWQU5SPN.js → gitGraphDiagram-UL5UFKDR-DUEiISlX-D9YHU22K.js} +4 -4
- package/dist/go-CVQIWj2N-CVQIWj2N.js +7 -0
- package/dist/{graph-DvHk9sAd-BZSyIJKm.js → graph-sjVS6xcE-C5RdEsAN.js} +2 -2
- package/dist/graphql-7X52cHqc-CLBzimQB.js +15 -0
- package/dist/haml-28-Av65f-Dih0P9tR.js +19 -0
- package/dist/handlebars-TFjvroEi-07H8_eE0.js +15 -0
- package/dist/haskell-DJah2Vxp-DJah2Vxp.js +7 -0
- package/dist/html-B9SDyQ6N-D-ZKCIRM.js +11 -0
- package/dist/html-derivative-Dst04Arf-DrM5NWms.js +9 -0
- package/dist/http-nOIbjTbF-C51IpTrN.js +15 -0
- package/dist/{index-D2OA6SS9.js → index-BVoTdxnp.js} +3518 -3518
- package/dist/info-46DW6VJ7-Bej2n0c3-C-Lc5xdL.js +5 -0
- package/dist/{infoDiagram-7APDZ6AT-CLwNpg22-C0vqPVuM.js → infoDiagram-7APDZ6AT-CkczlyAg-BlJfGN5d.js} +2 -2
- package/dist/ini-CgO4T9Us-CgO4T9Us.js +7 -0
- package/dist/java-Bd9vXGhZ-Bd9vXGhZ.js +7 -0
- package/dist/javascript-CGvwHrzr-CGvwHrzr.js +7 -0
- package/dist/{journeyDiagram-G5LC7W2K-BOoH_p8r-DCGW5mIU.js → journeyDiagram-G5LC7W2K-CGKx4opc-DgSw5OEZ.js} +3 -3
- package/dist/json-B86kHl_g-B86kHl_g.js +7 -0
- package/dist/{json-ChK2l_mW-CF8DlcBe.js → json-c0WkG_Y9-DE96BGkz.js} +4 -4
- package/dist/json5-GB6TimgH-GB6TimgH.js +7 -0
- package/dist/jsonc-CP3QVoXc-CP3QVoXc.js +7 -0
- package/dist/jsonl-C2ofTLY8-C2ofTLY8.js +7 -0
- package/dist/jsx-ZpKf1TSy-ZpKf1TSy.js +7 -0
- package/dist/kotlin-CAtfTEpr-CAtfTEpr.js +7 -0
- package/dist/latex-14aRsJKm-mj9Fild6.js +62 -0
- package/dist/{layout-CjQzaBWv-COvZUbbb.js → layout-BT6DeXbr-BANlZ5gi.js} +4 -4
- package/dist/less-0UFuQRv0-0UFuQRv0.js +7 -0
- package/dist/{linear-DT_Q8rLU-DeClWtNR.js → linear-Dz3m-tA--DoWdTVVU.js} +1 -1
- package/dist/liquid-Uq0DwV7I-CRvdDbph.js +15 -0
- package/dist/lua-BEgWEgjO-DU5YUtUR.js +9 -0
- package/dist/make-BDMxblcP-BDMxblcP.js +7 -0
- package/dist/markdown-CzCkSBhS-CzCkSBhS.js +7 -0
- package/dist/material-theme-lighter-CnKSyNS5-CnKSyNS5.js +4 -0
- package/dist/material-theme-palenight-BaYUoLXq-BaYUoLXq.js +4 -0
- package/dist/mdc-BA3wmBe6-BAlBXF37.js +13 -0
- package/dist/mdx-KaGu4TbO-KaGu4TbO.js +7 -0
- package/dist/mermaid-DZVJOJE0-DZVJOJE0.js +7 -0
- package/dist/{mermaid-parser.core-BQiMVCUD-BKOHdVsR.js → mermaid-parser.core-CHAbAGk3-c1XgG0S5.js} +9 -9
- package/dist/{mindmap-definition-FCEC46F3-DVehALvP-BU5jW1Pg.js → mindmap-definition-FCEC46F3-Bc0Z0Iij-DjhnZX8i.js} +1 -1
- package/dist/nginx-zxRCFE-h-BypGKuox.js +9 -0
- package/dist/objective-c-D6w3apbj-D6w3apbj.js +7 -0
- package/dist/packet-W2GHVCYJ-ZKPevIRt-QgrlrfSF.js +5 -0
- package/dist/pascal-DenYIYz2-DenYIYz2.js +7 -0
- package/dist/perl-D3yLJL---Dh53Z1Ch.js +17 -0
- package/dist/php-CotrzT_K-Bao4rTV9.js +19 -0
- package/dist/pie-BEWT4RHE-DylShr8x-d1G_mdRP.js +5 -0
- package/dist/{pieDiagram-OZX6XH5M-NcRJ5yD0-DGLoTnOO.js → pieDiagram-OZX6XH5M-CXiGhbiR-DRla_XQL.js} +4 -4
- package/dist/plsql-DH6aemMc-DH6aemMc.js +7 -0
- package/dist/postcss-Cf6moWPa-Cf6moWPa.js +7 -0
- package/dist/powershell-HbR4eE6x-HbR4eE6x.js +7 -0
- package/dist/proto-FnD6HNAf-FnD6HNAf.js +7 -0
- package/dist/pug-BQlVJUDw-CHRWHsZp.js +21 -0
- package/dist/python-DmuMvCM0-DmuMvCM0.js +7 -0
- package/dist/{quadrantDiagram-VG34DGKC-BEBZpKwg-E0UALIdM.js → quadrantDiagram-VG34DGKC-CbM6hf5T-BkpDE-dh.js} +2 -2
- package/dist/r-Bc6kwNk5-Bc6kwNk5.js +7 -0
- package/dist/reg-D7nGELoM-D7nGELoM.js +7 -0
- package/dist/{requirementDiagram-FPZB6IJI-CV6ngUwt-ZNVFxha1.js → requirementDiagram-FPZB6IJI-B_JGEuRG-CfrFuiOp.js} +3 -3
- package/dist/rst-CaIq10fc-5Y1LeNh2.js +26 -0
- package/dist/ruby-DeHccIAO-BcoQ2TvH.js +23 -0
- package/dist/rust-DUjrmsiV-DUjrmsiV.js +7 -0
- package/dist/{sankeyDiagram-KMMQDL5K-C0IklDBz-DXNZHn1D.js → sankeyDiagram-KMMQDL5K-BdxnO3f5-GG9bgFTU.js} +1 -1
- package/dist/sass-CLufkToV-CLufkToV.js +7 -0
- package/dist/scss-CnxrcEK_-CATc0Lba.js +9 -0
- package/dist/{sequenceDiagram-PQT5PN7B-RdiTSnGD-dImpFpXC.js → sequenceDiagram-PQT5PN7B-HSmTG3uL-DCRTrdd_.js} +3 -3
- package/dist/shellscript-CLi_Jlup-CLi_Jlup.js +7 -0
- package/dist/shellsession-BgOGDEE0-D_whUPK9.js +9 -0
- package/dist/splunk-ZWH3T4YR-ZWH3T4YR.js +7 -0
- package/dist/sql-CqEjJWk_-CqEjJWk_.js +7 -0
- package/dist/ssh-config-cxjN15Iq-cxjN15Iq.js +7 -0
- package/dist/{stateDiagram-TQSDS2D4-BSONsero-BGr__pIw.js → stateDiagram-TQSDS2D4-BK8lu_Tc-UxdkYbwz.js} +5 -5
- package/dist/{stateDiagram-v2-J5TZWJW5-CUBEYx5P-MOayZIW2.js → stateDiagram-v2-J5TZWJW5-Bz5m2MnO-YNqSfPWL.js} +3 -3
- package/dist/stylus-BqSAqkqK-BqSAqkqK.js +7 -0
- package/dist/svelte-Yn79bR_P-TdNy3USA.js +29 -0
- package/dist/swift-Cii5mold-Cii5mold.js +7 -0
- package/dist/{timeline-definition-KYQAIZUX-DQZuhTw8-Dnb6t1_t.js → timeline-definition-KYQAIZUX-XLrO7vFH-BE_yP5t-.js} +2 -2
- package/dist/toml-BrnHWKvZ-BrnHWKvZ.js +7 -0
- package/dist/tsx-RDJgLpEg-RDJgLpEg.js +7 -0
- package/dist/twig-CyzrzZ6V-CLfeQShi.js +19 -0
- package/dist/typescript-BRQxorCF-BRQxorCF.js +7 -0
- package/dist/v-CBsEUX4x-CBsEUX4x.js +7 -0
- package/dist/vb-BCQhaxZY-BCQhaxZY.js +7 -0
- package/dist/viml-DUDcfQ_j-DUDcfQ_j.js +7 -0
- package/dist/vue-DNFIPpe6-BpXPyld-.js +68 -0
- package/dist/vue-html-DkB4x9kz-BBbMk49e.js +11 -0
- package/dist/wasm-KuMlursr-KuMlursr.js +7 -0
- package/dist/wgsl-CXztftdQ-CXztftdQ.js +7 -0
- package/dist/xml-D46nbCSr-BYMRGyuH.js +9 -0
- package/dist/xsl--U1R63rG-D8P_gDHK.js +9 -0
- package/dist/{xychartDiagram-LESROZAQ-Aueu0ah5-Kf1LjwqY.js → xychartDiagram-LESROZAQ-CFA62kNt-Cw_jtdeV.js} +2 -2
- package/dist/yaml-BEQ1JqWb-BEQ1JqWb.js +7 -0
- package/package.json +6 -6
- package/dist/architecture-I3QFYML2-BAM2h37L-DDfRikFe.js +0 -5
- package/dist/astro-D_dsHkRz-CIu0TEak.js +0 -27
- package/dist/c-C9fY0Fge-C9fY0Fge.js +0 -7
- package/dist/coffee-BpL5dmzR-BhgOYQS1.js +0 -9
- package/dist/cpp-B_ULsIyI-C_UYrD6f.js +0 -193
- package/dist/csharp--zf0MtDg--zf0MtDg.js +0 -7
- package/dist/css-pVblTdYL-pVblTdYL.js +0 -7
- package/dist/csv-D4BoHddH-D4BoHddH.js +0 -7
- package/dist/diff-MXcoXEIJ-MXcoXEIJ.js +0 -7
- package/dist/docker-B10O2enb-B10O2enb.js +0 -7
- package/dist/git-commit-Be8WquDH-CZYxUfnG.js +0 -9
- package/dist/git-rebase-CVYaGD_a-CeqfdoDX.js +0 -9
- package/dist/gitGraph-YCYPL57B-ON9gXqNe-M5hiPCVB.js +0 -5
- package/dist/go-D_ziJsY9-D_ziJsY9.js +0 -7
- package/dist/graphql-D6yuBR9q--iCoxDM1.js +0 -18
- package/dist/haml-Dw-qY2Lp-CUnH-KRl.js +0 -19
- package/dist/handlebars-C6aUQR_3-B3cgQNZD.js +0 -15
- package/dist/haskell-B_jwIsd_-B_jwIsd_.js +0 -12
- package/dist/html-CQnAgmm8-BAGVrVbX.js +0 -11
- package/dist/html-derivative-DLUduELB-cl3ZX13g.js +0 -9
- package/dist/http-BwHXQNrI-BcEttk54.js +0 -15
- package/dist/info-46DW6VJ7-CBnu53Ut-B4VUuwED.js +0 -5
- package/dist/ini-BsUFIxsI-BsUFIxsI.js +0 -7
- package/dist/java-NDwZ3lmy-NDwZ3lmy.js +0 -7
- package/dist/javascript-S4X9lPQ2-S4X9lPQ2.js +0 -7
- package/dist/json-BqEO2fcw-BqEO2fcw.js +0 -7
- package/dist/json5-B2g59Yxe-B2g59Yxe.js +0 -7
- package/dist/jsonc-CViUooyB-CViUooyB.js +0 -7
- package/dist/jsonl-D9QAvYu1-D9QAvYu1.js +0 -7
- package/dist/jsx-BSOdlo-z-BSOdlo-z.js +0 -7
- package/dist/kotlin-DkoSFfh7-DkoSFfh7.js +0 -7
- package/dist/latex-DM7T8eEg-WeIDVHW4.js +0 -76
- package/dist/less-CEm00fln-CEm00fln.js +0 -7
- package/dist/liquid-BBV8yFlz-CBzfhyj5.js +0 -28
- package/dist/lua-BprzqEnl-B-iqs6LK.js +0 -9
- package/dist/make-DluCIvvI-DluCIvvI.js +0 -7
- package/dist/markdown-Dcn_SydH-Dcn_SydH.js +0 -7
- package/dist/material-theme-lighter-CtwOYHJ5-CtwOYHJ5.js +0 -769
- package/dist/material-theme-palenight-LzvMi3a5-LzvMi3a5.js +0 -769
- package/dist/mdc-CGFjzho1-D-uNyHbu.js +0 -13
- package/dist/mdx-Br112W6P-Br112W6P.js +0 -7
- package/dist/mermaid-tJ3odWn1-tJ3odWn1.js +0 -7
- package/dist/nginx-CDt8dUbj-CwnYwJom.js +0 -9
- package/dist/objective-c-ZXLxIXFu-ZXLxIXFu.js +0 -7
- package/dist/packet-W2GHVCYJ-bTc8I4ko-Cvd0NjUM.js +0 -5
- package/dist/pascal-8g0cXXUV-8g0cXXUV.js +0 -7
- package/dist/perl-DYQ2PUOI-Ce95clZS.js +0 -17
- package/dist/php-HXa3A-PK-DYmFSyAv.js +0 -23
- package/dist/pie-BEWT4RHE-BQIhHO3S-p3QRx2Hf.js +0 -5
- package/dist/plsql-8SPzZKaa-8SPzZKaa.js +0 -7
- package/dist/postcss-CzMyUasl-CzMyUasl.js +0 -7
- package/dist/powershell-Ct3wtyyf-Ct3wtyyf.js +0 -7
- package/dist/proto-DOQNC0Re-DOQNC0Re.js +0 -7
- package/dist/pug-I4Ltn3Nw-D6M2fX7G.js +0 -21
- package/dist/python-S2LqejOW-S2LqejOW.js +0 -22
- package/dist/r-BaIwHWbj-BaIwHWbj.js +0 -7
- package/dist/reg-C2xsc1D3-C2xsc1D3.js +0 -7
- package/dist/rst-CqzqRSy_-xBaB1SMh.js +0 -26
- package/dist/ruby-CaLXGQMM-dbPBCkla.js +0 -49
- package/dist/rust-BuM_ypDG-BuM_ypDG.js +0 -7
- package/dist/sass-BHTHe1hw-BHTHe1hw.js +0 -8
- package/dist/scss-1lKx83lY-Dhq9feuo.js +0 -9
- package/dist/shellscript-D61Z39XV-D61Z39XV.js +0 -7
- package/dist/shellsession-BxewqD4o-JfAy6Scn.js +0 -9
- package/dist/splunk-DOc6RZxF-DOc6RZxF.js +0 -7
- package/dist/sql-BW1nANeH-BW1nANeH.js +0 -7
- package/dist/ssh-config-WxoJGDFj-WxoJGDFj.js +0 -7
- package/dist/stylus-DHtg4l9I-DHtg4l9I.js +0 -7
- package/dist/svelte-CxOAZSqx-D6_Dup1x.js +0 -29
- package/dist/swift-DXnxgc7L-DXnxgc7L.js +0 -14
- package/dist/toml-B3m4q8Sh-B3m4q8Sh.js +0 -7
- package/dist/tsx-DjpGf_zp-DjpGf_zp.js +0 -7
- package/dist/twig-BKVhsWVA-CAfti4AG.js +0 -29
- package/dist/typescript-CjtgCz_A-CjtgCz_A.js +0 -7
- package/dist/v-Ce9LUgL8-Ce9LUgL8.js +0 -7
- package/dist/vb-D9cF8Lsp-D9cF8Lsp.js +0 -7
- package/dist/viml-DF-rMx2H-DF-rMx2H.js +0 -7
- package/dist/vue-bdaBQoF--D_HkxBBu.js +0 -68
- package/dist/vue-html-DMY4c0OB-BuB6GPk-.js +0 -11
- package/dist/wasm-83spBAnA-83spBAnA.js +0 -7
- package/dist/wgsl-DiRwt5Uz-DiRwt5Uz.js +0 -7
- package/dist/xml-Dcc0Vp-Q-BB4kJUTf.js +0 -9
- package/dist/xsl-DW810WyZ-BNfp-grZ.js +0 -9
- package/dist/yaml-B-GyjzSe-B-GyjzSe.js +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const e = Object.freeze({ displayName: "C#", name: "csharp", patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#directives" }, { include: "#declarations" }, { include: "#script-top-level" }], repository: { "accessor-getter": { patterns: [{ begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, contentName: "meta.accessor.getter.cs", end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#statement" }] }, { include: "#accessor-getter-expression" }, { include: "#punctuation-semicolon" }] }, "accessor-getter-expression": { begin: "=>", beginCaptures: { 0: { name: "keyword.operator.arrow.cs" } }, contentName: "meta.accessor.getter.cs", end: "(?=;|\\})", patterns: [{ include: "#ref-modifier" }, { include: "#expression" }] }, "accessor-setter": { patterns: [{ begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, contentName: "meta.accessor.setter.cs", end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#statement" }] }, { begin: "=>", beginCaptures: { 0: { name: "keyword.operator.arrow.cs" } }, contentName: "meta.accessor.setter.cs", end: "(?=;|\\})", patterns: [{ include: "#ref-modifier" }, { include: "#expression" }] }, { include: "#punctuation-semicolon" }] }, "anonymous-method-expression": { patterns: [{ begin: "((?:\\b(?:async|static)\\b\\s*)*)(?:(@?[_A-Za-z][_0-9A-Za-z]*)\\b|(\\()(?<tuple>(?:[^()]|\\(\\g<tuple>\\))*)(\\)))\\s*(=>)", beginCaptures: { 1: { patterns: [{ match: "async|static", name: "storage.modifier.$0.cs" }] }, 2: { name: "entity.name.variable.parameter.cs" }, 3: { name: "punctuation.parenthesis.open.cs" }, 4: { patterns: [{ include: "#comment" }, { include: "#explicit-anonymous-function-parameter" }, { include: "#implicit-anonymous-function-parameter" }, { include: "#default-argument" }, { include: "#punctuation-comma" }] }, 5: { name: "punctuation.parenthesis.close.cs" }, 6: { name: "keyword.operator.arrow.cs" } }, end: "(?=[,;)}])", patterns: [{ include: "#intrusive" }, { begin: "(?={)", end: "(?=[,;)}])", patterns: [{ include: "#block" }, { include: "#intrusive" }] }, { begin: "\\b(ref)\\b|(?=\\S)", beginCaptures: { 1: { name: "storage.modifier.ref.cs" } }, end: "(?=[,;)}])", patterns: [{ include: "#expression" }] }] }, { begin: "((?:\\b(?:async|static)\\b\\s*)*)\\b(delegate)\\b\\s*", beginCaptures: { 1: { patterns: [{ match: "async|static", name: "storage.modifier.$0.cs" }] }, 2: { name: "storage.type.delegate.cs" } }, end: "(?<=})|(?=[,;)}])", patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#intrusive" }, { include: "#explicit-anonymous-function-parameter" }, { include: "#punctuation-comma" }] }, { include: "#block" }] }] }, "anonymous-object-creation-expression": { begin: "\\b(new)\\b\\s*(?=\\{|//|/\\*|$)", beginCaptures: { 1: { name: "keyword.operator.expression.new.cs" } }, end: "(?<=\\})", patterns: [{ include: "#comment" }, { include: "#initializer-expression" }] }, argument: { patterns: [{ match: "\\b(ref|in)\\b", name: "storage.modifier.$1.cs" }, { begin: "\\b(out)\\b", beginCaptures: { 1: { name: "storage.modifier.out.cs" } }, end: "(?=,|\\)|\\])", patterns: [{ include: "#declaration-expression-local" }, { include: "#expression" }] }, { include: "#expression" }] }, "argument-list": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#named-argument" }, { include: "#argument" }, { include: "#punctuation-comma" }] }, "array-creation-expression": { begin: "\\b(new|stackalloc)\\b\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))?\\s*(?=\\[)", beginCaptures: { 1: { name: "keyword.operator.expression.$1.cs" }, 2: { patterns: [{ include: "#type" }] } }, end: "(?<=\\])", patterns: [{ include: "#bracketed-argument-list" }] }, "as-expression": { captures: { 1: { name: "keyword.operator.expression.as.cs" }, 2: { patterns: [{ include: "#type" }] } }, match: "(?<!\\.)\\b(as)\\b\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?(?!\\?))?(?:\\s*\\[\\s*(?:,\\s*)*\\](?:\\s*\\?(?!\\?))?)*))?" }, "assignment-expression": { begin: "(?:\\*|/|%|\\+|-|\\?\\?|\\&|\\^|<<|>>>?|\\|)?=(?!=|>)", beginCaptures: { 0: { patterns: [{ include: "#assignment-operators" }] } }, end: "(?=[,)\\];}])", patterns: [{ include: "#ref-modifier" }, { include: "#expression" }] }, "assignment-operators": { patterns: [{ match: "\\*=|/=|%=|\\+=|-=|\\?\\?=", name: "keyword.operator.assignment.compound.cs" }, { match: "\\&=|\\^=|<<=|>>>?=|\\|=", name: "keyword.operator.assignment.compound.bitwise.cs" }, { match: "=", name: "keyword.operator.assignment.cs" }] }, attribute: { patterns: [{ include: "#type-name" }, { include: "#type-arguments" }, { include: "#attribute-arguments" }] }, "attribute-arguments": { begin: "(\\()", beginCaptures: { 1: { name: "punctuation.parenthesis.open.cs" } }, end: "(\\))", endCaptures: { 1: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#attribute-named-argument" }, { include: "#expression" }, { include: "#punctuation-comma" }] }, "attribute-named-argument": { begin: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(?==)", beginCaptures: { 1: { name: "entity.name.variable.property.cs" } }, end: "(?=(,|\\)))", patterns: [{ include: "#operator-assignment" }, { include: "#expression" }] }, "attribute-section": { begin: "(\\[)(assembly|module|field|event|method|param|property|return|type)?(:)?", beginCaptures: { 1: { name: "punctuation.squarebracket.open.cs" }, 2: { name: "keyword.other.attribute-specifier.cs" }, 3: { name: "punctuation.separator.colon.cs" } }, end: "(\\])", endCaptures: { 1: { name: "punctuation.squarebracket.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#attribute" }, { include: "#punctuation-comma" }] }, "await-expression": { match: "(?<!\\.\\s*)\\b(await)\\b", name: "keyword.operator.expression.await.cs" }, "await-statement": { begin: "(?<!\\.\\s*)\\b(await)\\b", beginCaptures: { 1: { name: "keyword.operator.expression.await.cs" } }, end: "(?<=})|(?=;|})", patterns: [{ include: "#foreach-statement" }, { include: "#using-statement" }, { include: "#expression" }] }, "base-types": { begin: ":", beginCaptures: { 0: { name: "punctuation.separator.colon.cs" } }, end: "(?=\\{|where|;)", patterns: [{ include: "#type" }, { include: "#punctuation-comma" }, { include: "#preprocessor" }] }, block: { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#statement" }] }, "boolean-literal": { patterns: [{ match: "(?<!\\.)\\btrue\\b", name: "constant.language.boolean.true.cs" }, { match: "(?<!\\.)\\bfalse\\b", name: "constant.language.boolean.false.cs" }] }, "bracketed-argument-list": { begin: "\\[", beginCaptures: { 0: { name: "punctuation.squarebracket.open.cs" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.squarebracket.close.cs" } }, patterns: [{ include: "#named-argument" }, { include: "#argument" }, { include: "#punctuation-comma" }] }, "bracketed-parameter-list": { begin: "(?=(\\[))", beginCaptures: { 1: { name: "punctuation.squarebracket.open.cs" } }, end: "(?=(\\]))", endCaptures: { 1: { name: "punctuation.squarebracket.close.cs" } }, patterns: [{ begin: "(?<=\\[)", end: "(?=\\])", patterns: [{ include: "#comment" }, { include: "#attribute-section" }, { include: "#parameter" }, { include: "#punctuation-comma" }, { include: "#variable-initializer" }] }] }, "break-or-continue-statement": { match: "(?<!\\.)\\b(break|continue)\\b", name: "keyword.control.flow.$1.cs" }, "case-guard": { patterns: [{ include: "#parenthesized-expression" }, { include: "#expression" }] }, "cast-expression": { captures: { 1: { name: "punctuation.parenthesis.open.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "punctuation.parenthesis.close.cs" } }, match: "(\\()\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s*(\\))(?=\\s*-*!*@?[_0-9A-Za-z(])" }, "casted-constant-pattern": { begin: `(\\()([\\s.:@_0-9A-Za-z]+)(\\))(?=[\\s+\\-!~]*@?[_0-9A-Za-z('"]+)`, beginCaptures: { 1: { name: "punctuation.parenthesis.open.cs" }, 2: { patterns: [{ include: "#type-builtin" }, { include: "#type-name" }] }, 3: { name: "punctuation.parenthesis.close.cs" } }, end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#casted-constant-pattern" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#constant-pattern" }] }, { include: "#constant-pattern" }, { captures: { 1: { name: "entity.name.type.alias.cs" }, 2: { name: "punctuation.separator.coloncolon.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(::)" }, { captures: { 1: { name: "entity.name.type.cs" }, 2: { name: "punctuation.accessor.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\.)" }, { match: "\\@?[_A-Za-z][_0-9A-Za-z]*", name: "variable.other.constant.cs" }] }, "catch-clause": { begin: "(?<!\\.)\\b(catch)\\b", beginCaptures: { 1: { name: "keyword.control.exception.catch.cs" } }, end: "(?<=\\})", patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ captures: { 1: { patterns: [{ include: "#type" }] }, 6: { name: "entity.name.variable.local.cs" } }, match: "(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s*(?:(\\g<identifier>)\\b)?" }] }, { include: "#when-clause" }, { include: "#comment" }, { include: "#block" }] }, "char-character-escape": { match: "\\\\(x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4}|.)", name: "constant.character.escape.cs" }, "char-literal": { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.char.begin.cs" } }, end: "(\\')|((?:[^\\\\\\n])$)", endCaptures: { 1: { name: "punctuation.definition.char.end.cs" }, 2: { name: "invalid.illegal.newline.cs" } }, name: "string.quoted.single.cs", patterns: [{ include: "#char-character-escape" }] }, "class-declaration": { begin: "(?=(\\brecord\\b\\s+)?\\bclass\\b)", end: "(?<=\\})|(?=;)", patterns: [{ begin: "(\\b(record)\\b\\s+)?\\b(class)\\b\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\\s*", beginCaptures: { 2: { name: "storage.type.record.cs" }, 3: { name: "storage.type.class.cs" }, 4: { name: "entity.name.type.class.cs" } }, end: "(?=\\{)|(?=;)", patterns: [{ include: "#comment" }, { include: "#type-parameter-list" }, { include: "#parenthesized-parameter-list" }, { include: "#base-types" }, { include: "#generic-constraints" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#class-or-struct-members" }] }, { include: "#preprocessor" }, { include: "#comment" }] }, "class-or-struct-members": { patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#storage-modifier" }, { include: "#type-declarations" }, { include: "#property-declaration" }, { include: "#field-declaration" }, { include: "#event-declaration" }, { include: "#indexer-declaration" }, { include: "#variable-initializer" }, { include: "#constructor-declaration" }, { include: "#destructor-declaration" }, { include: "#operator-declaration" }, { include: "#conversion-operator-declaration" }, { include: "#method-declaration" }, { include: "#attribute-section" }, { include: "#punctuation-semicolon" }] }, "combinator-pattern": { match: "\\b(and|or|not)\\b", name: "keyword.operator.expression.pattern.combinator.$1.cs" }, comment: { patterns: [{ begin: "(^\\s+)?(///)(?!/)", captures: { 1: { name: "punctuation.whitespace.comment.leading.cs" }, 2: { name: "punctuation.definition.comment.cs" } }, name: "comment.block.documentation.cs", patterns: [{ include: "#xml-doc-comment" }], while: "^(\\s*)(///)(?!/)" }, { begin: "(^\\s+)?(/\\*\\*)(?!/)", captures: { 1: { name: "punctuation.whitespace.comment.leading.cs" }, 2: { name: "punctuation.definition.comment.cs" } }, end: "(^\\s+)?(\\*/)", name: "comment.block.documentation.cs", patterns: [{ begin: "\\G(?=(?~\\*/)$)", patterns: [{ include: "#xml-doc-comment" }], while: "^(\\s*+)(\\*(?!/))?(?=(?~\\*/)$)", whileCaptures: { 1: { name: "punctuation.whitespace.comment.leading.cs" }, 2: { name: "punctuation.definition.comment.cs" } } }, { include: "#xml-doc-comment" }] }, { begin: "(^\\s+)?(//).*$", captures: { 1: { name: "punctuation.whitespace.comment.leading.cs" }, 2: { name: "punctuation.definition.comment.cs" } }, name: "comment.line.double-slash.cs", while: "^(\\s*)(//).*$" }, { begin: "/\\*", captures: { 0: { name: "punctuation.definition.comment.cs" } }, end: "\\*/", name: "comment.block.cs" }] }, "conditional-operator": { patterns: [{ match: "\\?(?!\\?|\\s*[.\\[])", name: "keyword.operator.conditional.question-mark.cs" }, { match: ":", name: "keyword.operator.conditional.colon.cs" }] }, "constant-pattern": { patterns: [{ include: "#boolean-literal" }, { include: "#null-literal" }, { include: "#numeric-literal" }, { include: "#char-literal" }, { include: "#string-literal" }, { include: "#raw-string-literal" }, { include: "#verbatim-string-literal" }, { include: "#type-operator-expression" }, { include: "#expression-operator-expression" }, { include: "#expression-operators" }, { include: "#casted-constant-pattern" }] }, "constructor-declaration": { begin: "(?=@?[_A-Za-z][_0-9A-Za-z]*\\s*\\()", end: "(?<=\\})|(?=;)", patterns: [{ captures: { 1: { name: "entity.name.function.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\b" }, { begin: "(:)", beginCaptures: { 1: { name: "punctuation.separator.colon.cs" } }, end: "(?=\\{|=>)", patterns: [{ include: "#constructor-initializer" }] }, { include: "#parenthesized-parameter-list" }, { include: "#preprocessor" }, { include: "#comment" }, { include: "#expression-body" }, { include: "#block" }] }, "constructor-initializer": { begin: "\\b(base|this)\\b\\s*(?=\\()", beginCaptures: { 1: { name: "variable.language.$1.cs" } }, end: "(?<=\\))", patterns: [{ include: "#argument-list" }] }, "context-control-paren-statement": { patterns: [{ include: "#fixed-statement" }, { include: "#lock-statement" }, { include: "#using-statement" }] }, "context-control-statement": { match: "\\b(checked|unchecked|unsafe)\\b(?!\\s*[@_A-Za-z(])", name: "keyword.control.context.$1.cs" }, "conversion-operator-declaration": { begin: "(?<explicit_or_implicit_keyword>(?:\\b(?:explicit|implicit)))\\s*(?<operator_keyword>(?:\\b(?:operator)))\\s*(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s*(?=\\()", beginCaptures: { 1: { patterns: [{ captures: { 1: { name: "storage.modifier.explicit.cs" } }, match: "\\b(explicit)\\b" }, { captures: { 1: { name: "storage.modifier.implicit.cs" } }, match: "\\b(implicit)\\b" }] }, 2: { name: "storage.type.operator.cs" }, 3: { patterns: [{ include: "#type" }] } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#parenthesized-parameter-list" }, { include: "#expression-body" }, { include: "#block" }] }, "declaration-expression-local": { captures: { 1: { name: "storage.type.var.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.local.cs" } }, match: "(?:\\b(var)\\b|(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*)))\\s+(\\g<identifier>)\\b\\s*(?=[,)\\]])" }, "declaration-expression-tuple": { captures: { 1: { name: "storage.type.var.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.tuple-element.cs" } }, match: "(?:\\b(var)\\b|(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*)))\\s+(\\g<identifier>)\\b\\s*(?=[,)])" }, declarations: { patterns: [{ include: "#namespace-declaration" }, { include: "#type-declarations" }, { include: "#punctuation-semicolon" }] }, "default-argument": { begin: "=", beginCaptures: { 0: { name: "keyword.operator.assignment.cs" } }, end: "(?=,|\\))", patterns: [{ include: "#expression" }] }, "default-literal-expression": { captures: { 1: { name: "keyword.operator.expression.default.cs" } }, match: "\\b(default)\\b" }, "delegate-declaration": { begin: "(?:\\b(delegate)\\b)\\s+(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+(\\g<identifier>)\\s*(<([^<>]+)>)?\\s*(?=\\()", beginCaptures: { 1: { name: "storage.type.delegate.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.type.delegate.cs" }, 8: { patterns: [{ include: "#type-parameter-list" }] } }, end: "(?=;)", patterns: [{ include: "#comment" }, { include: "#parenthesized-parameter-list" }, { include: "#generic-constraints" }] }, "designation-pattern": { patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#punctuation-comma" }, { include: "#designation-pattern" }] }, { include: "#simple-designation-pattern" }] }, "destructor-declaration": { begin: "(~)(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(?=\\()", beginCaptures: { 1: { name: "punctuation.tilde.cs" }, 2: { name: "entity.name.function.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#parenthesized-parameter-list" }, { include: "#expression-body" }, { include: "#block" }] }, directives: { patterns: [{ include: "#extern-alias-directive" }, { include: "#using-directive" }, { include: "#attribute-section" }, { include: "#punctuation-semicolon" }] }, "discard-pattern": { match: "_(?![_0-9A-Za-z])", name: "variable.language.discard.cs" }, "do-statement": { begin: "(?<!\\.)\\b(do)\\b", beginCaptures: { 1: { name: "keyword.control.loop.do.cs" } }, end: "(?=;|})", patterns: [{ include: "#statement" }] }, "double-raw-interpolation": { begin: "(?<=[^{][^{]|^)((?:\\{)*)(\\{\\{)(?=[^{])", beginCaptures: { 1: { name: "string.quoted.double.cs" }, 2: { name: "punctuation.definition.interpolation.begin.cs" } }, end: "\\}\\}", endCaptures: { 0: { name: "punctuation.definition.interpolation.end.cs" } }, name: "meta.interpolation.cs", patterns: [{ include: "#expression" }] }, "element-access-expression": { begin: "(?:(?:(\\?)\\s*)?(\\.)\\s*|(->)\\s*)?(?:(@?[_A-Za-z][_0-9A-Za-z]*)\\s*)?(?:(\\?)\\s*)?(?=\\[)", beginCaptures: { 1: { name: "keyword.operator.null-conditional.cs" }, 2: { name: "punctuation.accessor.cs" }, 3: { name: "punctuation.accessor.pointer.cs" }, 4: { name: "variable.other.object.property.cs" }, 5: { name: "keyword.operator.null-conditional.cs" } }, end: "(?<=\\])(?!\\s*\\[)", patterns: [{ include: "#bracketed-argument-list" }] }, "else-part": { begin: "(?<!\\.)\\b(else)\\b", beginCaptures: { 1: { name: "keyword.control.conditional.else.cs" } }, end: "(?<=})|(?=;)", patterns: [{ include: "#statement" }] }, "enum-declaration": { begin: "(?=\\benum\\b)", end: "(?<=\\})", patterns: [{ begin: "(?=enum)", end: "(?=\\{)", patterns: [{ include: "#comment" }, { captures: { 1: { name: "storage.type.enum.cs" }, 2: { name: "entity.name.type.enum.cs" } }, match: "(enum)\\s+(@?[_A-Za-z][_0-9A-Za-z]*)" }, { begin: ":", beginCaptures: { 0: { name: "punctuation.separator.colon.cs" } }, end: "(?=\\{)", patterns: [{ include: "#type" }] }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#attribute-section" }, { include: "#punctuation-comma" }, { begin: "@?[_A-Za-z][_0-9A-Za-z]*", beginCaptures: { 0: { name: "entity.name.variable.enum-member.cs" } }, end: "(?=(,|\\}))", patterns: [{ include: "#comment" }, { include: "#variable-initializer" }] }] }, { include: "#preprocessor" }, { include: "#comment" }] }, "event-accessors": { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#attribute-section" }, { begin: "\\b(add|remove)\\b\\s*(?=\\{|;|=>|//|/\\*|$)", beginCaptures: { 1: { name: "storage.type.accessor.$1.cs" } }, end: "(?<=\\}|;)|(?=\\})", patterns: [{ include: "#accessor-setter" }] }] }, "event-declaration": { begin: "\\b(event)\\b\\s*(?<return_type>(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(\\g<identifier>)\\s*(?=\\{|;|,|=|//|/\\*|$)", beginCaptures: { 1: { name: "storage.type.event.cs" }, 2: { patterns: [{ include: "#type" }] }, 8: { patterns: [{ include: "#type" }, { include: "#punctuation-accessor" }] }, 9: { name: "entity.name.variable.event.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#event-accessors" }, { match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.variable.event.cs" }, { include: "#punctuation-comma" }, { begin: "=", beginCaptures: { 0: { name: "keyword.operator.assignment.cs" } }, end: "(?<=,)|(?=;)", patterns: [{ include: "#expression" }, { include: "#punctuation-comma" }] }] }, "explicit-anonymous-function-parameter": { captures: { 1: { name: "storage.modifier.$1.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.parameter.cs" } }, match: "(?:\\b(ref|params|out|in)\\b\\s*)?(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args><(?:[^<>]|\\g<type_args>)*>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)*\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s*\\b(\\g<identifier>)\\b" }, expression: { patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#expression-operator-expression" }, { include: "#type-operator-expression" }, { include: "#default-literal-expression" }, { include: "#throw-expression" }, { include: "#raw-interpolated-string" }, { include: "#interpolated-string" }, { include: "#verbatim-interpolated-string" }, { include: "#type-builtin" }, { include: "#language-variable" }, { include: "#switch-statement-or-expression" }, { include: "#with-expression" }, { include: "#conditional-operator" }, { include: "#assignment-expression" }, { include: "#expression-operators" }, { include: "#await-expression" }, { include: "#query-expression" }, { include: "#as-expression" }, { include: "#is-expression" }, { include: "#anonymous-method-expression" }, { include: "#object-creation-expression" }, { include: "#array-creation-expression" }, { include: "#anonymous-object-creation-expression" }, { include: "#invocation-expression" }, { include: "#member-access-expression" }, { include: "#element-access-expression" }, { include: "#cast-expression" }, { include: "#literal" }, { include: "#parenthesized-expression" }, { include: "#tuple-deconstruction-assignment" }, { include: "#initializer-expression" }, { include: "#identifier" }] }, "expression-body": { begin: "=>", beginCaptures: { 0: { name: "keyword.operator.arrow.cs" } }, end: "(?=[,);}])", patterns: [{ include: "#ref-modifier" }, { include: "#expression" }] }, "expression-operator-expression": { begin: "\\b(checked|unchecked|nameof)\\s*(\\()", beginCaptures: { 1: { name: "keyword.operator.expression.$1.cs" }, 2: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#expression" }] }, "expression-operators": { patterns: [{ match: "<<|>>>?", name: "keyword.operator.bitwise.shift.cs" }, { match: "==|!=", name: "keyword.operator.comparison.cs" }, { match: "<=|>=|<|>", name: "keyword.operator.relational.cs" }, { match: "!|&&|\\|\\|", name: "keyword.operator.logical.cs" }, { match: "\\&|~|\\^|\\|", name: "keyword.operator.bitwise.cs" }, { match: "--", name: "keyword.operator.decrement.cs" }, { match: "\\+\\+", name: "keyword.operator.increment.cs" }, { match: "\\+|-(?!>)|\\*|/|%", name: "keyword.operator.arithmetic.cs" }, { match: "\\?\\?", name: "keyword.operator.null-coalescing.cs" }, { match: "\\.\\.", name: "keyword.operator.range.cs" }] }, "extern-alias-directive": { begin: "\\b(extern)\\s+(alias)\\b", beginCaptures: { 1: { name: "keyword.other.directive.extern.cs" }, 2: { name: "keyword.other.directive.alias.cs" } }, end: "(?=;)", patterns: [{ match: "\\@?[_A-Za-z][_0-9A-Za-z]*", name: "variable.other.alias.cs" }] }, "field-declaration": { begin: "(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+(\\g<identifier>)\\s*(?!=>|==)(?=,|;|=|$)", beginCaptures: { 1: { patterns: [{ include: "#type" }] }, 6: { name: "entity.name.variable.field.cs" } }, end: "(?=;)", patterns: [{ match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.variable.field.cs" }, { include: "#punctuation-comma" }, { include: "#comment" }, { include: "#variable-initializer" }, { include: "#class-or-struct-members" }] }, "finally-clause": { begin: "(?<!\\.)\\b(finally)\\b", beginCaptures: { 1: { name: "keyword.control.exception.finally.cs" } }, end: "(?<=\\})", patterns: [{ include: "#comment" }, { include: "#block" }] }, "fixed-statement": { begin: "\\b(fixed)\\b", beginCaptures: { 1: { name: "keyword.control.context.fixed.cs" } }, end: "(?<=\\))|(?=;|})", patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#intrusive" }, { include: "#local-variable-declaration" }] }] }, "for-statement": { begin: "\\b(for)\\b", beginCaptures: { 1: { name: "keyword.control.loop.for.cs" } }, end: "(?<=\\))|(?=;|})", patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ begin: "(?=[^;)])", end: "(?=;|\\))", patterns: [{ include: "#intrusive" }, { include: "#local-variable-declaration" }] }, { begin: "(?=;)", end: "(?=\\))", patterns: [{ include: "#intrusive" }, { include: "#expression" }, { include: "#punctuation-comma" }, { include: "#punctuation-semicolon" }] }] }] }, "foreach-statement": { begin: "\\b(foreach)\\b", beginCaptures: { 1: { name: "keyword.control.loop.foreach.cs" } }, end: "(?<=\\))|(?=;|})", patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#intrusive" }, { captures: { 1: { name: "storage.modifier.ref.cs" }, 2: { name: "storage.type.var.cs" }, 3: { patterns: [{ include: "#type" }] }, 8: { name: "entity.name.variable.local.cs" }, 9: { name: "keyword.control.loop.in.cs" } }, match: "(?:(?:(\\bref)\\s+)?(\\bvar\\b)|(?<type_name>(?:(?:ref\\s+)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*)))\\s+(\\g<identifier>)\\s+\\b(in)\\b" }, { captures: { 1: { name: "storage.type.var.cs" }, 2: { patterns: [{ include: "#tuple-declaration-deconstruction-element-list" }] }, 3: { name: "keyword.control.loop.in.cs" } }, match: "(?:\\b(var)\\b\\s*)?(?<tuple>\\((?:[^()]|\\g<tuple>)+\\))\\s+\\b(in)\\b" }, { include: "#expression" }] }] }, "generic-constraints": { begin: "(where)\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(:)", beginCaptures: { 1: { name: "storage.modifier.where.cs" }, 2: { name: "entity.name.type.type-parameter.cs" }, 3: { name: "punctuation.separator.colon.cs" } }, end: "(?=\\{|where|;|=>)", patterns: [{ match: "\\bclass\\b", name: "storage.type.class.cs" }, { match: "\\bstruct\\b", name: "storage.type.struct.cs" }, { match: "\\bdefault\\b", name: "keyword.other.constraint.default.cs" }, { match: "\\bnotnull\\b", name: "keyword.other.constraint.notnull.cs" }, { match: "\\bunmanaged\\b", name: "keyword.other.constraint.unmanaged.cs" }, { captures: { 1: { name: "keyword.operator.expression.new.cs" }, 2: { name: "punctuation.parenthesis.open.cs" }, 3: { name: "punctuation.parenthesis.close.cs" } }, match: "(new)\\s*(\\()\\s*(\\))" }, { include: "#type" }, { include: "#punctuation-comma" }, { include: "#generic-constraints" }] }, "goto-statement": { begin: "(?<!\\.)\\b(goto)\\b", beginCaptures: { 1: { name: "keyword.control.flow.goto.cs" } }, end: "(?=[;}])", patterns: [{ begin: "\\b(case)\\b", beginCaptures: { 1: { name: "keyword.control.conditional.case.cs" } }, end: "(?=[;}])", patterns: [{ include: "#expression" }] }, { captures: { 1: { name: "keyword.control.conditional.default.cs" } }, match: "\\b(default)\\b" }, { match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.label.cs" }] }, "group-by": { captures: { 1: { name: "keyword.operator.expression.query.by.cs" } }, match: "\\b(by)\\b\\s*" }, "group-clause": { begin: "\\b(group)\\b\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.group.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#group-by" }, { include: "#group-into" }, { include: "#query-body" }, { include: "#expression" }] }, "group-into": { captures: { 1: { name: "keyword.operator.expression.query.into.cs" }, 2: { name: "entity.name.variable.range-variable.cs" } }, match: "\\b(into)\\b\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\\b\\s*" }, identifier: { match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "variable.other.readwrite.cs" }, "if-statement": { begin: "(?<!\\.)\\b(if)\\b\\s*(?=\\()", beginCaptures: { 1: { name: "keyword.control.conditional.if.cs" } }, end: "(?<=})|(?=;)", patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#expression" }] }, { include: "#statement" }] }, "implicit-anonymous-function-parameter": { match: "\\@?[_A-Za-z][_0-9A-Za-z]*\\b", name: "entity.name.variable.parameter.cs" }, "indexer-declaration": { begin: "(?<return_type>(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(?<indexer_name>this)\\s*(?=\\[)", beginCaptures: { 1: { patterns: [{ include: "#type" }] }, 7: { patterns: [{ include: "#type" }, { include: "#punctuation-accessor" }] }, 8: { name: "variable.language.this.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#bracketed-parameter-list" }, { include: "#property-accessors" }, { include: "#accessor-getter-expression" }, { include: "#variable-initializer" }] }, "initializer-expression": { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#expression" }, { include: "#punctuation-comma" }] }, "interface-declaration": { begin: "(?=\\binterface\\b)", end: "(?<=\\})", patterns: [{ begin: "(interface)\\b\\s+(@?[_A-Za-z][_0-9A-Za-z]*)", beginCaptures: { 1: { name: "storage.type.interface.cs" }, 2: { name: "entity.name.type.interface.cs" } }, end: "(?=\\{)", patterns: [{ include: "#comment" }, { include: "#type-parameter-list" }, { include: "#base-types" }, { include: "#generic-constraints" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#interface-members" }] }, { include: "#preprocessor" }, { include: "#comment" }] }, "interface-members": { patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#storage-modifier" }, { include: "#property-declaration" }, { include: "#event-declaration" }, { include: "#indexer-declaration" }, { include: "#method-declaration" }, { include: "#operator-declaration" }, { include: "#attribute-section" }, { include: "#punctuation-semicolon" }] }, "interpolated-string": { begin: '\\$"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '(")|((?:[^\\\\\\n])$)', endCaptures: { 1: { name: "punctuation.definition.string.end.cs" }, 2: { name: "invalid.illegal.newline.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#string-character-escape" }, { include: "#interpolation" }] }, interpolation: { begin: "(?<=[^{]|^)((?:\\{\\{)*)(\\{)(?=[^{])", beginCaptures: { 1: { name: "string.quoted.double.cs" }, 2: { name: "punctuation.definition.interpolation.begin.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.definition.interpolation.end.cs" } }, name: "meta.interpolation.cs", patterns: [{ include: "#expression" }] }, intrusive: { patterns: [{ include: "#preprocessor" }, { include: "#comment" }] }, "invocation-expression": { begin: "(?:(?:(\\?)\\s*)?(\\.)\\s*|(->)\\s*)?(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(<(?<type_args>[^<>()]++|<\\g<type_args>*+>|\\(\\g<type_args>*+\\))*+>\\s*)?(?=\\()", beginCaptures: { 1: { name: "keyword.operator.null-conditional.cs" }, 2: { name: "punctuation.accessor.cs" }, 3: { name: "punctuation.accessor.pointer.cs" }, 4: { name: "entity.name.function.cs" }, 5: { patterns: [{ include: "#type-arguments" }] } }, end: "(?<=\\))", patterns: [{ include: "#argument-list" }] }, "is-expression": { begin: "(?<!\\.)\\b(is)\\b", beginCaptures: { 1: { name: "keyword.operator.expression.pattern.is.cs" } }, end: "(?=[)}\\],;:?=&|^]|!=)", patterns: [{ include: "#pattern" }] }, "join-clause": { begin: "\\b(join)\\b\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))?\\s+(\\g<identifier>)\\b\\s*\\b(in)\\b\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.join.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.range-variable.cs" }, 8: { name: "keyword.operator.expression.query.in.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#join-on" }, { include: "#join-equals" }, { include: "#join-into" }, { include: "#query-body" }, { include: "#expression" }] }, "join-equals": { captures: { 1: { name: "keyword.operator.expression.query.equals.cs" } }, match: "\\b(equals)\\b\\s*" }, "join-into": { captures: { 1: { name: "keyword.operator.expression.query.into.cs" }, 2: { name: "entity.name.variable.range-variable.cs" } }, match: "\\b(into)\\b\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\\b\\s*" }, "join-on": { captures: { 1: { name: "keyword.operator.expression.query.on.cs" } }, match: "\\b(on)\\b\\s*" }, "labeled-statement": { captures: { 1: { name: "entity.name.label.cs" }, 2: { name: "punctuation.separator.colon.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(:)" }, "language-variable": { patterns: [{ match: "\\b(base|this)\\b", name: "variable.language.$1.cs" }, { match: "\\b(value)\\b", name: "variable.other.$1.cs" }] }, "let-clause": { begin: "\\b(let)\\b\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\\b\\s*(=)\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.let.cs" }, 2: { name: "entity.name.variable.range-variable.cs" }, 3: { name: "keyword.operator.assignment.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#query-body" }, { include: "#expression" }] }, "list-pattern": { begin: "(?=\\[)", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ begin: "\\[", beginCaptures: { 0: { name: "punctuation.squarebracket.open.cs" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.squarebracket.close.cs" } }, patterns: [{ include: "#pattern" }, { include: "#punctuation-comma" }] }, { begin: "(?<=\\])", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { include: "#simple-designation-pattern" }] }] }, literal: { patterns: [{ include: "#boolean-literal" }, { include: "#null-literal" }, { include: "#numeric-literal" }, { include: "#char-literal" }, { include: "#raw-string-literal" }, { include: "#string-literal" }, { include: "#verbatim-string-literal" }, { include: "#tuple-literal" }] }, "local-constant-declaration": { begin: "(?<const_keyword>\\b(?:const)\\b)\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+(\\g<identifier>)\\s*(?=,|;|=)", beginCaptures: { 1: { name: "storage.modifier.const.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.local.cs" } }, end: "(?=;)", patterns: [{ match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.variable.local.cs" }, { include: "#punctuation-comma" }, { include: "#comment" }, { include: "#variable-initializer" }] }, "local-declaration": { patterns: [{ include: "#local-constant-declaration" }, { include: "#local-variable-declaration" }, { include: "#local-function-declaration" }, { include: "#local-tuple-var-deconstruction" }] }, "local-function-declaration": { begin: "\\b((?:(?:async|unsafe|static|extern)\\s+)*)(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?)?(?:\\s*\\[\\s*(?:,\\s*)*\\](?:\\s*\\?)?)*)\\s+(\\g<identifier>)\\s*(<[^<>]+>)?\\s*(?=\\()", beginCaptures: { 1: { patterns: [{ include: "#storage-modifier" }] }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.function.cs" }, 8: { patterns: [{ include: "#type-parameter-list" }] } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#parenthesized-parameter-list" }, { include: "#generic-constraints" }, { include: "#expression-body" }, { include: "#block" }] }, "local-tuple-var-deconstruction": { begin: "(?:\\b(var)\\b\\s*)(?<tuple>\\((?:[^()]|\\g<tuple>)+\\))\\s*(?=;|=|\\))", beginCaptures: { 1: { name: "storage.type.var.cs" }, 2: { patterns: [{ include: "#tuple-declaration-deconstruction-element-list" }] } }, end: "(?=;|\\))", patterns: [{ include: "#comment" }, { include: "#variable-initializer" }] }, "local-variable-declaration": { begin: "(?:(?:(\\bref)\\s+(?:(\\breadonly)\\s+)?)?(\\bvar\\b)|(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*[?*]\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*)))\\s+(\\g<identifier>)\\s*(?!=>)(?=,|;|=|\\))", beginCaptures: { 1: { name: "storage.modifier.ref.cs" }, 2: { name: "storage.modifier.readonly.cs" }, 3: { name: "storage.type.var.cs" }, 4: { patterns: [{ include: "#type" }] }, 9: { name: "entity.name.variable.local.cs" } }, end: "(?=[;)}])", patterns: [{ match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.variable.local.cs" }, { include: "#punctuation-comma" }, { include: "#comment" }, { include: "#variable-initializer" }] }, "lock-statement": { begin: "\\b(lock)\\b", beginCaptures: { 1: { name: "keyword.control.context.lock.cs" } }, end: "(?<=\\))|(?=;|})", patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#intrusive" }, { include: "#expression" }] }] }, "member-access-expression": { patterns: [{ captures: { 1: { name: "keyword.operator.null-conditional.cs" }, 2: { name: "punctuation.accessor.cs" }, 3: { name: "punctuation.accessor.pointer.cs" }, 4: { name: "variable.other.object.property.cs" } }, match: "(?:(?:(\\?)\\s*)?(\\.)\\s*|(->)\\s*)(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(?![_0-9A-Za-z]|\\(|(\\?)?\\[|<)" }, { captures: { 1: { name: "punctuation.accessor.cs" }, 2: { name: "variable.other.object.cs" }, 3: { patterns: [{ include: "#type-arguments" }] } }, match: "(\\.)?\\s*(@?[_A-Za-z][_0-9A-Za-z]*)(?<type_params>\\s*<([^<>]|\\g<type_params>)+>\\s*)(?=(\\s*\\?)?\\s*\\.\\s*@?[_A-Za-z][_0-9A-Za-z]*)" }, { captures: { 1: { name: "variable.other.object.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*(?:(?:\\?\\s*)?\\.|->)\\s*@?[_A-Za-z][_0-9A-Za-z]*)" }] }, "method-declaration": { begin: "(?<return_type>(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(\\g<identifier>)\\s*(<([^<>]+)>)?\\s*(?=\\()", beginCaptures: { 1: { patterns: [{ include: "#type" }] }, 7: { patterns: [{ include: "#type" }, { include: "#punctuation-accessor" }] }, 8: { name: "entity.name.function.cs" }, 9: { patterns: [{ include: "#type-parameter-list" }] } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#parenthesized-parameter-list" }, { include: "#generic-constraints" }, { include: "#expression-body" }, { include: "#block" }] }, "named-argument": { begin: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(:)", beginCaptures: { 1: { name: "entity.name.variable.parameter.cs" }, 2: { name: "punctuation.separator.colon.cs" } }, end: "(?=(,|\\)|\\]))", patterns: [{ include: "#argument" }] }, "namespace-declaration": { begin: "\\b(namespace)\\s+", beginCaptures: { 1: { name: "storage.type.namespace.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.type.namespace.cs" }, { include: "#punctuation-accessor" }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#declarations" }, { include: "#using-directive" }, { include: "#punctuation-semicolon" }] }] }, "null-literal": { match: "(?<!\\.)\\bnull\\b", name: "constant.language.null.cs" }, "numeric-literal": { captures: { 0: { patterns: [{ begin: "(?=.)", end: "$", patterns: [{ captures: { 2: { name: "constant.numeric.decimal.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 3: { name: "constant.numeric.other.separator.thousands.cs" }, 4: { name: "constant.numeric.other.separator.decimals.cs" }, 5: { name: "constant.numeric.decimal.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 6: { name: "constant.numeric.other.separator.thousands.cs" }, 8: { name: "constant.numeric.other.exponent.cs" }, 9: { name: "keyword.operator.arithmetic.cs" }, 10: { name: "keyword.operator.arithmetic.cs" }, 11: { name: "constant.numeric.decimal.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 12: { name: "constant.numeric.other.suffix.cs" } }, 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])))*)))?([fFdDmM](?!\\w))?$" }, { captures: { 1: { name: "constant.numeric.other.preffix.binary.cs" }, 2: { name: "constant.numeric.binary.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 3: { name: "constant.numeric.other.separator.thousands.cs" }, 4: { name: "constant.numeric.other.suffix.cs" } }, match: "(\\G0[bB])([01_](?:[01_]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$" }, { captures: { 1: { name: "constant.numeric.other.preffix.hex.cs" }, 2: { name: "constant.numeric.hex.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 3: { name: "constant.numeric.other.separator.thousands.cs" }, 4: { name: "constant.numeric.other.suffix.cs" } }, match: "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$" }, { captures: { 2: { name: "constant.numeric.decimal.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 3: { name: "constant.numeric.other.separator.thousands.cs" }, 5: { name: "constant.numeric.other.exponent.cs" }, 6: { name: "keyword.operator.arithmetic.cs" }, 7: { name: "keyword.operator.arithmetic.cs" }, 8: { name: "constant.numeric.decimal.cs", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "constant.numeric.other.separator.thousands.cs" }] }, 9: { name: "constant.numeric.other.suffix.cs" } }, 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]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$" }, { match: "(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\.\\d)+", name: "invalid.illegal.constant.numeric.cs" }] }] } }, match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\.\\d)*" }, "object-creation-expression": { patterns: [{ include: "#object-creation-expression-with-parameters" }, { include: "#object-creation-expression-with-no-parameters" }] }, "object-creation-expression-with-no-parameters": { captures: { 1: { name: "keyword.operator.expression.new.cs" }, 2: { patterns: [{ include: "#type" }] } }, match: "(new)\\s+(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s*(?=\\{|//|/\\*|$)" }, "object-creation-expression-with-parameters": { begin: "(new)(?:\\s+(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*)))?\\s*(?=\\()", beginCaptures: { 1: { name: "keyword.operator.expression.new.cs" }, 2: { patterns: [{ include: "#type" }] } }, end: "(?<=\\))", patterns: [{ include: "#argument-list" }] }, "operator-assignment": { match: "(?<!=|!)(=)(?!=)", name: "keyword.operator.assignment.cs" }, "operator-declaration": { begin: "(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s*\\b(?<operator_keyword>operator)\\b\\s*(?<operator>[+\\-*/%&|\\^!=~<>]+|true|false)\\s*(?=\\()", beginCaptures: { 1: { patterns: [{ include: "#type" }] }, 6: { name: "storage.type.operator.cs" }, 7: { name: "entity.name.function.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#parenthesized-parameter-list" }, { include: "#expression-body" }, { include: "#block" }] }, "orderby-clause": { begin: "\\b(orderby)\\b\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.orderby.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#ordering-direction" }, { include: "#query-body" }, { include: "#expression" }, { include: "#punctuation-comma" }] }, "ordering-direction": { captures: { 1: { name: "keyword.operator.expression.query.$1.cs" } }, match: "\\b(ascending|descending)\\b" }, parameter: { captures: { 1: { name: "storage.modifier.$1.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.parameter.cs" } }, match: "(?:(?:\\b(ref|params|out|in|this)\\b)\\s+)?(?<type_name>(?:(?:ref\\s+)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+(\\g<identifier>)" }, "parenthesized-expression": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#expression" }] }, "parenthesized-parameter-list": { begin: "(\\()", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "(\\))", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#attribute-section" }, { include: "#parameter" }, { include: "#punctuation-comma" }, { include: "#variable-initializer" }] }, pattern: { patterns: [{ include: "#intrusive" }, { include: "#combinator-pattern" }, { include: "#discard-pattern" }, { include: "#constant-pattern" }, { include: "#relational-pattern" }, { include: "#var-pattern" }, { include: "#type-pattern" }, { include: "#positional-pattern" }, { include: "#property-pattern" }, { include: "#list-pattern" }, { include: "#slice-pattern" }] }, "positional-pattern": { begin: "(?=\\()", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#subpattern" }, { include: "#punctuation-comma" }] }, { begin: "(?<=\\))", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { include: "#property-pattern" }, { include: "#simple-designation-pattern" }] }] }, preprocessor: { begin: "^\\s*(\\#)\\s*", beginCaptures: { 1: { name: "punctuation.separator.hash.cs" } }, end: "(?<=$)", name: "meta.preprocessor.cs", patterns: [{ include: "#comment" }, { include: "#preprocessor-define-or-undef" }, { include: "#preprocessor-if-or-elif" }, { include: "#preprocessor-else-or-endif" }, { include: "#preprocessor-warning-or-error" }, { include: "#preprocessor-region" }, { include: "#preprocessor-endregion" }, { include: "#preprocessor-load" }, { include: "#preprocessor-r" }, { include: "#preprocessor-line" }, { include: "#preprocessor-pragma-warning" }, { include: "#preprocessor-pragma-checksum" }] }, "preprocessor-define-or-undef": { captures: { 1: { name: "keyword.preprocessor.define.cs" }, 2: { name: "keyword.preprocessor.undef.cs" }, 3: { name: "entity.name.variable.preprocessor.symbol.cs" } }, match: "\\b(?:(define)|(undef))\\b\\s*\\b([_A-Za-z][_0-9A-Za-z]*)\\b" }, "preprocessor-else-or-endif": { captures: { 1: { name: "keyword.preprocessor.else.cs" }, 2: { name: "keyword.preprocessor.endif.cs" } }, match: "\\b(?:(else)|(endif))\\b" }, "preprocessor-endregion": { captures: { 1: { name: "keyword.preprocessor.endregion.cs" } }, match: "\\b(endregion)\\b" }, "preprocessor-expression": { patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#preprocessor-expression" }] }, { captures: { 1: { name: "constant.language.boolean.true.cs" }, 2: { name: "constant.language.boolean.false.cs" }, 3: { name: "entity.name.variable.preprocessor.symbol.cs" } }, match: "\\b(?:(true)|(false)|([_A-Za-z][_0-9A-Za-z]*))\\b" }, { captures: { 1: { name: "keyword.operator.comparison.cs" }, 2: { name: "keyword.operator.logical.cs" } }, match: "(==|!=)|(!|&&|\\|\\|)" }] }, "preprocessor-if-or-elif": { begin: "\\b(?:(if)|(elif))\\b", beginCaptures: { 1: { name: "keyword.preprocessor.if.cs" }, 2: { name: "keyword.preprocessor.elif.cs" } }, end: "(?=$)", patterns: [{ include: "#comment" }, { include: "#preprocessor-expression" }] }, "preprocessor-line": { begin: "\\b(line)\\b", beginCaptures: { 1: { name: "keyword.preprocessor.line.cs" } }, end: "(?=$)", patterns: [{ captures: { 1: { name: "keyword.preprocessor.default.cs" }, 2: { name: "keyword.preprocessor.hidden.cs" } }, match: "\\b(?:(default|hidden))" }, { captures: { 0: { name: "constant.numeric.decimal.cs" } }, match: "\\d+" }, { captures: { 0: { name: "string.quoted.double.cs" } }, match: '\\"[^"]*\\"' }] }, "preprocessor-load": { begin: "\\b(load)\\b", beginCaptures: { 1: { name: "keyword.preprocessor.load.cs" } }, end: "(?=$)", patterns: [{ captures: { 0: { name: "string.quoted.double.cs" } }, match: '\\"[^"]*\\"' }] }, "preprocessor-pragma-checksum": { captures: { 1: { name: "keyword.preprocessor.pragma.cs" }, 2: { name: "keyword.preprocessor.checksum.cs" }, 3: { name: "string.quoted.double.cs" }, 4: { name: "string.quoted.double.cs" }, 5: { name: "string.quoted.double.cs" } }, match: '\\b(pragma)\\b\\s*\\b(checksum)\\b\\s*(\\"[^"]*\\")\\s*(\\"[^"]*\\")\\s*(\\"[^"]*\\")' }, "preprocessor-pragma-warning": { captures: { 1: { name: "keyword.preprocessor.pragma.cs" }, 2: { name: "keyword.preprocessor.warning.cs" }, 3: { name: "keyword.preprocessor.disable.cs" }, 4: { name: "keyword.preprocessor.restore.cs" }, 5: { patterns: [{ captures: { 0: { name: "constant.numeric.decimal.cs" } }, match: "[0-9]+" }, { include: "#punctuation-comma" }] } }, match: "\\b(pragma)\\b\\s*\\b(warning)\\b\\s*\\b(?:(disable)|(restore))\\b(\\s*\\d+(?:\\s*,\\s*\\d+)?)?" }, "preprocessor-r": { begin: "\\b(r)\\b", beginCaptures: { 1: { name: "keyword.preprocessor.r.cs" } }, end: "(?=$)", patterns: [{ captures: { 0: { name: "string.quoted.double.cs" } }, match: '\\"[^"]*\\"' }] }, "preprocessor-region": { captures: { 1: { name: "keyword.preprocessor.region.cs" }, 2: { name: "string.unquoted.preprocessor.message.cs" } }, match: "\\b(region)\\b\\s*(.*)(?=$)" }, "preprocessor-warning-or-error": { captures: { 1: { name: "keyword.preprocessor.warning.cs" }, 2: { name: "keyword.preprocessor.error.cs" }, 3: { name: "string.unquoted.preprocessor.message.cs" } }, match: "\\b(?:(warning)|(error))\\b\\s*(.*)(?=$)" }, "property-accessors": { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#attribute-section" }, { match: "\\b(private|protected|internal)\\b", name: "storage.modifier.$1.cs" }, { begin: "\\b(get)\\b\\s*(?=\\{|;|=>|//|/\\*|$)", beginCaptures: { 1: { name: "storage.type.accessor.$1.cs" } }, end: "(?<=\\}|;)|(?=\\})", patterns: [{ include: "#accessor-getter" }] }, { begin: "\\b(set|init)\\b\\s*(?=\\{|;|=>|//|/\\*|$)", beginCaptures: { 1: { name: "storage.type.accessor.$1.cs" } }, end: "(?<=\\}|;)|(?=\\})", patterns: [{ include: "#accessor-setter" }] }] }, "property-declaration": { begin: "(?![\\w\\s]*\\b(?:class|interface|struct|enum|event)\\b)(?<return_type>(?<type_name>(?:(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(?<property_name>\\g<identifier>)\\s*(?=\\{|=>|//|/\\*|$)", beginCaptures: { 1: { patterns: [{ include: "#type" }] }, 7: { patterns: [{ include: "#type" }, { include: "#punctuation-accessor" }] }, 8: { name: "entity.name.variable.property.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ include: "#comment" }, { include: "#property-accessors" }, { include: "#accessor-getter-expression" }, { include: "#variable-initializer" }, { include: "#class-or-struct-members" }] }, "property-pattern": { begin: "(?={)", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#subpattern" }, { include: "#punctuation-comma" }] }, { begin: "(?<=\\})", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { include: "#simple-designation-pattern" }] }] }, "punctuation-accessor": { match: "\\.", name: "punctuation.accessor.cs" }, "punctuation-comma": { match: ",", name: "punctuation.separator.comma.cs" }, "punctuation-semicolon": { match: ";", name: "punctuation.terminator.statement.cs" }, "query-body": { patterns: [{ include: "#let-clause" }, { include: "#where-clause" }, { include: "#join-clause" }, { include: "#orderby-clause" }, { include: "#select-clause" }, { include: "#group-clause" }] }, "query-expression": { begin: "\\b(from)\\b\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))?\\s+(\\g<identifier>)\\b\\s*\\b(in)\\b\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.from.cs" }, 2: { patterns: [{ include: "#type" }] }, 7: { name: "entity.name.variable.range-variable.cs" }, 8: { name: "keyword.operator.expression.query.in.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#query-body" }, { include: "#expression" }] }, "raw-interpolated-string": { patterns: [{ include: "#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation" }, { include: "#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation" }, { include: "#raw-interpolated-string-quadruple-quote-double-interpolation" }, { include: "#raw-interpolated-string-quadruple-quote-single-interpolation" }, { include: "#raw-interpolated-string-triple-quote-double-interpolation" }, { include: "#raw-interpolated-string-triple-quote-single-interpolation" }] }, "raw-interpolated-string-five-or-more-quote-one-or-more-interpolation": { begin: '\\$+"""""+', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"""""+', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs" }, "raw-interpolated-string-quadruple-quote-double-interpolation": { begin: '\\$\\$""""', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '""""', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#double-raw-interpolation" }] }, "raw-interpolated-string-quadruple-quote-single-interpolation": { begin: '\\$""""', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '""""', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#raw-interpolation" }] }, "raw-interpolated-string-three-or-more-quote-three-or-more-interpolation": { begin: '\\$\\$\\$+"""+', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"""+', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs" }, "raw-interpolated-string-triple-quote-double-interpolation": { begin: '\\$\\$"""', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"""', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#double-raw-interpolation" }] }, "raw-interpolated-string-triple-quote-single-interpolation": { begin: '\\$"""', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"""', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#raw-interpolation" }] }, "raw-interpolation": { begin: "(?<=[^{]|^)((?:\\{)*)(\\{)(?=[^{])", beginCaptures: { 1: { name: "string.quoted.double.cs" }, 2: { name: "punctuation.definition.interpolation.begin.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.definition.interpolation.end.cs" } }, name: "meta.interpolation.cs", patterns: [{ include: "#expression" }] }, "raw-string-literal": { patterns: [{ include: "#raw-string-literal-more" }, { include: "#raw-string-literal-quadruple" }, { include: "#raw-string-literal-triple" }] }, "raw-string-literal-more": { begin: '"""""+', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"""""+', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs" }, "raw-string-literal-quadruple": { begin: '""""', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '""""', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs" }, "raw-string-literal-triple": { begin: '"""', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"""', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs" }, "readonly-modifier": { match: "\\breadonly\\b", name: "storage.modifier.readonly.cs" }, "record-declaration": { begin: "(?=\\brecord\\b)", end: "(?<=\\})|(?=;)", patterns: [{ begin: "(record)\\b\\s+(@?[_A-Za-z][_0-9A-Za-z]*)", beginCaptures: { 1: { name: "storage.type.record.cs" }, 2: { name: "entity.name.type.class.cs" } }, end: "(?=\\{)|(?=;)", patterns: [{ include: "#comment" }, { include: "#type-parameter-list" }, { include: "#parenthesized-parameter-list" }, { include: "#base-types" }, { include: "#generic-constraints" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#class-or-struct-members" }] }, { include: "#preprocessor" }, { include: "#comment" }] }, "ref-modifier": { match: "\\bref\\b", name: "storage.modifier.ref.cs" }, "relational-pattern": { begin: "<=?|>=?", beginCaptures: { 0: { name: "keyword.operator.relational.cs" } }, end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#expression" }] }, "return-statement": { begin: "(?<!\\.)\\b(return)\\b", beginCaptures: { 1: { name: "keyword.control.flow.return.cs" } }, end: "(?=[;}])", patterns: [{ include: "#ref-modifier" }, { include: "#expression" }] }, "script-top-level": { patterns: [{ include: "#statement" }, { include: "#method-declaration" }, { include: "#punctuation-semicolon" }] }, "select-clause": { begin: "\\b(select)\\b\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.select.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#query-body" }, { include: "#expression" }] }, "simple-designation-pattern": { patterns: [{ include: "#discard-pattern" }, { match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.variable.local.cs" }] }, "slice-pattern": { match: "\\.\\.", name: "keyword.operator.range.cs" }, statement: { patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#while-statement" }, { include: "#do-statement" }, { include: "#for-statement" }, { include: "#foreach-statement" }, { include: "#if-statement" }, { include: "#else-part" }, { include: "#goto-statement" }, { include: "#return-statement" }, { include: "#break-or-continue-statement" }, { include: "#throw-statement" }, { include: "#yield-statement" }, { include: "#await-statement" }, { include: "#try-statement" }, { include: "#expression-operator-expression" }, { include: "#context-control-statement" }, { include: "#context-control-paren-statement" }, { include: "#labeled-statement" }, { include: "#object-creation-expression" }, { include: "#array-creation-expression" }, { include: "#anonymous-object-creation-expression" }, { include: "#local-declaration" }, { include: "#block" }, { include: "#expression" }, { include: "#punctuation-semicolon" }] }, "storage-modifier": { match: "(?<!\\.)\\b(new|public|protected|internal|private|abstract|virtual|override|sealed|static|partial|readonly|volatile|const|extern|async|unsafe|ref|required|file)\\b", name: "storage.modifier.$1.cs" }, "string-character-escape": { match: "\\\\(x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|.)", name: "constant.character.escape.cs" }, "string-literal": { begin: '(?<!@)"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '(")|((?:[^\\\\\\n])$)', endCaptures: { 1: { name: "punctuation.definition.string.end.cs" }, 2: { name: "invalid.illegal.newline.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#string-character-escape" }] }, "struct-declaration": { begin: "(?=(\\brecord\\b\\s+)?\\bstruct\\b)", end: "(?<=\\})|(?=;)", patterns: [{ begin: "(\\b(record)\\b\\s+)?(struct)\\b\\s+(@?[_A-Za-z][_0-9A-Za-z]*)", beginCaptures: { 2: { name: "storage.type.record.cs" }, 3: { name: "storage.type.struct.cs" }, 4: { name: "entity.name.type.struct.cs" } }, end: "(?=\\{)|(?=;)", patterns: [{ include: "#comment" }, { include: "#type-parameter-list" }, { include: "#parenthesized-parameter-list" }, { include: "#base-types" }, { include: "#generic-constraints" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#class-or-struct-members" }] }, { include: "#preprocessor" }, { include: "#comment" }] }, subpattern: { patterns: [{ captures: { 1: { patterns: [{ match: "\\@?[_[:alpha:]][_[:alnum:]]*", name: "variable.other.object.property.cs" }, { include: "#punctuation-accessor" }] }, 2: { name: "punctuation.separator.colon.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*(?:\\s*\\.\\s*@?[_A-Za-z][_0-9A-Za-z]*)*)\\s*(:)" }, { include: "#pattern" }] }, "switch-expression": { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#punctuation-comma" }, { begin: "=>", beginCaptures: { 0: { name: "keyword.operator.arrow.cs" } }, end: "(?=,|})", patterns: [{ include: "#expression" }] }, { begin: "\\b(when)\\b", beginCaptures: { 1: { name: "keyword.control.conditional.when.cs" } }, end: "(?==>|,|})", patterns: [{ include: "#case-guard" }] }, { begin: "(?!\\s)", end: "(?=\\bwhen\\b|=>|,|})", patterns: [{ include: "#pattern" }] }] }, "switch-label": { begin: "\\b(case|default)\\b", beginCaptures: { 1: { name: "keyword.control.conditional.$1.cs" } }, end: "(:)|(?=})", endCaptures: { 1: { name: "punctuation.separator.colon.cs" } }, patterns: [{ begin: "\\b(when)\\b", beginCaptures: { 1: { name: "keyword.control.conditional.when.cs" } }, end: "(?=:|})", patterns: [{ include: "#case-guard" }] }, { begin: "(?!\\s)", end: "(?=\\bwhen\\b|:|})", patterns: [{ include: "#pattern" }] }] }, "switch-statement": { patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#expression" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.curlybrace.open.cs" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.curlybrace.close.cs" } }, patterns: [{ include: "#switch-label" }, { include: "#statement" }] }] }, "switch-statement-or-expression": { begin: "(?<!\\.)\\b(switch)\\b", beginCaptures: { 1: { name: "keyword.control.conditional.switch.cs" } }, end: "(?<=})|(?=})", patterns: [{ include: "#intrusive" }, { begin: "(?=\\()", end: "(?<=\\})|(?=\\})", patterns: [{ include: "#switch-statement" }] }, { begin: "(?=\\{)", end: "(?<=\\})|(?=\\})", patterns: [{ include: "#switch-expression" }] }] }, "throw-expression": { captures: { 1: { name: "keyword.control.flow.throw.cs" } }, match: "\\b(throw)\\b" }, "throw-statement": { begin: "(?<!\\.)\\b(throw)\\b", beginCaptures: { 1: { name: "keyword.control.flow.throw.cs" } }, end: "(?=[;}])", patterns: [{ include: "#expression" }] }, "try-block": { begin: "(?<!\\.)\\b(try)\\b", beginCaptures: { 1: { name: "keyword.control.exception.try.cs" } }, end: "(?<=\\})", patterns: [{ include: "#comment" }, { include: "#block" }] }, "try-statement": { patterns: [{ include: "#try-block" }, { include: "#catch-clause" }, { include: "#finally-clause" }] }, "tuple-declaration-deconstruction-element-list": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#tuple-declaration-deconstruction-element-list" }, { include: "#declaration-expression-tuple" }, { include: "#punctuation-comma" }, { captures: { 1: { name: "entity.name.variable.tuple-element.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\b\\s*(?=[,)])" }] }, "tuple-deconstruction-assignment": { captures: { 1: { patterns: [{ include: "#tuple-deconstruction-element-list" }] } }, match: "(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\))\\s*(?!=>|==)(?==)" }, "tuple-deconstruction-element-list": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#tuple-deconstruction-element-list" }, { include: "#declaration-expression-tuple" }, { include: "#punctuation-comma" }, { captures: { 1: { name: "variable.other.readwrite.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\b\\s*(?=[,)])" }] }, "tuple-element": { captures: { 1: { patterns: [{ include: "#type" }] }, 6: { name: "entity.name.variable.tuple-element.cs" } }, match: "(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*(?:\\?)?\\s*)*))(?:(?<tuple_name>\\g<identifier>)\\b)?" }, "tuple-literal": { begin: "(\\()(?=.*[:,])", beginCaptures: { 1: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#comment" }, { include: "#tuple-literal-element" }, { include: "#expression" }, { include: "#punctuation-comma" }] }, "tuple-literal-element": { begin: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(?=:)", beginCaptures: { 1: { name: "entity.name.variable.tuple-element.cs" } }, end: "(:)", endCaptures: { 0: { name: "punctuation.separator.colon.cs" } } }, "tuple-type": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#tuple-element" }, { include: "#punctuation-comma" }] }, type: { patterns: [{ include: "#comment" }, { include: "#ref-modifier" }, { include: "#readonly-modifier" }, { include: "#tuple-type" }, { include: "#type-builtin" }, { include: "#type-name" }, { include: "#type-arguments" }, { include: "#type-array-suffix" }, { include: "#type-nullable-suffix" }, { include: "#type-pointer-suffix" }] }, "type-arguments": { begin: "<", beginCaptures: { 0: { name: "punctuation.definition.typeparameters.begin.cs" } }, end: ">", endCaptures: { 0: { name: "punctuation.definition.typeparameters.end.cs" } }, patterns: [{ include: "#type" }, { include: "#punctuation-comma" }] }, "type-array-suffix": { begin: "\\[", beginCaptures: { 0: { name: "punctuation.squarebracket.open.cs" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.squarebracket.close.cs" } }, patterns: [{ include: "#intrusive" }, { include: "#punctuation-comma" }] }, "type-builtin": { captures: { 1: { name: "keyword.type.$1.cs" } }, match: "\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\b" }, "type-declarations": { patterns: [{ include: "#preprocessor" }, { include: "#comment" }, { include: "#storage-modifier" }, { include: "#class-declaration" }, { include: "#delegate-declaration" }, { include: "#enum-declaration" }, { include: "#interface-declaration" }, { include: "#struct-declaration" }, { include: "#record-declaration" }, { include: "#attribute-section" }, { include: "#punctuation-semicolon" }] }, "type-name": { patterns: [{ captures: { 1: { name: "entity.name.type.alias.cs" }, 2: { name: "punctuation.separator.coloncolon.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(::)" }, { captures: { 1: { name: "entity.name.type.cs" }, 2: { name: "punctuation.accessor.cs" } }, match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\.)" }, { captures: { 1: { name: "punctuation.accessor.cs" }, 2: { name: "entity.name.type.cs" } }, match: "(\\.)\\s*(@?[_A-Za-z][_0-9A-Za-z]*)" }, { match: "@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.type.cs" }] }, "type-nullable-suffix": { match: "\\?", name: "punctuation.separator.question-mark.cs" }, "type-operator-expression": { begin: "\\b(default|sizeof|typeof)\\s*(\\()", beginCaptures: { 1: { name: "keyword.operator.expression.$1.cs" }, 2: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#type" }] }, "type-parameter-list": { begin: "<", beginCaptures: { 0: { name: "punctuation.definition.typeparameters.begin.cs" } }, end: ">", endCaptures: { 0: { name: "punctuation.definition.typeparameters.end.cs" } }, patterns: [{ match: "\\b(in|out)\\b", name: "storage.modifier.$1.cs" }, { match: "(@?[_A-Za-z][_0-9A-Za-z]*)\\b", name: "entity.name.type.type-parameter.cs" }, { include: "#comment" }, { include: "#punctuation-comma" }, { include: "#attribute-section" }] }, "type-pattern": { begin: "(?=@?[_A-Za-z][_0-9A-Za-z]*)", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ begin: "\\G", end: "(?!\\G[@_A-Za-z])(?=[({@_A-Za-z)}\\],;:=&|^]|(?:\\s|^)\\?|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { include: "#type-subpattern" }] }, { begin: "(?=[({@_A-Za-z])", end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { include: "#positional-pattern" }, { include: "#property-pattern" }, { include: "#simple-designation-pattern" }] }] }, "type-pointer-suffix": { match: "\\*", name: "punctuation.separator.asterisk.cs" }, "type-subpattern": { patterns: [{ include: "#type-builtin" }, { begin: "(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(::)", beginCaptures: { 1: { name: "entity.name.type.alias.cs" }, 2: { name: "punctuation.separator.coloncolon.cs" } }, end: "(?<=[_0-9A-Za-z])|(?=[.<\\[({)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { match: "\\@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.type.cs" }] }, { match: "\\@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.type.cs" }, { begin: "\\.", beginCaptures: { 0: { name: "punctuation.accessor.cs" } }, end: "(?<=[_0-9A-Za-z])|(?=[<\\[({)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#intrusive" }, { match: "\\@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.type.cs" }] }, { include: "#type-arguments" }, { include: "#type-array-suffix" }, { match: "(?<!\\s)\\?", name: "punctuation.separator.question-mark.cs" }] }, "using-directive": { patterns: [{ begin: "\\b(?:(global)\\s+)?(using)\\s+(static)\\b\\s*(?:(unsafe)\\b\\s*)?", beginCaptures: { 1: { name: "keyword.other.directive.global.cs" }, 2: { name: "keyword.other.directive.using.cs" }, 3: { name: "keyword.other.directive.static.cs" }, 4: { name: "storage.modifier.unsafe.cs" } }, end: "(?=;)", patterns: [{ include: "#type" }] }, { begin: "\\b(?:(global)\\s+)?(using)\\b\\s*(?:(unsafe)\\b\\s*)?(@?[_A-Za-z][_0-9A-Za-z]*)\\s*(=)", beginCaptures: { 1: { name: "keyword.other.directive.global.cs" }, 2: { name: "keyword.other.directive.using.cs" }, 3: { name: "storage.modifier.unsafe.cs" }, 4: { name: "entity.name.type.alias.cs" }, 5: { name: "keyword.operator.assignment.cs" } }, end: "(?=;)", patterns: [{ include: "#comment" }, { include: "#type" }] }, { begin: "\\b(?:(global)\\s+)?(using)\\b\\s*+(?!\\(|var\\b)", beginCaptures: { 1: { name: "keyword.other.directive.global.cs" }, 2: { name: "keyword.other.directive.using.cs" } }, end: "(?=;)", patterns: [{ include: "#comment" }, { match: "\\@?[_A-Za-z][_0-9A-Za-z]*", name: "entity.name.type.namespace.cs" }, { include: "#punctuation-accessor" }, { include: "#operator-assignment" }] }] }, "using-statement": { begin: "\\b(using)\\b", beginCaptures: { 1: { name: "keyword.control.context.using.cs" } }, end: "(?<=\\))|(?=;|})", patterns: [{ include: "#intrusive" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#intrusive" }, { include: "#await-expression" }, { include: "#local-variable-declaration" }, { include: "#expression" }] }, { include: "#local-variable-declaration" }] }, "var-pattern": { begin: "\\b(var)\\b", beginCaptures: { 1: { name: "storage.type.var.cs" } }, end: "(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)", patterns: [{ include: "#designation-pattern" }] }, "variable-initializer": { begin: "(?<!=|!)(=)(?!=|>)", beginCaptures: { 1: { name: "keyword.operator.assignment.cs" } }, end: "(?=[,)\\];}])", patterns: [{ include: "#ref-modifier" }, { include: "#expression" }] }, "verbatim-interpolated-string": { begin: '(?:\\$@|@\\$)"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"(?=[^"])', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#verbatim-string-character-escape" }, { include: "#interpolation" }] }, "verbatim-string-character-escape": { match: '""', name: "constant.character.escape.cs" }, "verbatim-string-literal": { begin: '@"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '"(?=[^"])', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#verbatim-string-character-escape" }] }, "when-clause": { begin: "(?<!\\.)\\b(when)\\b\\s*(\\()", beginCaptures: { 1: { name: "keyword.control.exception.when.cs" }, 2: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#expression" }, { include: "#comment" }] }, "where-clause": { begin: "\\b(where)\\b\\s*", beginCaptures: { 1: { name: "keyword.operator.expression.query.where.cs" } }, end: "(?=;|\\))", patterns: [{ include: "#query-body" }, { include: "#expression" }] }, "while-statement": { begin: "(?<!\\.)\\b(while)\\b\\s*(?=\\()", beginCaptures: { 1: { name: "keyword.control.loop.while.cs" } }, end: "(?<=\\})|(?=;)", patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.parenthesis.open.cs" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.parenthesis.close.cs" } }, patterns: [{ include: "#expression" }] }, { include: "#statement" }] }, "with-expression": { begin: "(?<!\\.)\\b(with)\\b\\s*(?=\\{|//|/\\*|$)", beginCaptures: { 1: { name: "keyword.operator.expression.with.cs" } }, end: "(?<=\\})", patterns: [{ include: "#comment" }, { include: "#initializer-expression" }] }, "xml-attribute": { patterns: [{ captures: { 1: { name: "entity.other.attribute-name.cs" }, 2: { name: "entity.other.attribute-name.namespace.cs" }, 3: { name: "punctuation.separator.colon.cs" }, 4: { name: "entity.other.attribute-name.localname.cs" }, 5: { name: "punctuation.separator.equals.cs" } }, match: "(?:^|\\s+)((?:([-_0-9A-Za-z]+)(:))?([-_0-9A-Za-z]+))(=)" }, { include: "#xml-string" }] }, "xml-cdata": { begin: "<!\\[CDATA\\[", beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: "\\]\\]>", endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.unquoted.cdata.cs" }, "xml-character-entity": { patterns: [{ captures: { 1: { name: "punctuation.definition.constant.cs" }, 3: { name: "punctuation.definition.constant.cs" } }, match: "(&)((?:[A-Za-z:_][0-9A-Za-z:_.-]*)|(?:\\#[\\d]+)|(?:\\#x[0-9A-Fa-f]+))(;)", name: "constant.character.entity.cs" }, { match: "&", name: "invalid.illegal.bad-ampersand.cs" }] }, "xml-comment": { begin: "<!--", beginCaptures: { 0: { name: "punctuation.definition.comment.cs" } }, end: "-->", endCaptures: { 0: { name: "punctuation.definition.comment.cs" } }, name: "comment.block.cs" }, "xml-doc-comment": { patterns: [{ include: "#xml-comment" }, { include: "#xml-character-entity" }, { include: "#xml-cdata" }, { include: "#xml-tag" }] }, "xml-string": { patterns: [{ begin: "\\'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: "\\'", endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.single.cs", patterns: [{ include: "#xml-character-entity" }] }, { begin: '\\"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cs" } }, end: '\\"', endCaptures: { 0: { name: "punctuation.definition.string.end.cs" } }, name: "string.quoted.double.cs", patterns: [{ include: "#xml-character-entity" }] }] }, "xml-tag": { begin: "(</?)((?:([-_0-9A-Za-z]+)(:))?([-_0-9A-Za-z]+))", beginCaptures: { 1: { name: "punctuation.definition.tag.cs" }, 2: { name: "entity.name.tag.cs" }, 3: { name: "entity.name.tag.namespace.cs" }, 4: { name: "punctuation.separator.colon.cs" }, 5: { name: "entity.name.tag.localname.cs" } }, end: "(/?>)", endCaptures: { 1: { name: "punctuation.definition.tag.cs" } }, name: "meta.tag.cs", patterns: [{ include: "#xml-attribute" }] }, "yield-break-statement": { captures: { 1: { name: "keyword.control.flow.yield.cs" }, 2: { name: "keyword.control.flow.break.cs" } }, match: "(?<!\\.)\\b(yield)\\b\\s*\\b(break)\\b" }, "yield-return-statement": { begin: "(?<!\\.)\\b(yield)\\b\\s*\\b(return)\\b", beginCaptures: { 1: { name: "keyword.control.flow.yield.cs" }, 2: { name: "keyword.control.flow.return.cs" } }, end: "(?=[;}])", patterns: [{ include: "#expression" }] }, "yield-statement": { patterns: [{ include: "#yield-return-statement" }, { include: "#yield-break-statement" }] } }, scopeName: "source.cs", aliases: ["c#", "cs"] });
|
|
2
|
-
var n = [
|
|
3
|
-
e
|
|
4
|
-
];
|
|
5
|
-
export {
|
|
6
|
-
n as default
|
|
7
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const e = Object.freeze({ displayName: "CSS", name: "css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { include: "#combinators" }, { include: "#selector" }, { include: "#at-rules" }, { include: "#rule-list" }], repository: { "at-rules": { patterns: [{ begin: "\\A(?:\\xEF\\xBB\\xBF)?(?i:(?=\\s*@charset\\b))", end: ";|(?=$)", endCaptures: { 0: { name: "punctuation.terminator.rule.css" } }, name: "meta.at-rule.charset.css", patterns: [{ captures: { 1: { name: "invalid.illegal.not-lowercase.charset.css" }, 2: { name: "invalid.illegal.leading-whitespace.charset.css" }, 3: { name: "invalid.illegal.no-whitespace.charset.css" }, 4: { name: "invalid.illegal.whitespace.charset.css" }, 5: { name: "invalid.illegal.not-double-quoted.charset.css" }, 6: { name: "invalid.illegal.unclosed-string.charset.css" }, 7: { name: "invalid.illegal.unexpected-characters.charset.css" } }, match: '\\G((?!@charset)@\\w+)|\\G(\\s+)|(@charset\\S[^;]*)|(?<=@charset)(\\x20{2,}|\\t+)|(?<=@charset\\x20)([^";]+)|("[^"]+$)|(?<=")([^;]+)' }, { captures: { 1: { name: "keyword.control.at-rule.charset.css" }, 2: { name: "punctuation.definition.keyword.css" } }, match: "((@)charset)(?=\\s)" }, { begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.css" } }, end: '"|$', endCaptures: { 0: { name: "punctuation.definition.string.end.css" } }, name: "string.quoted.double.css", patterns: [{ begin: '(?:\\G|^)(?=(?:[^"])+$)', end: "$", name: "invalid.illegal.unclosed.string.css" }] }] }, { begin: `(?i)((@)import)(?:\\s+|$|(?=['"]|/\\*))`, beginCaptures: { 1: { name: "keyword.control.at-rule.import.css" }, 2: { name: "punctuation.definition.keyword.css" } }, end: ";", endCaptures: { 0: { name: "punctuation.terminator.rule.css" } }, name: "meta.at-rule.import.css", patterns: [{ begin: "\\G\\s*(?=/\\*)", end: "(?<=\\*/)\\s*", patterns: [{ include: "#comment-block" }] }, { include: "#string" }, { include: "#url" }, { include: "#media-query-list" }] }, { begin: "(?i)((@)font-face)(?=\\s*|{|/\\*|$)", beginCaptures: { 1: { name: "keyword.control.at-rule.font-face.css" }, 2: { name: "punctuation.definition.keyword.css" } }, end: "(?!\\G)", name: "meta.at-rule.font-face.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { include: "#rule-list" }] }, { begin: "(?i)(@)page(?=[\\s:{]|/\\*|$)", captures: { 0: { name: "keyword.control.at-rule.page.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*($|[:{;]))", name: "meta.at-rule.page.css", patterns: [{ include: "#rule-list" }] }, { begin: "(?i)(?=@media(\\s|\\(|/\\*|$))", end: "(?<=})(?!\\G)", patterns: [{ begin: "(?i)\\G(@)media", beginCaptures: { 0: { name: "keyword.control.at-rule.media.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*[{;])", name: "meta.at-rule.media.header.css", patterns: [{ include: "#media-query-list" }] }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.media.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.media.end.bracket.curly.css" } }, name: "meta.at-rule.media.body.css", patterns: [{ include: "$self" }] }] }, { begin: `(?i)(?=@counter-style([\\s'"{;]|/\\*|$))`, end: "(?<=})(?!\\G)", patterns: [{ begin: "(?i)\\G(@)counter-style", beginCaptures: { 0: { name: "keyword.control.at-rule.counter-style.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*{)", name: "meta.at-rule.counter-style.header.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { captures: { 0: { patterns: [{ include: "#escapes" }] } }, match: "(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*", name: "variable.parameter.style-name.css" }] }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.property-list.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.property-list.end.bracket.curly.css" } }, name: "meta.at-rule.counter-style.body.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { include: "#rule-list-innards" }] }] }, { begin: `(?i)(?=@document([\\s'"{;]|/\\*|$))`, end: "(?<=})(?!\\G)", patterns: [{ begin: "(?i)\\G(@)document", beginCaptures: { 0: { name: "keyword.control.at-rule.document.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*[{;])", name: "meta.at-rule.document.header.css", patterns: [{ begin: "(?i)(?<![\\w-])(url-prefix|domain|regexp)(\\()", beginCaptures: { 1: { name: "support.function.document-rule.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.document-rule.css", patterns: [{ include: "#string" }, { include: "#comment-block" }, { include: "#escapes" }, { match: `[^'")\\s]+`, name: "variable.parameter.document-rule.css" }] }, { include: "#url" }, { include: "#commas" }, { include: "#comment-block" }, { include: "#escapes" }] }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.document.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.document.end.bracket.curly.css" } }, name: "meta.at-rule.document.body.css", patterns: [{ include: "$self" }] }] }, { begin: `(?i)(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\\s'"{;]|/\\*|$))`, end: "(?<=})(?!\\G)", patterns: [{ begin: "(?i)\\G(@)(?:-(?:webkit|moz|o|ms)-)?keyframes", beginCaptures: { 0: { name: "keyword.control.at-rule.keyframes.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*{)", name: "meta.at-rule.keyframes.header.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { captures: { 0: { patterns: [{ include: "#escapes" }] } }, match: "(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*", name: "variable.parameter.keyframe-list.css" }] }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.keyframes.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.keyframes.end.bracket.curly.css" } }, name: "meta.at-rule.keyframes.body.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { captures: { 1: { name: "entity.other.keyframe-offset.css" }, 2: { name: "entity.other.keyframe-offset.percentage.css" } }, match: "(?i)(?<![\\w-])(from|to)(?![\\w-])|([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%)" }, { include: "#rule-list" }] }] }, { begin: "(?i)(?=@supports(\\s|\\(|/\\*|$))", end: "(?<=})(?!\\G)|(?=;)", patterns: [{ begin: "(?i)\\G(@)supports", beginCaptures: { 0: { name: "keyword.control.at-rule.supports.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*[{;])", name: "meta.at-rule.supports.header.css", patterns: [{ include: "#feature-query-operators" }, { include: "#feature-query" }, { include: "#comment-block" }, { include: "#escapes" }] }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.supports.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.supports.end.bracket.curly.css" } }, name: "meta.at-rule.supports.body.css", patterns: [{ include: "$self" }] }] }, { begin: `(?i)((@)(-(ms|o)-)?viewport)(?=[\\s'"{;]|/\\*|$)`, beginCaptures: { 1: { name: "keyword.control.at-rule.viewport.css" }, 2: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*[@{;])", name: "meta.at-rule.viewport.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }] }, { begin: `(?i)((@)font-feature-values)(?=[\\s'"{;]|/\\*|$)\\s*`, beginCaptures: { 1: { name: "keyword.control.at-rule.font-feature-values.css" }, 2: { name: "punctuation.definition.keyword.css" } }, contentName: "variable.parameter.font-name.css", end: "(?=\\s*[@{;])", name: "meta.at-rule.font-features.css", patterns: [{ include: "#comment-block" }, { include: "#escapes" }] }, { include: "#font-features" }, { begin: `(?i)((@)namespace)(?=[\\s'";]|/\\*|$)`, beginCaptures: { 1: { name: "keyword.control.at-rule.namespace.css" }, 2: { name: "punctuation.definition.keyword.css" } }, end: ";|(?=[@{])", endCaptures: { 0: { name: "punctuation.terminator.rule.css" } }, name: "meta.at-rule.namespace.css", patterns: [{ include: "#url" }, { captures: { 1: { patterns: [{ include: "#comment-block" }] }, 2: { name: "entity.name.function.namespace-prefix.css", patterns: [{ include: "#escapes" }] } }, match: "(?i)(?:\\G|^|(?<=\\s))(?=(?<=\\s|^)(?:[-a-zA-Z_]|[^\\x00-\\x7F])|\\s*/\\*(?:[^*]|\\*[^/])*\\*/)(.*?)((?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*)" }, { include: "#comment-block" }, { include: "#escapes" }, { include: "#string" }] }, { begin: "(?i)(?=@[\\w-]+[^;]+;s*$)", end: "(?<=;)(?!\\G)", patterns: [{ begin: "(?i)\\G(@)[\\w-]+", beginCaptures: { 0: { name: "keyword.control.at-rule.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: ";", endCaptures: { 0: { name: "punctuation.terminator.rule.css" } }, name: "meta.at-rule.header.css" }] }, { begin: "(?i)(?=@[\\w-]+(\\s|\\(|{|/\\*|$))", end: "(?<=})(?!\\G)", patterns: [{ begin: "(?i)\\G(@)[\\w-]+", beginCaptures: { 0: { name: "keyword.control.at-rule.css" }, 1: { name: "punctuation.definition.keyword.css" } }, end: "(?=\\s*[{;])", name: "meta.at-rule.header.css" }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.end.bracket.curly.css" } }, name: "meta.at-rule.body.css", patterns: [{ include: "$self" }] }] }] }, "color-keywords": { patterns: [{ match: "(?i)(?<![\\w-])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![\\w-])", name: "support.constant.color.w3c-standard-color-name.css" }, { match: "(?i)(?<![\\w-])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![\\w-])", name: "support.constant.color.w3c-extended-color-name.css" }, { match: "(?i)(?<![\\w-])currentColor(?![\\w-])", name: "support.constant.color.current.css" }, { match: "(?i)(?<![\\w-])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![\\w-])", name: "invalid.deprecated.color.system.css" }] }, combinators: { patterns: [{ match: "/deep/|>>>", name: "invalid.deprecated.combinator.css" }, { match: ">>|>|\\+|~", name: "keyword.operator.combinator.css" }] }, commas: { match: ",", name: "punctuation.separator.list.comma.css" }, "comment-block": { begin: "/\\*", beginCaptures: { 0: { name: "punctuation.definition.comment.begin.css" } }, end: "\\*/", endCaptures: { 0: { name: "punctuation.definition.comment.end.css" } }, name: "comment.block.css" }, escapes: { patterns: [{ match: "\\\\[0-9a-fA-F]{1,6}", name: "constant.character.escape.codepoint.css" }, { begin: "\\\\$\\s*", end: "^(?<!\\G)", name: "constant.character.escape.newline.css" }, { match: "\\\\.", name: "constant.character.escape.css" }] }, "feature-query": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.condition.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.condition.end.bracket.round.css" } }, name: "meta.feature-query.css", patterns: [{ include: "#feature-query-operators" }, { include: "#feature-query" }] }, "feature-query-operators": { patterns: [{ match: "(?i)(?<=[\\s()]|^|\\*/)(and|not|or)(?=[\\s()]|/\\*|$)", name: "keyword.operator.logical.feature.$1.css" }, { include: "#rule-list-innards" }] }, "font-features": { begin: `(?i)((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\\s@'"{;]|/\\*|$)`, beginCaptures: { 1: { name: "keyword.control.at-rule.${3:/downcase}.css" }, 2: { name: "punctuation.definition.keyword.css" } }, end: "(?<=})", name: "meta.at-rule.${3:/downcase}.css", patterns: [{ begin: "{", beginCaptures: { 0: { name: "punctuation.section.property-list.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.property-list.end.bracket.curly.css" } }, name: "meta.property-list.font-feature.css", patterns: [{ captures: { 0: { patterns: [{ include: "#escapes" }] } }, match: "(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*", name: "variable.font-feature.css" }, { include: "#rule-list-innards" }] }] }, "functional-pseudo-classes": { patterns: [{ begin: "(?i)((:)dir)(\\()", beginCaptures: { 1: { name: "entity.other.attribute-name.pseudo-class.css" }, 2: { name: "punctuation.definition.entity.css" }, 3: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { match: "(?i)(?<![\\w-])(ltr|rtl)(?![\\w-])", name: "support.constant.text-direction.css" }, { include: "#property-values" }] }, { begin: "(?i)((:)lang)(\\()", beginCaptures: { 1: { name: "entity.other.attribute-name.pseudo-class.css" }, 2: { name: "punctuation.definition.entity.css" }, 3: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, patterns: [{ match: "(?<=[(,\\s])[a-zA-Z]+(-[a-zA-Z0-9]*|\\\\(?:[0-9a-fA-F]{1,6}|.))*(?=[),\\s])", name: "support.constant.language-range.css" }, { begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.css" } }, end: '"', endCaptures: { 0: { name: "punctuation.definition.string.end.css" } }, name: "string.quoted.double.css", patterns: [{ include: "#escapes" }, { match: '(?<=["\\s])[a-zA-Z*]+(-[a-zA-Z0-9*]*)*(?=["\\s])', name: "support.constant.language-range.css" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.css" } }, end: "'", endCaptures: { 0: { name: "punctuation.definition.string.end.css" } }, name: "string.quoted.single.css", patterns: [{ include: "#escapes" }, { match: "(?<=['\\s])[a-zA-Z*]+(-[a-zA-Z0-9*]*)*(?=['\\s])", name: "support.constant.language-range.css" }] }, { include: "#commas" }] }, { begin: "(?i)((:)(?:not|has|matches|where|is))(\\()", beginCaptures: { 1: { name: "entity.other.attribute-name.pseudo-class.css" }, 2: { name: "punctuation.definition.entity.css" }, 3: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, patterns: [{ include: "#selector-innards" }] }, { begin: "(?i)((:)nth-(?:last-)?(?:child|of-type))(\\()", beginCaptures: { 1: { name: "entity.other.attribute-name.pseudo-class.css" }, 2: { name: "punctuation.definition.entity.css" }, 3: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, patterns: [{ match: "(?i)[+-]?(\\d+n?|n)(\\s*[+-]\\s*\\d+)?", name: "constant.numeric.css" }, { match: "(?i)even|odd", name: "support.constant.parity.css" }] }] }, functions: { patterns: [{ begin: "(?i)(?<![\\w-])(calc)(\\()", beginCaptures: { 1: { name: "support.function.calc.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.calc.css", patterns: [{ match: "[*/]|(?<=\\s|^)[-+](?=\\s|$)", name: "keyword.operator.arithmetic.css" }, { include: "#property-values" }] }, { begin: "(?i)(?<![\\w-])(rgba?|rgb|hsla?|hsl|hwb|lab|oklab|lch|oklch|color)(\\()", beginCaptures: { 1: { name: "support.function.misc.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.color.css", patterns: [{ include: "#property-values" }] }, { begin: "(?i)(?<![\\w-])((?:-webkit-|-moz-|-o-)?(?:repeating-)?(?:linear|radial|conic)-gradient)(\\()", beginCaptures: { 1: { name: "support.function.gradient.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.gradient.css", patterns: [{ match: "(?i)(?<![\\w-])(from|to|at|in|hue)(?![\\w-])", name: "keyword.operator.gradient.css" }, { include: "#property-values" }] }, { begin: "(?i)(?<![\\w-])(-webkit-gradient)(\\()", beginCaptures: { 1: { name: "invalid.deprecated.gradient.function.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.gradient.invalid.deprecated.gradient.css", patterns: [{ begin: "(?i)(?<![\\w-])(from|to|color-stop)(\\()", beginCaptures: { 1: { name: "invalid.deprecated.function.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, patterns: [{ include: "#property-values" }] }, { include: "#property-values" }] }, { begin: "(?i)(?<![\\w-])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan|atan2|hypot|sqrt|pow|log|exp|abs|sign)(\\()", beginCaptures: { 1: { name: "support.function.misc.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.misc.css", patterns: [{ match: `(?i)(?<=[,\\s"]|\\*/|^)\\d+x(?=[\\s,"')]|/\\*|$)`, name: "constant.numeric.other.density.css" }, { include: "#property-values" }, { match: `[^'"),\\s]+`, name: "variable.parameter.misc.css" }] }, { begin: "(?i)(?<![\\w-])(circle|ellipse|inset|polygon|rect)(\\()", beginCaptures: { 1: { name: "support.function.shape.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.shape.css", patterns: [{ match: "(?i)(?<=\\s|^|\\*/)(at|round)(?=\\s|/\\*|$)", name: "keyword.operator.shape.css" }, { include: "#property-values" }] }, { begin: "(?i)(?<![\\w-])(cubic-bezier|steps)(\\()", beginCaptures: { 1: { name: "support.function.timing-function.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.timing-function.css", patterns: [{ match: "(?i)(?<![\\w-])(start|end)(?=\\s*\\)|$)", name: "support.constant.step-direction.css" }, { include: "#property-values" }] }, { begin: "(?i)(?<![\\w-])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\\()", beginCaptures: { 1: { name: "support.function.transform.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, patterns: [{ include: "#property-values" }] }, { include: "#url" }, { begin: "(?i)(?<![\\w-])(var)(\\()", beginCaptures: { 1: { name: "support.function.misc.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.variable.css", patterns: [{ match: "--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*", name: "variable.argument.css" }, { include: "#property-values" }] }] }, "media-feature-keywords": { match: "(?i)(?<=^|\\s|:|\\*/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=\\s|\\)|$)", name: "support.constant.property-value.css" }, "media-features": { captures: { 1: { name: "support.type.property-name.media.css" }, 2: { name: "support.type.property-name.media.css" }, 3: { name: "support.type.vendored.property-name.media.css" } }, match: "(?i)(?<=^|\\s|\\(|\\*/)(?:((?:min-|max-)?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:min-|max-)?device-(?:height|width|aspect-ratio))|((?:[-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[\\w-]+(?=\\s*(?:/\\*(?:[^*]|\\*[^/])*\\*/)?\\s*[:)])))(?=\\s|$|[><:=]|\\)|/\\*)" }, "media-query": { begin: "\\G", end: "(?=\\s*[{;])", patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { include: "#media-types" }, { match: "(?i)(?<=\\s|^|,|\\*/)(only|not)(?=\\s|{|/\\*|$)", name: "keyword.operator.logical.$1.media.css" }, { match: "(?i)(?<=\\s|^|\\*/|\\))and(?=\\s|/\\*|$)", name: "keyword.operator.logical.and.media.css" }, { match: ",(?:(?:\\s*,)+|(?=\\s*[;){]))", name: "invalid.illegal.comma.css" }, { include: "#commas" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.parameters.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.parameters.end.bracket.round.css" } }, patterns: [{ include: "#media-features" }, { include: "#media-feature-keywords" }, { match: ":", name: "punctuation.separator.key-value.css" }, { match: ">=|<=|=|<|>", name: "keyword.operator.comparison.css" }, { captures: { 1: { name: "constant.numeric.css" }, 2: { name: "keyword.operator.arithmetic.css" }, 3: { name: "constant.numeric.css" } }, match: "(\\d+)\\s*(/)\\s*(\\d+)", name: "meta.ratio.css" }, { include: "#numeric-values" }, { include: "#comment-block" }] }] }, "media-query-list": { begin: "(?=\\s*[^{;])", end: "(?=\\s*[{;])", patterns: [{ include: "#media-query" }] }, "media-types": { captures: { 1: { name: "support.constant.media.css" }, 2: { name: "invalid.deprecated.constant.media.css" } }, match: "(?i)(?<=^|\\s|,|\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[{,\\s;]|/\\*)" }, "numeric-values": { patterns: [{ captures: { 1: { name: "punctuation.definition.constant.css" } }, match: "(#)(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\b", name: "constant.other.color.rgb-value.hex.css" }, { captures: { 1: { name: "keyword.other.unit.percentage.css" }, 2: { name: "keyword.other.unit.${2:/downcase}.css" } }, match: "(?i)(?<![\\w-])[-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:(?<=\\d)E[-+]?\\d+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\\b)?", name: "constant.numeric.css" }] }, "property-keywords": { patterns: [{ match: "(?i)(?<![\\w-])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![\\w-])", name: "support.constant.property-value.css" }, { match: "(?i)(?<![\\w-])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![\\w-])", name: "support.constant.property-value.list-style-type.css" }, { match: "(?<![\\w-])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-zA-Z-]+", name: "support.constant.vendored.property-value.css" }, { match: "(?<![\\w-])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\\w-])", name: "support.constant.font-name.css" }] }, "property-names": { patterns: [{ match: "(?i)(?<![\\w-])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![\\w-])", name: "support.type.property-name.css" }, { match: "(?<![\\w-])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-zA-Z-]+", name: "support.type.vendored.property-name.css" }] }, "property-values": { patterns: [{ include: "#commas" }, { include: "#comment-block" }, { include: "#escapes" }, { include: "#functions" }, { include: "#property-keywords" }, { include: "#unicode-range" }, { include: "#numeric-values" }, { include: "#color-keywords" }, { include: "#string" }, { match: "!\\s*important(?![\\w-])", name: "keyword.other.important.css" }] }, "pseudo-classes": { captures: { 1: { name: "punctuation.definition.entity.css" }, 2: { name: "invalid.illegal.colon.css" } }, match: "(?i)(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![\\w-]|\\s*[;}])", name: "entity.other.attribute-name.pseudo-class.css" }, "pseudo-elements": { captures: { 1: { name: "punctuation.definition.entity.css" }, 2: { name: "punctuation.definition.entity.css" } }, match: "(?i)(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-z-]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![\\w-]|\\s*[;}])", name: "entity.other.attribute-name.pseudo-element.css" }, "rule-list": { begin: "{", beginCaptures: { 0: { name: "punctuation.section.property-list.begin.bracket.curly.css" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.property-list.end.bracket.curly.css" } }, name: "meta.property-list.css", patterns: [{ include: "#rule-list-innards" }] }, "rule-list-innards": { patterns: [{ include: "#comment-block" }, { include: "#escapes" }, { include: "#font-features" }, { match: "(?<![\\w-])--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*", name: "variable.css" }, { begin: "(?<![-a-zA-Z])(?=[-a-zA-Z])", end: "$|(?![-a-zA-Z])", name: "meta.property-name.css", patterns: [{ include: "#property-names" }] }, { begin: "(:)\\s*", beginCaptures: { 1: { name: "punctuation.separator.key-value.css" } }, contentName: "meta.property-value.css", end: "\\s*(;)|\\s*(?=}|\\))", endCaptures: { 1: { name: "punctuation.terminator.rule.css" } }, patterns: [{ include: "#comment-block" }, { include: "#property-values" }] }, { match: ";", name: "punctuation.terminator.rule.css" }] }, selector: { begin: "(?=(?:\\|)?(?:[-\\[:.*#a-zA-Z_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)))", end: "(?=\\s*[/@{)])", name: "meta.selector.css", patterns: [{ include: "#selector-innards" }] }, "selector-innards": { patterns: [{ include: "#comment-block" }, { include: "#commas" }, { include: "#escapes" }, { include: "#combinators" }, { captures: { 1: { name: "entity.other.namespace-prefix.css" }, 2: { name: "punctuation.separator.css" } }, match: "(?:^|(?<=[\\s,(};]))(?![-\\w*]+\\|(?![-\\[:.*#a-zA-Z_]|[^\\x00-\\x7F]))((?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*|\\*)?(\\|)" }, { include: "#tag-names" }, { match: "\\*", name: "entity.name.tag.wildcard.css" }, { captures: { 1: { name: "punctuation.definition.entity.css" }, 2: { patterns: [{ include: "#escapes" }] } }, match: "(?<![@\\w-])([.#])((?:-?\\d|-(?=$|[\\s,.#)\\[:{>+~|]|/\\*)|(?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*(?:[!\"'%&(*;<?@^`|\\]}]|/(?!\\*))+)(?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*)", name: "invalid.illegal.bad-identifier.css" }, { captures: { 1: { name: "punctuation.definition.entity.css" }, 2: { patterns: [{ include: "#escapes" }] } }, match: "(\\.)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\s,.#)\\[:{>+~|]|/\\*)", name: "entity.other.attribute-name.class.css" }, { captures: { 1: { name: "punctuation.definition.entity.css" }, 2: { patterns: [{ include: "#escapes" }] } }, match: "(\\#)(-?(?!\\d)(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\s,.#)\\[:{>+~|]|/\\*)", name: "entity.other.attribute-name.id.css" }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.entity.begin.bracket.square.css" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.entity.end.bracket.square.css" } }, name: "meta.attribute-selector.css", patterns: [{ include: "#comment-block" }, { include: "#string" }, { captures: { 1: { name: "storage.modifier.ignore-case.css" } }, match: `(?<=["'\\s]|^|\\*/)\\s*([iI])\\s*(?=[\\s\\]]|/\\*|$)` }, { captures: { 1: { name: "string.unquoted.attribute-value.css", patterns: [{ include: "#escapes" }] } }, match: `(?<==)\\s*((?!/\\*)(?:[^\\\\"'\\s\\]]|\\\\.)+)` }, { include: "#escapes" }, { match: "[~|^$*]?=", name: "keyword.operator.pattern.css" }, { match: "\\|", name: "punctuation.separator.css" }, { captures: { 1: { name: "entity.other.namespace-prefix.css", patterns: [{ include: "#escapes" }] } }, match: "(-?(?!\\d)(?:[\\w-]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+|\\*)(?=\\|(?!\\s|=|$|\\])(?:-?(?!\\d)|[\\\\\\w-]|[^\\x00-\\x7F]))" }, { captures: { 1: { name: "entity.other.attribute-name.css", patterns: [{ include: "#escapes" }] } }, match: "(-?(?!\\d)(?>[\\w-]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)\\s*(?=[~|^\\]$*=]|/\\*)" }] }, { include: "#pseudo-classes" }, { include: "#pseudo-elements" }, { include: "#functional-pseudo-classes" }, { match: "(?<![@\\w-])(?=[a-z]\\w*-)(?:(?![A-Z])[\\w-])+(?![(\\w-])", name: "entity.name.tag.custom.css" }] }, string: { patterns: [{ begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.css" } }, end: '"|(?<!\\\\)(?=$|\\n)', endCaptures: { 0: { name: "punctuation.definition.string.end.css" } }, name: "string.quoted.double.css", patterns: [{ begin: '(?:\\G|^)(?=(?:[^\\\\"]|\\\\.)+$)', end: "$", name: "invalid.illegal.unclosed.string.css", patterns: [{ include: "#escapes" }] }, { include: "#escapes" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.css" } }, end: "'|(?<!\\\\)(?=$|\\n)", endCaptures: { 0: { name: "punctuation.definition.string.end.css" } }, name: "string.quoted.single.css", patterns: [{ begin: "(?:\\G|^)(?=(?:[^\\\\']|\\\\.)+$)", end: "$", name: "invalid.illegal.unclosed.string.css", patterns: [{ include: "#escapes" }] }, { include: "#escapes" }] }] }, "tag-names": { match: "(?i)(?<![\\w:-])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[+~>\\s,.#|){:\\[]|/\\*|$)", name: "entity.name.tag.css" }, "unicode-range": { captures: { 0: { name: "constant.other.unicode-range.css" }, 1: { name: "punctuation.separator.dash.unicode-range.css" } }, match: "(?<![\\w-])[Uu]\\+[0-9A-Fa-f?]{1,6}(?:(-)[0-9A-Fa-f]{1,6})?(?![\\w-])" }, url: { begin: "(?i)(?<![\\w@-])(url)(\\()", beginCaptures: { 1: { name: "support.function.url.css" }, 2: { name: "punctuation.section.function.begin.bracket.round.css" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.function.end.bracket.round.css" } }, name: "meta.function.url.css", patterns: [{ match: `[^'")\\s]+`, name: "variable.parameter.url.css" }, { include: "#string" }, { include: "#comment-block" }, { include: "#escapes" }] } }, scopeName: "source.css" });
|
|
2
|
-
var t = [
|
|
3
|
-
e
|
|
4
|
-
];
|
|
5
|
-
export {
|
|
6
|
-
t as default
|
|
7
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const a = Object.freeze({ displayName: "CSV", fileTypes: ["csv"], name: "csv", patterns: [{ captures: { 1: { name: "rainbow1" }, 2: { name: "keyword.rainbow2" }, 3: { name: "entity.name.function.rainbow3" }, 4: { name: "comment.rainbow4" }, 5: { name: "string.rainbow5" }, 6: { name: "variable.parameter.rainbow6" }, 7: { name: "constant.numeric.rainbow7" }, 8: { name: "entity.name.type.rainbow8" }, 9: { name: "markup.bold.rainbow9" }, 10: { name: "invalid.rainbow10" } }, match: '((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?((?: *"(?:[^"]*"")*[^"]*" *(?:,|$))|(?:[^,]*(?:,|$)))?', name: "rainbowgroup" }], scopeName: "text.csv" });
|
|
2
|
-
var n = [
|
|
3
|
-
a
|
|
4
|
-
];
|
|
5
|
-
export {
|
|
6
|
-
n as default
|
|
7
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const n = Object.freeze({ displayName: "Diff", name: "diff", patterns: [{ captures: { 1: { name: "punctuation.definition.separator.diff" } }, match: "^((\\*{15})|(={67})|(-{3}))$\\n?", name: "meta.separator.diff" }, { match: "^\\d+(,\\d+)*(a|d|c)\\d+(,\\d+)*$\\n?", name: "meta.diff.range.normal" }, { captures: { 1: { name: "punctuation.definition.range.diff" }, 2: { name: "meta.toc-list.line-number.diff" }, 3: { name: "punctuation.definition.range.diff" } }, match: "^(@@)\\s*(.+?)\\s*(@@)($\\n?)?", name: "meta.diff.range.unified" }, { captures: { 3: { name: "punctuation.definition.range.diff" }, 4: { name: "punctuation.definition.range.diff" }, 6: { name: "punctuation.definition.range.diff" }, 7: { name: "punctuation.definition.range.diff" } }, match: "^(((-{3}) .+ (-{4}))|((\\*{3}) .+ (\\*{4})))$\\n?", name: "meta.diff.range.context" }, { match: "^diff --git a/.*$\\n?", name: "meta.diff.header.git" }, { match: "^diff (-|\\S+\\s+\\S+).*$\\n?", name: "meta.diff.header.command" }, { captures: { 4: { name: "punctuation.definition.from-file.diff" }, 6: { name: "punctuation.definition.from-file.diff" }, 7: { name: "punctuation.definition.from-file.diff" } }, match: "(^(((-{3}) .+)|((\\*{3}) .+))$\\n?|^(={4}) .+(?= - ))", name: "meta.diff.header.from-file" }, { captures: { 2: { name: "punctuation.definition.to-file.diff" }, 3: { name: "punctuation.definition.to-file.diff" }, 4: { name: "punctuation.definition.to-file.diff" } }, match: "(^(\\+{3}) .+$\\n?| (-) .* (={4})$\\n?)", name: "meta.diff.header.to-file" }, { captures: { 3: { name: "punctuation.definition.inserted.diff" }, 6: { name: "punctuation.definition.inserted.diff" } }, match: "^(((>)( .*)?)|((\\+).*))$\\n?", name: "markup.inserted.diff" }, { captures: { 1: { name: "punctuation.definition.changed.diff" } }, match: "^(!).*$\\n?", name: "markup.changed.diff" }, { captures: { 3: { name: "punctuation.definition.deleted.diff" }, 6: { name: "punctuation.definition.deleted.diff" } }, match: "^(((<)( .*)?)|((-).*))$\\n?", name: "markup.deleted.diff" }, { begin: "^(#)", captures: { 1: { name: "punctuation.definition.comment.diff" } }, comment: 'Git produces unified diffs with embedded comments"', end: "\\n", name: "comment.line.number-sign.diff" }, { match: "^index [0-9a-f]{7,40}\\.\\.[0-9a-f]{7,40}.*$\\n?", name: "meta.diff.index.git" }, { captures: { 1: { name: "punctuation.separator.key-value.diff" }, 2: { name: "meta.toc-list.file-name.diff" } }, match: "^Index(:) (.+)$\\n?", name: "meta.diff.index" }, { match: "^Only in .*: .*$\\n?", name: "meta.diff.only-in" }], scopeName: "source.diff" });
|
|
2
|
-
var e = [
|
|
3
|
-
n
|
|
4
|
-
];
|
|
5
|
-
export {
|
|
6
|
-
e as default
|
|
7
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const e = Object.freeze({ displayName: "Dockerfile", name: "docker", patterns: [{ captures: { 1: { name: "keyword.other.special-method.dockerfile" }, 2: { name: "keyword.other.special-method.dockerfile" } }, match: "^\\s*\\b(?i:(FROM))\\b.*?\\b(?i:(AS))\\b" }, { captures: { 1: { name: "keyword.control.dockerfile" }, 2: { name: "keyword.other.special-method.dockerfile" } }, match: "^\\s*(?i:(ONBUILD)\\s+)?(?i:(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR))\\s" }, { captures: { 1: { name: "keyword.operator.dockerfile" }, 2: { name: "keyword.other.special-method.dockerfile" } }, match: "^\\s*(?i:(ONBUILD)\\s+)?(?i:(CMD|ENTRYPOINT))\\s" }, { begin: '"', beginCaptures: { 1: { name: "punctuation.definition.string.begin.dockerfile" } }, end: '"', endCaptures: { 1: { name: "punctuation.definition.string.end.dockerfile" } }, name: "string.quoted.double.dockerfile", patterns: [{ match: "\\\\.", name: "constant.character.escaped.dockerfile" }] }, { begin: "'", beginCaptures: { 1: { name: "punctuation.definition.string.begin.dockerfile" } }, end: "'", endCaptures: { 1: { name: "punctuation.definition.string.end.dockerfile" } }, name: "string.quoted.single.dockerfile", patterns: [{ match: "\\\\.", name: "constant.character.escaped.dockerfile" }] }, { captures: { 1: { name: "punctuation.whitespace.comment.leading.dockerfile" }, 2: { name: "comment.line.number-sign.dockerfile" }, 3: { name: "punctuation.definition.comment.dockerfile" } }, comment: "comment.line", match: "^(\\s*)((#).*$\\n?)" }], scopeName: "source.dockerfile", aliases: ["dockerfile"] });
|
|
2
|
-
var n = [
|
|
3
|
-
e
|
|
4
|
-
];
|
|
5
|
-
export {
|
|
6
|
-
n as default
|
|
7
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import e from "./diff-MXcoXEIJ-MXcoXEIJ.js";
|
|
2
|
-
const t = Object.freeze({ displayName: "Git Commit Message", name: "git-commit", patterns: [{ begin: "(?=^diff --git)", comment: "diff presented at the end of the commit message when using commit -v.", contentName: "source.diff", end: "\\z", name: "meta.embedded.diff.git-commit", patterns: [{ include: "source.diff" }] }, { begin: "^(?!#)", comment: "User supplied message", end: "^(?=#)", name: "meta.scope.message.git-commit", patterns: [{ captures: { 1: { name: "invalid.deprecated.line-too-long.git-commit" }, 2: { name: "invalid.illegal.line-too-long.git-commit" } }, comment: "Mark > 50 lines as deprecated, > 72 as illegal", match: "\\G.{0,50}(.{0,22}(.*))$", name: "meta.scope.subject.git-commit" }] }, { begin: "^(?=#)", comment: "Git supplied metadata in a number of lines starting with #", contentName: "comment.line.number-sign.git-commit", end: "^(?!#)", name: "meta.scope.metadata.git-commit", patterns: [{ captures: { 1: { name: "markup.changed.git-commit" } }, match: "^#\\t((modified|renamed):.*)$" }, { captures: { 1: { name: "markup.inserted.git-commit" } }, match: "^#\\t(new file:.*)$" }, { captures: { 1: { name: "markup.deleted.git-commit" } }, match: "^#\\t(deleted.*)$" }, { captures: { 1: { name: "keyword.other.file-type.git-commit" }, 2: { name: "string.unquoted.filename.git-commit" } }, comment: "Fallback for non-English git commit template", match: "^#\\t([^:]+): *(.*)$" }] }], scopeName: "text.git-commit", embeddedLangs: ["diff"] });
|
|
3
|
-
var i = [
|
|
4
|
-
...e,
|
|
5
|
-
t
|
|
6
|
-
];
|
|
7
|
-
export {
|
|
8
|
-
i as default
|
|
9
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import e from "./shellscript-D61Z39XV-D61Z39XV.js";
|
|
2
|
-
const a = Object.freeze({ displayName: "Git Rebase Message", name: "git-rebase", patterns: [{ captures: { 1: { name: "punctuation.definition.comment.git-rebase" } }, match: "^\\s*(#).*$\\n?", name: "comment.line.number-sign.git-rebase" }, { captures: { 1: { name: "support.function.git-rebase" }, 2: { name: "constant.sha.git-rebase" }, 3: { name: "meta.commit-message.git-rebase" } }, match: "^\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\s+([0-9a-f]+)\\s+(.*)$", name: "meta.commit-command.git-rebase" }, { captures: { 1: { name: "support.function.git-rebase" }, 2: { patterns: [{ include: "source.shell" }] } }, match: "^\\s*(exec|x)\\s+(.*)$", name: "meta.commit-command.git-rebase" }, { captures: { 1: { name: "support.function.git-rebase" } }, match: "^\\s*(break|b)\\s*$", name: "meta.commit-command.git-rebase" }], scopeName: "text.git-rebase", embeddedLangs: ["shellscript"] });
|
|
3
|
-
var s = [
|
|
4
|
-
...e,
|
|
5
|
-
a
|
|
6
|
-
];
|
|
7
|
-
export {
|
|
8
|
-
s as default
|
|
9
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const e = Object.freeze({ displayName: "Go", name: "go", patterns: [{ include: "#statements" }], repository: { after_control_variables: { captures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "(?:\\w+)", name: "variable.other.go" }] } }, comment: "After control variables, to not highlight as a struct/interface (before formatting with gofmt)", match: "(?:(?<=\\brange\\b|\\bswitch\\b|\\;|\\bif\\b|\\bfor\\b|<|>|<=|>=|==|!=|\\w(?:\\+|/|-|\\*|\\%)|\\w(?:\\+|/|-|\\*|\\%)=|\\|\\||\\&\\&)(?:\\s*)((?![\\[\\]]+)[0-9A-Za-z\\-_!\\.\\[\\]<>=\\*/+\\%:]+)(?:\\s*)(?=\\{))" }, brackets: { patterns: [{ begin: "\\{", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.curly.go" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "$self" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "$self" }] }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "$self" }] }] }, built_in_functions: { comment: "Built-in functions", patterns: [{ match: "\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\b(?=\\()", name: "entity.name.function.support.builtin.go" }, { begin: "(?:(\\bnew\\b)(\\())", beginCaptures: { 1: { name: "entity.name.function.support.builtin.go" }, 2: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "new keyword", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#functions" }, { include: "#struct_variables_types" }, { include: "#type-declarations" }, { include: "#generic_types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }, { include: "$self" }] }, { begin: "(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?:[\\[\\]\\*]+)?(?:(?!\\bmap\\b)(?:[\\w\\.]+))?(\\[(?:(?:[\\S]+)(?:(?:\\,\\s*(?:[\\S]+))*))?\\])?(?:\\,)?)?))", beginCaptures: { 1: { name: "entity.name.function.support.builtin.go" }, 2: { name: "punctuation.definition.begin.bracket.round.go" }, 3: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "make keyword", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "$self" }] }] }, comments: { patterns: [{ begin: "(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.go" } }, end: "(\\*\\/)", endCaptures: { 1: { name: "punctuation.definition.comment.go" } }, name: "comment.block.go" }, { begin: "(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.go" } }, end: "(?:\\n|$)", name: "comment.line.double-slash.go" }] }, delimiters: { patterns: [{ match: "\\,", name: "punctuation.other.comma.go" }, { match: "\\.(?!\\.\\.)", name: "punctuation.other.period.go" }, { match: ":(?!=)", name: "punctuation.other.colon.go" }] }, double_parentheses_types: { captures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "double parentheses types", match: "(?:(?<!\\w)(\\((?:[\\w\\.\\[\\]\\*\\&]+)\\))(?=\\())" }, field_hover: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.go" }] }, 2: { patterns: [{ match: "\\binvalid\\b\\s+\\btype\\b", name: "invalid.field.go" }, { include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "struct field property and types when hovering with the mouse", match: "(?:(?<=^\\bfield\\b)\\s+([\\w\\*\\.]+)\\s+([\\s\\S]+))" }, function_declaration: { begin: "(?:^(\\bfunc\\b)(?:\\s*(\\([^)]+\\)\\s*)?(?:(\\w+)(?=\\(|\\[))?))", beginCaptures: { 1: { name: "keyword.function.go" }, 2: { patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ captures: { 1: { name: "variable.parameter.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, match: "(?:(\\w+(?:\\s+))?((?:[\\w\\.\\*]+)(?:\\[(?:(?:(?:[\\w\\.\\*]+)(?:\\,\\s+)?)+)?\\])?))" }, { include: "$self" }] }] }, 3: { patterns: [{ match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "entity.name.function.go" }] } }, comment: "Function declarations", end: "(?:(?<=\\))\\s*((?:(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b))[\\w\\.\\-\\*\\[\\]]+)?\\s*(?=\\{))", endCaptures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }] }, { begin: "(?:([\\w\\.\\*]+)?(\\[))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#generic_param_types" }] }, { captures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "single function as a type returned type(s) declaration", match: "(?:(?<=\\))(?:\\s*)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?[\\w\\*\\.\\[\\]<>\\-]+(?:\\s*)(?:\\/(?:\\/|\\*).*)?)$)" }, { include: "$self" }] }, function_param_types: { comment: "function parameter variables and types", patterns: [{ include: "#struct_variables_types" }, { include: "#interface_variables_types" }, { include: "#type-declarations-without-brackets" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "struct/interface type declaration", match: "((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b\\s*\\{)" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "multiple parameters one type -with multilines", match: "(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)" }, { captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.parameter.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "multiple params and types | multiple params one type | one param one type", match: "(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.\\[\\]]+)|(?:\\((?:[^)]+)?\\))))?)|(?:(?:[\\[\\]\\*]+)?[\\w\\*\\.]+(?:\\[(?:[^\\]]+)\\])?(?:[\\w\\.\\*]+)?)+)))" }, { include: "#parameter-variable-types" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "other types", match: "([\\w\\.]+)" }, { include: "$self" }] }, functions: { begin: "(?:(\\bfunc\\b)(?=\\())", beginCaptures: { 1: { name: "keyword.function.go" } }, comment: "Functions", end: "(?:(?<=\\))(\\s*(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?((?:(?:\\s*(?:(?:[\\[\\]\\*]+)?[\\w\\.\\*]+)?(?:(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])|(?:\\((?:[^)]+)?\\)))?(?:[\\w\\.\\*]+)?)(?:\\s*)(?=\\{))|(?:\\s*(?:(?:(?:[\\[\\]\\*]+)?(?!\\bfunc\\b)(?:[\\w\\.\\*]+)(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])?(?:[\\w\\.\\*]+)?)|(?:\\((?:[^)]+)?\\)))))?)", endCaptures: { 1: { patterns: [{ include: "#type-declarations" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, patterns: [{ include: "#parameter-variable-types" }] }, functions_inline: { captures: { 1: { name: "keyword.function.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }, { include: "$self" }] }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "functions in-line with multi return types", match: "(?:(\\bfunc\\b)((?:\\((?:[^/]*?)\\))(?:\\s+)(?:\\((?:[^/]*?)\\)))(?:\\s+)(?=\\{))" }, generic_param_types: { comment: "generic parameter variables and types", patterns: [{ include: "#struct_variables_types" }, { include: "#interface_variables_types" }, { include: "#type-declarations-without-brackets" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "struct/interface type declaration", match: "((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b\\s*\\{)" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "multiple parameters one type -with multilines", match: "(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)" }, { captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.parameter.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 3: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "multiple params and types | multiple types one param", match: "(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.]+)|(?:\\((?:[^)]+)?\\))))?)|(?:(?:(?:[\\w\\*\\.\\~]+)|(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\]))(?:[\\w\\.\\*]+)?)+)))" }, { include: "#parameter-variable-types" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "other types", match: "(?:\\b([\\w\\.]+))" }, { include: "$self" }] }, generic_types: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 2: { patterns: [{ include: "#parameter-variable-types" }] } }, comment: "Generic support for all types", match: "(?:([\\w\\.\\*]+)(\\[(?:[^\\]]+)?\\]))" }, "group-functions": { comment: "all statements related to functions", patterns: [{ include: "#function_declaration" }, { include: "#functions_inline" }, { include: "#functions" }, { include: "#built_in_functions" }, { include: "#support_functions" }] }, "group-types": { comment: "all statements related to types", patterns: [{ include: "#other_struct_interface_expressions" }, { include: "#type_assertion_inline" }, { include: "#struct_variables_types" }, { include: "#interface_variables_types" }, { include: "#single_type" }, { include: "#multi_types" }, { include: "#struct_interface_declaration" }, { include: "#double_parentheses_types" }, { include: "#switch_types" }, { include: "#type-declarations" }] }, "group-variables": { comment: "all statements related to variables", patterns: [{ include: "#var_const_assignment" }, { include: "#variable_assignment" }, { include: "#label_loop_variables" }, { include: "#slice_index_variables" }, { include: "#property_variables" }, { include: "#switch_select_case_variables" }, { include: "#other_variables" }] }, import: { comment: "import", patterns: [{ begin: "\\b(import)\\s+", beginCaptures: { 1: { name: "keyword.control.import.go" } }, comment: "import", end: "(?!\\G)", patterns: [{ include: "#imports" }] }] }, imports: { comment: "import package(s)", patterns: [{ captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "(?:\\w+)", name: "variable.other.import.go" }] }, 2: { name: "string.quoted.double.go" }, 3: { name: "punctuation.definition.string.begin.go" }, 4: { name: "entity.name.import.go" }, 5: { name: "punctuation.definition.string.end.go" } }, match: '(\\s*[\\w\\.]+)?\\s*((")([^"]*)("))' }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.imports.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.imports.end.bracket.round.go" } }, patterns: [{ include: "#comments" }, { include: "#imports" }] }, { include: "$self" }] }, interface_variables_types: { begin: "(\\binterface\\b)\\s*(\\{)", beginCaptures: { 1: { name: "keyword.interface.go" }, 2: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "interface variable types", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#interface_variables_types_field" }, { include: "$self" }] }, interface_variables_types_field: { comment: "interface variable type fields", patterns: [{ include: "#support_functions" }, { include: "#type-declarations-without-brackets" }, { begin: "(?:([\\w\\.\\*]+)?(\\[))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#generic_param_types" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }] }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "other types", match: "([\\w\\.]+)" }] }, keywords: { patterns: [{ comment: "Flow control keywords", match: "\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b", name: "keyword.control.go" }, { match: "\\bchan\\b", name: "keyword.channel.go" }, { match: "\\bconst\\b", name: "keyword.const.go" }, { match: "\\bvar\\b", name: "keyword.var.go" }, { match: "\\bfunc\\b", name: "keyword.function.go" }, { match: "\\binterface\\b", name: "keyword.interface.go" }, { match: "\\bmap\\b", name: "keyword.map.go" }, { match: "\\bstruct\\b", name: "keyword.struct.go" }, { match: "\\bimport\\b", name: "keyword.control.import.go" }, { match: "\\btype\\b", name: "keyword.type.go" }] }, label_loop_variables: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.label.go" }] } }, comment: "labeled loop variable name", match: "((?:^\\s*\\w+:\\s*$)|(?:^\\s*(?:\\bbreak\\b|\\bgoto\\b|\\bcontinue\\b)\\s+\\w+(?:\\s*/(?:/|\\*)\\s*.*)?$))" }, language_constants: { captures: { 1: { name: "constant.language.boolean.go" }, 2: { name: "constant.language.null.go" }, 3: { name: "constant.language.iota.go" } }, comment: "Language constants", match: "\\b(?:(true|false)|(nil)|(iota))\\b" }, map_types: { begin: "(?:(\\bmap\\b)(\\[))", beginCaptures: { 1: { name: "keyword.map.go" }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, comment: "map types", end: "(?:(\\])((?:(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?\\b(?:func|struct|map)\\b)(?:[\\*\\[\\]]+)?(?:[\\w\\.]+)(?:\\[(?:(?:[\\w\\.\\*\\[\\]{}]+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]{}]+))*))?\\])?)?)", endCaptures: { 1: { name: "punctuation.definition.end.bracket.square.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { include: "#functions" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\w+", name: "entity.name.type.go" }] }, multi_types: { begin: "(\\btype\\b)\\s*(\\()", beginCaptures: { 1: { name: "keyword.type.go" }, 2: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "multi type declaration", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#struct_variables_types" }, { include: "#interface_variables_types" }, { include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, numeric_literals: { captures: { 0: { patterns: [{ begin: "(?=.)", end: "(?:\\n|$)", patterns: [{ captures: { 1: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 2: { name: "punctuation.separator.constant.numeric.go" }, 3: { name: "constant.numeric.decimal.point.go" }, 4: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 5: { name: "punctuation.separator.constant.numeric.go" }, 6: { name: "keyword.other.unit.exponent.decimal.go" }, 7: { name: "keyword.operator.plus.exponent.decimal.go" }, 8: { name: "keyword.operator.minus.exponent.decimal.go" }, 9: { name: "constant.numeric.exponent.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 10: { name: "keyword.other.unit.imaginary.go" }, 11: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 12: { name: "punctuation.separator.constant.numeric.go" }, 13: { name: "keyword.other.unit.exponent.decimal.go" }, 14: { name: "keyword.operator.plus.exponent.decimal.go" }, 15: { name: "keyword.operator.minus.exponent.decimal.go" }, 16: { name: "constant.numeric.exponent.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 17: { name: "keyword.other.unit.imaginary.go" }, 18: { name: "constant.numeric.decimal.point.go" }, 19: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 20: { name: "punctuation.separator.constant.numeric.go" }, 21: { name: "keyword.other.unit.exponent.decimal.go" }, 22: { name: "keyword.operator.plus.exponent.decimal.go" }, 23: { name: "keyword.operator.minus.exponent.decimal.go" }, 24: { name: "constant.numeric.exponent.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 25: { name: "keyword.other.unit.imaginary.go" }, 26: { name: "keyword.other.unit.hexadecimal.go" }, 27: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 28: { name: "punctuation.separator.constant.numeric.go" }, 29: { name: "constant.numeric.hexadecimal.go" }, 30: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 31: { name: "punctuation.separator.constant.numeric.go" }, 32: { name: "keyword.other.unit.exponent.hexadecimal.go" }, 33: { name: "keyword.operator.plus.exponent.hexadecimal.go" }, 34: { name: "keyword.operator.minus.exponent.hexadecimal.go" }, 35: { name: "constant.numeric.exponent.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 36: { name: "keyword.other.unit.imaginary.go" }, 37: { name: "keyword.other.unit.hexadecimal.go" }, 38: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 39: { name: "punctuation.separator.constant.numeric.go" }, 40: { name: "keyword.other.unit.exponent.hexadecimal.go" }, 41: { name: "keyword.operator.plus.exponent.hexadecimal.go" }, 42: { name: "keyword.operator.minus.exponent.hexadecimal.go" }, 43: { name: "constant.numeric.exponent.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 44: { name: "keyword.other.unit.imaginary.go" }, 45: { name: "keyword.other.unit.hexadecimal.go" }, 46: { name: "constant.numeric.hexadecimal.go" }, 47: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 48: { name: "punctuation.separator.constant.numeric.go" }, 49: { name: "keyword.other.unit.exponent.hexadecimal.go" }, 50: { name: "keyword.operator.plus.exponent.hexadecimal.go" }, 51: { name: "keyword.operator.minus.exponent.hexadecimal.go" }, 52: { name: "constant.numeric.exponent.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 53: { name: "keyword.other.unit.imaginary.go" } }, match: "(?:(?:(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([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])))*)))?(i(?!\\w))?(?:\\n|$)|\\G(?=[0-9.])(?!0[xXbBoO])([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])))*))(i(?!\\w))?(?:\\n|$))|\\G((?:(?<=[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])))*)))?(i(?!\\w))?(?:\\n|$))|(\\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])))*))(i(?!\\w))?(?:\\n|$))|(\\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])))*))(i(?!\\w))?(?:\\n|$))|(\\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])))*)(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))" }, { captures: { 1: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 2: { name: "punctuation.separator.constant.numeric.go" }, 3: { name: "keyword.other.unit.imaginary.go" }, 4: { name: "keyword.other.unit.binary.go" }, 5: { name: "constant.numeric.binary.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 6: { name: "punctuation.separator.constant.numeric.go" }, 7: { name: "keyword.other.unit.imaginary.go" }, 8: { name: "keyword.other.unit.octal.go" }, 9: { name: "constant.numeric.octal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 10: { name: "punctuation.separator.constant.numeric.go" }, 11: { name: "keyword.other.unit.imaginary.go" }, 12: { name: "keyword.other.unit.hexadecimal.go" }, 13: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 14: { name: "punctuation.separator.constant.numeric.go" }, 15: { name: "keyword.other.unit.imaginary.go" } }, match: "(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$)|(\\G0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))|(\\G0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))" }, { match: "(?:(?:[0-9a-zA-Z_\\.])|(?<=[eEpP])[+-])+", name: "invalid.illegal.constant.numeric.go" }] }] } }, match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.])|(?<=[eEpP])[+-])*" }, operators: { comment: "Note that the order here is very important!", patterns: [{ match: "((?:\\*|\\&)+)(?:(?!\\d)(?=(?:[\\w\\[\\]])|(?:<-)))", name: "keyword.operator.address.go" }, { match: "<-", name: "keyword.operator.channel.go" }, { match: "--", name: "keyword.operator.decrement.go" }, { match: "\\+\\+", name: "keyword.operator.increment.go" }, { match: "(==|!=|<=|>=|<(?!<)|>(?!>))", name: "keyword.operator.comparison.go" }, { match: "(&&|\\|\\||!)", name: "keyword.operator.logical.go" }, { match: "(=|\\+=|-=|\\|=|\\^=|\\*=|/=|:=|%=|<<=|>>=|&\\^=|&=)", name: "keyword.operator.assignment.go" }, { match: "(\\+|-|\\*|/|%)", name: "keyword.operator.arithmetic.go" }, { match: "(&(?!\\^)|\\||\\^|&\\^|<<|>>|\\~)", name: "keyword.operator.arithmetic.bitwise.go" }, { match: "\\.\\.\\.", name: "keyword.operator.ellipsis.go" }] }, other_struct_interface_expressions: { comment: "struct and interface expression in-line (before curly bracket)", patterns: [{ comment: "after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)", include: "#after_control_variables" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 2: { patterns: [{ begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }, { include: "$self" }] }] } }, match: "(\\b[\\w\\.]+)(\\[(?:[^\\]]+)?\\])?(?=\\{)(?<!\\bstruct\\b|\\binterface\\b)" }] }, other_variables: { comment: "all other variables", match: "\\w+", name: "variable.other.go" }, package_name: { patterns: [{ begin: "\\b(package)\\s+", beginCaptures: { 1: { name: "keyword.package.go" } }, comment: "package name", end: "(?!\\G)", patterns: [{ match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "entity.name.type.package.go" }] }] }, "parameter-variable-types": { comment: "function and generic parameter types", patterns: [{ match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { begin: "(?:([\\w\\.\\*]+)?(\\[))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#generic_param_types" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }] }] }, property_variables: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.go" }] } }, comment: "Property variables in struct", match: "((?:\\b[\\w\\.]+)(?::(?!=)))" }, raw_string_literals: { begin: "`", beginCaptures: { 0: { name: "punctuation.definition.string.begin.go" } }, comment: "Raw string literals", end: "`", endCaptures: { 0: { name: "punctuation.definition.string.end.go" } }, name: "string.quoted.raw.go", patterns: [{ include: "#string_placeholder" }] }, runes: { patterns: [{ begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.go" } }, end: "'", endCaptures: { 0: { name: "punctuation.definition.string.end.go" } }, name: "string.quoted.rune.go", patterns: [{ match: `\\G(\\\\([0-7]{3}|[abfnrtv\\\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})|.)(?=')`, name: "constant.other.rune.go" }, { match: "[^']+", name: "invalid.illegal.unknown-rune.go" }] }] }, single_type: { patterns: [{ captures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 3: { patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }, { include: "$self" }] }, { include: "#type-declarations" }, { include: "#generic_types" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "single type declaration", match: "(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?:\\s+)(?!(?:=\\s*)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b)([\\s\\S]+))" }, { begin: "(?:(?:^|\\s+)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?=\\[))", beginCaptures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "single type declaration with generics", end: "(?:(?<=\\])((?:\\s+)(?:(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b|\\bfunc\\b))[\\w\\.\\-\\*\\[\\]]+(?:\\,\\s+[\\w\\.\\[\\]\\*]+)*))?)", endCaptures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, patterns: [{ include: "#struct_variables_types" }, { include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\w+", name: "entity.name.type.go" }] }] }, slice_index_variables: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.go" }] } }, comment: "slice index and capacity variables, to not scope them as property variables", match: "(?<=\\w\\[)((?:(?:\\b[\\w\\.\\*+/\\-\\%<>\\|\\&]+:)|(?::\\b[\\w\\.\\*+/\\-\\%<>\\|\\&]+))(?:\\b[\\w\\.\\*+/\\-\\%<>\\|\\&]+)?(?::\\b[\\w\\.\\*+/\\-\\%<>\\|\\&]+)?)(?=\\])" }, statements: { patterns: [{ include: "#package_name" }, { include: "#import" }, { include: "#syntax_errors" }, { include: "#group-functions" }, { include: "#group-types" }, { include: "#group-variables" }, { include: "#field_hover" }] }, storage_types: { patterns: [{ match: "\\bbool\\b", name: "storage.type.boolean.go" }, { match: "\\bbyte\\b", name: "storage.type.byte.go" }, { match: "\\berror\\b", name: "storage.type.error.go" }, { match: "\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\b", name: "storage.type.numeric.go" }, { match: "\\brune\\b", name: "storage.type.rune.go" }, { match: "\\bstring\\b", name: "storage.type.string.go" }, { match: "\\buintptr\\b", name: "storage.type.uintptr.go" }, { match: "\\bany\\b", name: "entity.name.type.any.go" }] }, string_escaped_char: { patterns: [{ match: `\\\\([0-7]{3}|[abfnrtv\\\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})`, name: "constant.character.escape.go" }, { match: `\\\\[^0-7xuUabfnrtv\\'"]`, name: "invalid.illegal.unknown-escape.go" }] }, string_literals: { patterns: [{ begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.go" } }, comment: "Interpreted string literals", end: '"', endCaptures: { 0: { name: "punctuation.definition.string.end.go" } }, name: "string.quoted.double.go", patterns: [{ include: "#string_escaped_char" }, { include: "#string_placeholder" }] }] }, string_placeholder: { patterns: [{ match: "%(\\[\\d+\\])?([+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]", name: "constant.other.placeholder.go" }] }, struct_interface_declaration: { captures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "struct, interface type declarations (related to: struct_variables_types, interface_variables_types)", match: "(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.]+))" }, struct_variable_types_fields_multi: { comment: "struct variable and type fields with multi lines", patterns: [{ begin: "(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\bstruct\\b)(?:\\s*)(\\{))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.go" }] }, 2: { name: "keyword.struct.go" }, 3: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "struct in struct types", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#struct_variables_types_fields" }, { include: "$self" }] }, { begin: "(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\binterface\\b)(?:\\s*)(\\{))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.go" }] }, 2: { name: "keyword.interface.go" }, 3: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "interface in struct types", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#interface_variables_types_field" }, { include: "$self" }] }, { begin: "(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\bfunc\\b)(?:\\s*)(\\())", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.go" }] }, 2: { name: "keyword.function.go" }, 3: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "function in struct types", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }, { include: "$self" }] }, { include: "#parameter-variable-types" }] }, struct_variables_types: { begin: "(\\bstruct\\b)\\s*(\\{)", beginCaptures: { 1: { name: "keyword.struct.go" }, 2: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "Struct variable type", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#struct_variables_types_fields" }, { include: "$self" }] }, struct_variables_types_fields: { comment: "Struct variable type fields", patterns: [{ include: "#struct_variable_types_fields_multi" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "one line - single type", match: "(?:(?<=\\{)\\s*((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "one line - property variables and types", match: "(?:(?<=\\{)\\s*((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))" }, { captures: { 1: { patterns: [{ captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, match: "(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\S]+)(?:\\;)?))" }] } }, comment: "one line with semicolon(;) without formatting gofmt - single type | property variables and types", match: "(?:(?<=\\{)((?:\\s*(?:(?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?(?:(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:[\\S]+)(?:\\;)?))+)\\s*(?=\\}))" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "one type only", match: '(?:((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(?:[\\w\\.\\*]+)\\s*)(?:(?=\\`|\\/|")|$))' }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "property variables and types", match: '(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))([^\\`"\\/]+))' }] }, support_functions: { captures: { 1: { name: "entity.name.function.support.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "entity.name.function.support.go" }] }, 3: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "Support Functions", match: `(?:(?:((?<=\\.)\\b\\w+)|(\\b\\w+))(\\[(?:(?:[\\w\\.\\*\\[\\]{}"\\']+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]{}]+))*))?\\])?(?=\\())` }, switch_select_case_variables: { captures: { 1: { name: "keyword.control.go" }, 2: { patterns: [{ include: "#type-declarations" }, { include: "#support_functions" }, { include: "#variable_assignment" }, { match: "\\w+", name: "variable.other.go" }] } }, comment: "variables after case control keyword in switch/select expression, to not scope them as property variables", match: "(?:(?:^\\s*(\\bcase\\b))(?:\\s+)([\\s\\S]+(?::)\\s*(?:/(?:/|\\*).*)?)$)" }, switch_types: { begin: "(?<=\\bswitch\\b)(?:\\s*)(?:(\\w+\\s*:=)?\\s*([\\w\\.\\*()\\[\\]+/\\-\\%<>\\|\\&]+))(\\.\\(\\btype\\b\\)\\s*)(\\{)", beginCaptures: { 1: { patterns: [{ include: "#operators" }, { match: "\\w+", name: "variable.other.assignment.go" }] }, 2: { patterns: [{ include: "#support_functions" }, { include: "#type-declarations" }, { match: "\\w+", name: "variable.other.go" }] }, 3: { patterns: [{ include: "#delimiters" }, { include: "#brackets" }, { match: "\\btype\\b", name: "keyword.type.go" }] }, 4: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "switch type assertions, only highlights types after case keyword", end: "(?:\\})", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ captures: { 1: { name: "keyword.control.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 3: { name: "punctuation.other.colon.go" }, 4: { patterns: [{ include: "#comments" }] } }, comment: "types after case keyword with single line", match: "(?:^\\s*(\\bcase\\b))(?:\\s+)([\\w\\.\\,\\*=<>!\\s]+)(:)(\\s*/(?:/|\\*)\\s*.*)?$" }, { begin: "\\bcase\\b", beginCaptures: { 0: { name: "keyword.control.go" } }, comment: "types after case keyword with multi lines", end: ":", endCaptures: { 0: { name: "punctuation.other.colon.go" } }, patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, { include: "$self" }] }, syntax_errors: { patterns: [{ captures: { 1: { name: "invalid.illegal.slice.go" } }, comment: "Syntax error using slices", match: "\\[\\](\\s+)" }, { comment: "Syntax error numeric literals", match: "\\b0[0-7]*[89]\\d*\\b", name: "invalid.illegal.numeric.go" }] }, terminators: { comment: "Terminators", match: ";", name: "punctuation.terminator.go" }, "type-declarations": { comment: "includes all type declarations", patterns: [{ include: "#language_constants" }, { include: "#comments" }, { include: "#map_types" }, { include: "#brackets" }, { include: "#delimiters" }, { include: "#keywords" }, { include: "#operators" }, { include: "#runes" }, { include: "#storage_types" }, { include: "#raw_string_literals" }, { include: "#string_literals" }, { include: "#numeric_literals" }, { include: "#terminators" }] }, "type-declarations-without-brackets": { comment: "includes all type declarations without brackets (in some cases, brackets need to be captured manually)", patterns: [{ include: "#language_constants" }, { include: "#comments" }, { include: "#map_types" }, { include: "#delimiters" }, { include: "#keywords" }, { include: "#operators" }, { include: "#runes" }, { include: "#storage_types" }, { include: "#raw_string_literals" }, { include: "#string_literals" }, { include: "#numeric_literals" }, { include: "#terminators" }] }, type_assertion_inline: { captures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "struct/interface types in-line (type assertion) | switch type keyword", match: "(?:(?<=\\.\\()(?:(\\btype\\b)|((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?[\\w\\.\\[\\]\\*]+))(?=\\)))" }, var_const_assignment: { comment: "variable assignment with var and const keyword", patterns: [{ captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.other.assignment.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#generic_types" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "var and const with single type assignment", match: "(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:=)?)?)" }, { begin: "(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\())", beginCaptures: { 1: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "var and const with multi type assignment", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.other.assignment.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#generic_types" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, match: "(?:(?:^\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:=)?)?)" }, { include: "$self" }] }] }, variable_assignment: { comment: "variable assignment", patterns: [{ captures: { 0: { patterns: [{ include: "#delimiters" }, { match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "variable.other.assignment.go" }] } }, comment: "variable assignment with :=", match: "\\b\\w+(?:\\,\\s*\\w+)*(?=\\s*:=)" }, { captures: { 0: { patterns: [{ include: "#delimiters" }, { include: "#operators" }, { match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "variable.other.assignment.go" }] } }, comment: "variable assignment with =", match: "\\b[\\w\\.\\*]+(?:\\,\\s*[\\w\\.\\*]+)*(?=\\s*=(?!=))" }] } }, scopeName: "source.go" });
|
|
2
|
-
var t = [
|
|
3
|
-
e
|
|
4
|
-
];
|
|
5
|
-
export {
|
|
6
|
-
t as default
|
|
7
|
-
};
|