@kong-ui-public/documentation 0.7.82 → 0.7.84

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.
Files changed (151) hide show
  1. package/dist/_basePickBy-CMfPif8e-CmRJF0Pz.js +151 -0
  2. package/dist/_baseUniq-CXqhI00C-BfnSCqya.js +615 -0
  3. package/dist/arc-JIMrD458-iE0qPqUL.js +83 -0
  4. package/dist/architecture-I3QFYML2-Bgw7-fJd-BmHcSoDq.js +5 -0
  5. package/dist/{architectureDiagram-V6B76FHG-Pzw1d-oB-DHiQxfgq.js → architectureDiagram-AYX4OTIS-XPsSAXrN-CriQXfFm.js} +4 -4
  6. package/dist/{astro-Ct9uJo-c-nfJFy9of.js → astro-0iWgpDaK-DRsXAR7M.js} +8 -19
  7. package/dist/blockDiagram-XN6IQ5JY-IfzOVP1S-DoilgKcQ.js +2247 -0
  8. package/dist/{c-DKDB_XIB-DKDB_XIB.js → c-TKJGJdXV-TKJGJdXV.js} +1 -2
  9. package/dist/{c4Diagram-THADGKDP-DNjDxpJj-DCkatXpj.js → c4Diagram-GPMAACGM-RttNBnvg-DemUG3qf.js} +2 -2
  10. package/dist/{channel-DY4J7hMj-DhxgBwmi.js → channel-DEiqvYYf-DqQTZyIM.js} +1 -1
  11. package/dist/{chunk-OQCM5LHU-CBZLTHAO-Byg6DDHc.js → chunk-BAOP5US2-D_mPkUfX-Dlqx79Tr.js} +1 -1
  12. package/dist/chunk-CXDZ2C6O-B6QVQzrJ-CdVn1xaX.js +1301 -0
  13. package/dist/{chunk-DUMQOTYW-q2xRlZzC-WZX6gsgU.js → chunk-EICJXIV7-B3uVnKYK-BPFil4EM.js} +1 -1
  14. package/dist/{chunk-2JBRQKJ5-s3ZERvbz-DIvxz4Hk.js → chunk-JZAHL7AJ-B8L_7Xh_-C2ETRUtV.js} +21 -21
  15. package/dist/{chunk-2RYQ3QTB-CQJ_YWh0-CyGoJsYl.js → chunk-RGXPSUNZ-PjQy3A3Y-BiDEi6k5.js} +1 -1
  16. package/dist/{chunk-XVOYOM2C-Drq2fxR3-BZgyQieh.js → chunk-VCFP4HPQ-qZEjUbIz-7kfkUrsj.js} +1 -1
  17. package/dist/classDiagram-FEGYTUDG-Bu9qKgav-DF2ZcQyp.js +14 -0
  18. package/dist/classDiagram-v2-R65JCUOM-Bu9qKgav-DF2ZcQyp.js +14 -0
  19. package/dist/{clone-CSh3RmzO-BO_pW9dn.js → clone-elND5I63-U8WRvSPu.js} +1 -1
  20. package/dist/{csharp-hvsHIX1x-hvsHIX1x.js → csharp-DoJjzS5t-DoJjzS5t.js} +1 -2
  21. package/dist/{css-twoVIb3q-twoVIb3q.js → css-DHLSoXzW-DHLSoXzW.js} +1 -2
  22. package/dist/{csv-CyuxiNSX-CyuxiNSX.js → csv-DvCncUGQ-Tno401i9.js} +1 -2
  23. package/dist/dagre-SWNTG5WE-CcKMLYcK-tREOd3Fb.js +447 -0
  24. package/dist/{diagram-QS5GVLUX-BYCosWq0-DUyx0Lsp.js → diagram-NZMEDLQF-vjbbgzvH-BDFE_-Eo.js} +6 -6
  25. package/dist/{diff-BprZv9Bx-BprZv9Bx.js → diff-DKH6jKuv-DKH6jKuv.js} +1 -2
  26. package/dist/{docker-UByH5rch-UByH5rch.js → docker-M-OegAvW-M-OegAvW.js} +1 -2
  27. package/dist/documentation.es.js +1 -1
  28. package/dist/documentation.umd.js +401 -273
  29. package/dist/{erDiagram-62CBQV5Y-CCkmKSfL-DVupRLHH.js → erDiagram-WO52GFNT-N8TeMKSM-BojFH-Dn.js} +56 -56
  30. package/dist/flowDiagram-TSWR6T2D-DzECWIN--CnDMIIi-.js +1484 -0
  31. package/dist/{ganttDiagram-ASEIQ4P5-D1zrowZ9-BAnaAW4v.js → ganttDiagram-FAOCOTIY-DmxDGUpf-BGJLIQAo.js} +61 -61
  32. package/dist/{git-commit-BpBta0-H-D9ROUaA_.js → git-commit-giWKZ1Ct-l8XOl7Qs.js} +2 -3
  33. package/dist/{git-rebase-nCu0qkM8-BcHBAqRM.js → git-rebase-BeAKv_ae-YKn1ZA6h.js} +2 -3
  34. package/dist/gitGraph-YCYPL57B-BKlVjqGu-BRRTPERj.js +5 -0
  35. package/dist/{gitGraphDiagram-UL5UFKDR-Ck7pRU_R-Dy9Vc0iN.js → gitGraphDiagram-5C7YHVU6-CfJ_hQ2h-C2aLT5AH.js} +21 -21
  36. package/dist/{go-CVQIWj2N-CVQIWj2N.js → go-Bzd7qChY-Bzd7qChY.js} +1 -2
  37. package/dist/{graph-DTNue1bF-BLqDvS-5.js → graph-C5siWsaJ-djbzUgq8.js} +52 -55
  38. package/dist/{graphql-7X52cHqc-CLBzimQB.js → graphql-D7_Dk2ma-CKCeVmAl.js} +5 -6
  39. package/dist/{haml-28-Av65f-Dih0P9tR.js → haml-S3dmcfEW-DS9Qve_X.js} +5 -14
  40. package/dist/{handlebars-TFjvroEi-07H8_eE0.js → handlebars-DaIrqVg3-BICytU_W.js} +5 -6
  41. package/dist/{haskell-DJah2Vxp-DJah2Vxp.js → haskell-CmMIDOJ7-CmMIDOJ7.js} +1 -2
  42. package/dist/{html-B9SDyQ6N-D-ZKCIRM.js → html-Bx3A18fV-DIK1LUyO.js} +3 -4
  43. package/dist/{html-derivative-Dst04Arf-DrM5NWms.js → html-derivative-B8TLT7CN-DkAjK9Np.js} +2 -3
  44. package/dist/{http-nOIbjTbF-C51IpTrN.js → http-DiM0ILv2-7ivPChAf.js} +6 -7
  45. package/dist/{index-DOm338WG.js → index-BXFfc1qh.js} +17691 -15765
  46. package/dist/info-46DW6VJ7-QBUrqpM0-D7DXfBfh.js +5 -0
  47. package/dist/{infoDiagram-7APDZ6AT-BfwYrYzT-Dmsve8VX.js → infoDiagram-P5D6MX3V-CthsN8fk-ju-grajk.js} +2 -2
  48. package/dist/{ini-CgO4T9Us-CgO4T9Us.js → ini-BUcvsX-U-BUcvsX-U.js} +1 -2
  49. package/dist/{java-Bd9vXGhZ-Bd9vXGhZ.js → java-Dg4kxH6C-Dg4kxH6C.js} +1 -2
  50. package/dist/{javascript-CGvwHrzr-CGvwHrzr.js → javascript-CipAzIn1-CipAzIn1.js} +1 -2
  51. package/dist/{journeyDiagram-G5LC7W2K-CG7eqOA2-BR-Kjflm.js → journeyDiagram-UIGPPNLY-CB1xWSVF-CnOTIXjT.js} +3 -3
  52. package/dist/{json-B86kHl_g-B86kHl_g.js → json-_04EL6MS-_04EL6MS.js} +1 -2
  53. package/dist/{json5-GB6TimgH-GB6TimgH.js → json5-Dwmp5XFI-Dwmp5XFI.js} +1 -2
  54. package/dist/{jsonc-CP3QVoXc-CP3QVoXc.js → jsonc-LqD5auy0-LqD5auy0.js} +1 -2
  55. package/dist/{jsonl-C2ofTLY8-C2ofTLY8.js → jsonl-B4yVuYQH-B4yVuYQH.js} +1 -2
  56. package/dist/{jsx-ZpKf1TSy-ZpKf1TSy.js → jsx-Mg4WaD5k-Mg4WaD5k.js} +1 -2
  57. package/dist/kanban-definition-KMT3NSR2-B76JZ_Kx-BuaYPyou.js +718 -0
  58. package/dist/{kotlin-CAtfTEpr-CAtfTEpr.js → kotlin-B-KtFKnZ-B-KtFKnZ.js} +1 -2
  59. package/dist/latex-4X1wferq-jnM3V2Lk.js +11 -0
  60. package/dist/layout-mwnMvyc4-B2PmGvWD.js +1321 -0
  61. package/dist/{less-0UFuQRv0-0UFuQRv0.js → less-BBvTHIGe-BBvTHIGe.js} +1 -2
  62. package/dist/{linear-K1FWf0tW-rovEi7Ez.js → linear-XztDb0hj-RsuwoFLQ.js} +46 -46
  63. package/dist/{liquid-Uq0DwV7I-CRvdDbph.js → liquid-CY_eqGhE-8pvFZkT3.js} +6 -7
  64. package/dist/{lua-BEgWEgjO-DU5YUtUR.js → lua-BePGDS3E-DZBHNWZI.js} +2 -3
  65. package/dist/{make-BDMxblcP-BDMxblcP.js → make-zNwjDE2P-zNwjDE2P.js} +1 -2
  66. package/dist/{markdown-CzCkSBhS-CzCkSBhS.js → markdown-DAXqtk9a-DAXqtk9a.js} +1 -2
  67. package/dist/material-theme-lighter-BUBw43Yz-BUBw43Yz.js +4 -0
  68. package/dist/material-theme-palenight-C1RVm8K1-C1RVm8K1.js +4 -0
  69. package/dist/{mdc-BA3wmBe6-BAlBXF37.js → mdc-BAm7rFbW-CB-Ca4M0.js} +4 -5
  70. package/dist/{mdx-KaGu4TbO-KaGu4TbO.js → mdx-CSCKbb_f-CSCKbb_f.js} +1 -2
  71. package/dist/{mermaid-DZVJOJE0-DZVJOJE0.js → mermaid-nGb_yn9n-nGb_yn9n.js} +1 -2
  72. package/dist/{mermaid-parser.core-Cj_oowsS-VsEYt1Nc.js → mermaid-parser.core-C4mt_cFi-BuaZi6gx.js} +9 -9
  73. package/dist/{mindmap-definition-FCEC46F3-CAlFsP0h-CZf0v8Pe.js → mindmap-definition-R7LC4OIY-Cg3Nsctr-BcCPx65V.js} +1 -1
  74. package/dist/{nginx-zxRCFE-h-BypGKuox.js → nginx-QOAv2a_a-BWrsIdI1.js} +2 -3
  75. package/dist/{objective-c-D6w3apbj-D6w3apbj.js → objective-c-CEDFCaSx-CEDFCaSx.js} +1 -2
  76. package/dist/packet-W2GHVCYJ-BJGXYVlB-DlnQVVmK.js +5 -0
  77. package/dist/{pascal-DenYIYz2-DenYIYz2.js → pascal-l2bqd7Dz-l2bqd7Dz.js} +1 -2
  78. package/dist/{perl-D3yLJL---Dh53Z1Ch.js → perl-CB2Uc-Hf-ZBolre2-.js} +6 -7
  79. package/dist/{php-CotrzT_K-Bao4rTV9.js → php-B_-4RJ09-CJdubCs6.js} +7 -8
  80. package/dist/pie-BEWT4RHE-XO1bTOj2-DEYSeXSg.js +5 -0
  81. package/dist/{pieDiagram-OZX6XH5M-H8rUXph8-BISJ3i9V.js → pieDiagram-BLWKPB35-Bs5Iyn_g-CnOiPji_.js} +27 -27
  82. package/dist/{plsql-DH6aemMc-DH6aemMc.js → plsql-oVq_K_wH-oVq_K_wH.js} +1 -2
  83. package/dist/{postcss-Cf6moWPa-Cf6moWPa.js → postcss-SJfTvo_B-SJfTvo_B.js} +1 -2
  84. package/dist/{powershell-HbR4eE6x-HbR4eE6x.js → powershell-BEOw57rb-BEOw57rb.js} +1 -2
  85. package/dist/{proto-FnD6HNAf-FnD6HNAf.js → proto-BWZ41ClP-BWZ41ClP.js} +1 -2
  86. package/dist/{pug-BQlVJUDw-CHRWHsZp.js → pug-3q2tx0nf-DGKx19t7.js} +6 -15
  87. package/dist/{python-DmuMvCM0-DmuMvCM0.js → python-Dpup1-fE-Dpup1-fE.js} +1 -2
  88. package/dist/{quadrantDiagram-VG34DGKC-BEwF7VGA-DIV2JaGU.js → quadrantDiagram-QXWEEFXS-n8j7IqmF-CloVXY0U.js} +16 -16
  89. package/dist/{r-Bc6kwNk5-Bc6kwNk5.js → r-Chyv38Fv-Chyv38Fv.js} +1 -2
  90. package/dist/{reg-D7nGELoM-D7nGELoM.js → reg-CD53Yasp-CD53Yasp.js} +1 -2
  91. package/dist/{requirementDiagram-FPZB6IJI-kQtxPQXX-CmRUwQe6.js → requirementDiagram-XAUNFCZY-DI_Pyl2h-D8hqXle2.js} +20 -20
  92. package/dist/rst-Euaf_RMd-B96mCjUw.js +40 -0
  93. package/dist/{ruby-DeHccIAO-BcoQ2TvH.js → ruby-CsHI6ozR-BrDG5TRv.js} +9 -10
  94. package/dist/{rust-DUjrmsiV-DUjrmsiV.js → rust-C6uk_0pe-C6uk_0pe.js} +1 -2
  95. package/dist/{sankeyDiagram-KMMQDL5K-i1hmlnC3-C4FQplTB.js → sankeyDiagram-LVV36NHA-Bei7yBJl-DvbyWSci.js} +1 -1
  96. package/dist/sass-p2RMoqDT-p2RMoqDT.js +6 -0
  97. package/dist/{scss-CnxrcEK_-CATc0Lba.js → scss-DmlHSoOY-y80_J0a4.js} +2 -3
  98. package/dist/{sequenceDiagram-PQT5PN7B-CnJbbAPa-BB0ILzU7.js → sequenceDiagram-D25TJ2OB-NAPdhBbI-DQR1b0UZ.js} +21 -21
  99. package/dist/{shellscript-CLi_Jlup-CLi_Jlup.js → shellscript-CZpPN8_x-CZpPN8_x.js} +1 -2
  100. package/dist/{shellsession-BgOGDEE0-D_whUPK9.js → shellsession-B-Ndr_EN-JFzqxELg.js} +3 -4
  101. package/dist/{splunk-ZWH3T4YR-ZWH3T4YR.js → splunk-D2FIaQ3k-D2FIaQ3k.js} +1 -2
  102. package/dist/{sql-CqEjJWk_-CqEjJWk_.js → sql-DtlkUz2m-DtlkUz2m.js} +1 -2
  103. package/dist/{ssh-config-cxjN15Iq-cxjN15Iq.js → ssh-config-D5GRD_Np-D5GRD_Np.js} +1 -2
  104. package/dist/{stateDiagram-TQSDS2D4-C4igPbE8-D-CdRaHA.js → stateDiagram-GNSP7T6Y-Dzq9j0YG-BgVCaCOx.js} +14 -15
  105. package/dist/{stateDiagram-v2-J5TZWJW5-DAq6KSAM-O6I-IpUw.js → stateDiagram-v2-HP6YRVRG-Jl4ubGlG-BeMvcZLQ.js} +2 -3
  106. package/dist/{stylus-BqSAqkqK-BqSAqkqK.js → stylus-DEr8eSLm-DEr8eSLm.js} +1 -2
  107. package/dist/{svelte-Yn79bR_P-TdNy3USA.js → svelte-BRIJF62h-BI1AT0iL.js} +7 -22
  108. package/dist/{swift-Cii5mold-Cii5mold.js → swift-B9svdVyc-B9svdVyc.js} +1 -2
  109. package/dist/{timeline-definition-KYQAIZUX-DQEkDwlz-BcdRcAgF.js → timeline-definition-27KQCCZ3-Dyj-cUhB-cBpLcB_z.js} +91 -91
  110. package/dist/{toml-BrnHWKvZ-BrnHWKvZ.js → toml-C3Ja0Ta7-C3Ja0Ta7.js} +1 -2
  111. package/dist/{tsx-RDJgLpEg-RDJgLpEg.js → tsx-DTfbgJxi-DTfbgJxi.js} +1 -2
  112. package/dist/{twig-CyzrzZ6V-CLfeQShi.js → twig-DkDTNtrS-jo7aVWBG.js} +7 -8
  113. package/dist/{typescript-BRQxorCF-BRQxorCF.js → typescript-CCd4aQHh-CCd4aQHh.js} +1 -2
  114. package/dist/{v-CBsEUX4x-CBsEUX4x.js → v-DectkoIj-DectkoIj.js} +1 -2
  115. package/dist/{vb-BCQhaxZY-BCQhaxZY.js → vb-3pua_tRu-3pua_tRu.js} +1 -2
  116. package/dist/{viml-DUDcfQ_j-DUDcfQ_j.js → viml-CJHUchaf-CJHUchaf.js} +1 -2
  117. package/dist/vue-CY-KyffX-BnjPeHxm.js +31 -0
  118. package/dist/{vue-html-DkB4x9kz-BBbMk49e.js → vue-html-C0fH2sQy-Da7Je-I4.js} +3 -4
  119. package/dist/{wasm-KuMlursr-KuMlursr.js → wasm-VDIDph3E-VDIDph3E.js} +1 -2
  120. package/dist/{wgsl-CXztftdQ-CXztftdQ.js → wgsl-2np_U3Z8-2np_U3Z8.js} +1 -2
  121. package/dist/{xml-D46nbCSr-BYMRGyuH.js → xml-CNyphW9R-DycLHq-n.js} +2 -3
  122. package/dist/{xsl--U1R63rG-D8P_gDHK.js → xsl-C2K1QB6X-B3b1KJxQ.js} +2 -3
  123. package/dist/{xychartDiagram-LESROZAQ-tgQhgg2Q-CUZY_ot8.js → xychartDiagram-MYLB5AYS-Bc_nZcHL-YLCG5NJT.js} +2 -2
  124. package/dist/{yaml-BEQ1JqWb-BEQ1JqWb.js → yaml-DxFiVFcM-DxFiVFcM.js} +1 -2
  125. package/package.json +6 -6
  126. package/dist/_basePickBy-CU0TiV13-B2lcN6Xi.js +0 -143
  127. package/dist/_baseUniq-BAMfE4xp-BAs-gBgZ.js +0 -622
  128. package/dist/arc-Cof8I1nv-BEpAvsYw.js +0 -83
  129. package/dist/architecture-I3QFYML2-CRA_auFu-BOYIKY2S.js +0 -5
  130. package/dist/blockDiagram-EN3ZKWFM-CYnZx-IR-Bl0aimgG.js +0 -1232
  131. package/dist/chunk-BAVOGKFW-B_i9W0mu-aXYqnut5.js +0 -1092
  132. package/dist/chunk-UGV5ZQQN-lwe0VAyX-BkOr8rah.js +0 -254
  133. package/dist/chunk-YWFND7JV-r0DobNSv-Qk_ESE3G.js +0 -786
  134. package/dist/classDiagram-4BHYIK4I-qYBSssh--DFvW-YgH.js +0 -214
  135. package/dist/classDiagram-v2-FI7KE7WJ-BIgDAZfE-NPVjR0Sp.js +0 -545
  136. package/dist/coffee-CiEmwUV9-D5Oe8742.js +0 -9
  137. package/dist/cpp-BphENtVr-DqhLnmUg.js +0 -29
  138. package/dist/dagre-P3YPLUS5-Bfaw7Bo9-DPdf44wL.js +0 -421
  139. package/dist/flowDiagram-JSIZSE4D-CEhJC-5_-DHjVPCad.js +0 -1380
  140. package/dist/gitGraph-YCYPL57B-DfH87xvl-DsibXYdp.js +0 -5
  141. package/dist/info-46DW6VJ7-DuNWYdzn-PVj3kKJm.js +0 -5
  142. package/dist/json-aDA71_xz-DxdQPLBu.js +0 -31
  143. package/dist/latex-14aRsJKm-mj9Fild6.js +0 -62
  144. package/dist/layout-BrqICqM--CUdWjnyz.js +0 -1381
  145. package/dist/material-theme-lighter-CnKSyNS5-CnKSyNS5.js +0 -4
  146. package/dist/material-theme-palenight-BaYUoLXq-BaYUoLXq.js +0 -4
  147. package/dist/packet-W2GHVCYJ-DL_sFpED-q6WAtxyK.js +0 -5
  148. package/dist/pie-BEWT4RHE-DM_nCoZ3-D0wjXv38.js +0 -5
  149. package/dist/rst-CaIq10fc-5Y1LeNh2.js +0 -26
  150. package/dist/sass-CLufkToV-CLufkToV.js +0 -7
  151. package/dist/vue-DNFIPpe6-BpXPyld-.js +0 -68
@@ -1,5 +1,4 @@
1
- const e = Object.freeze(JSON.parse(`{"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]))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=\\\\d)|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([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]))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[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":"\\\\d+"},{"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":"\\\\@?[_A-Za-z][_0-9A-Za-z]*","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 = [
1
+ const e = Object.freeze(JSON.parse(`{"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]))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=\\\\d)|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([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]))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[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":"\\\\d+"},{"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":"\\\\@?[_A-Za-z][_0-9A-Za-z]*","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"]}`)), n = [
3
2
  e
4
3
  ];
5
4
  export {