@nuxtjs/sitemap 5.0.5 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/dist/client/200.html +229 -7
  2. package/dist/client/404.html +229 -7
  3. package/dist/client/_nuxt/{Icon.obKARbAK.js → Icon.CJijHraB.js} +1 -1
  4. package/dist/client/_nuxt/Icon.CZ-mU5xu.css +1 -0
  5. package/dist/client/_nuxt/IconCSS.0L6jGelj.css +1 -0
  6. package/dist/client/_nuxt/IconCSS.DNkWQg_x.js +1 -0
  7. package/dist/client/_nuxt/abap.DXFkqnOI.js +816 -0
  8. package/dist/client/_nuxt/actionscript-3.D6NljDpC.js +1 -0
  9. package/dist/client/_nuxt/ada.CowR2XfX.js +1 -0
  10. package/dist/client/_nuxt/andromeeda.Bv7o_0DK.js +1 -0
  11. package/dist/client/_nuxt/angular-html.833w9gUK.js +16 -0
  12. package/dist/client/_nuxt/angular-ts.BCBvF5Sf.js +666 -0
  13. package/dist/client/_nuxt/apache.rS0jd3Ly.js +1 -0
  14. package/dist/client/_nuxt/apex.Sfo2eW0G.js +274 -0
  15. package/dist/client/_nuxt/apl.7kPAH7yp.js +87 -0
  16. package/dist/client/_nuxt/applescript.B4yE-MfL.js +38 -0
  17. package/dist/client/_nuxt/ara.CG4fK2Nq.js +21 -0
  18. package/dist/client/_nuxt/asm.PWN5J14X.js +1 -0
  19. package/dist/client/_nuxt/astro.B72C2l14.js +1 -0
  20. package/dist/client/_nuxt/aurora-x.BaWyeHV_.js +1 -0
  21. package/dist/client/_nuxt/awk.i0IPvypD.js +1 -0
  22. package/dist/client/_nuxt/ayu-dark.Bn5gmY5k.js +1 -0
  23. package/dist/client/_nuxt/ballerina.T9ysyp6P.js +62 -0
  24. package/dist/client/_nuxt/bat.BPiaQZfK.js +1 -0
  25. package/dist/client/_nuxt/beancount.Urb1RsFe.js +1 -0
  26. package/dist/client/_nuxt/berry.CxrokwfH.js +1 -0
  27. package/dist/client/_nuxt/bibtex.BaedD2tq.js +1 -0
  28. package/dist/client/_nuxt/bicep.BnL-ovff.js +1 -0
  29. package/dist/client/_nuxt/blade.Ge7MpD7w.js +831 -0
  30. package/dist/client/_nuxt/builds/latest.json +1 -1
  31. package/dist/client/_nuxt/builds/meta/6b1976c1-8a6c-4f10-942a-e279cef74111.json +1 -0
  32. package/dist/client/_nuxt/c.RCJZWN-0.js +81 -0
  33. package/dist/client/_nuxt/cadence.Bgpqy2XC.js +1 -0
  34. package/dist/client/_nuxt/catppuccin-frappe.CSSpeNoc.js +1 -0
  35. package/dist/client/_nuxt/catppuccin-latte.BKmRr8wc.js +1 -0
  36. package/dist/client/_nuxt/catppuccin-macchiato.3Hompcvk.js +1 -0
  37. package/dist/client/_nuxt/catppuccin-mocha.Bxe0CTgP.js +1 -0
  38. package/dist/client/_nuxt/clarity.CIekO_uJ.js +1 -0
  39. package/dist/client/_nuxt/clojure.BF6G6X0H.js +1 -0
  40. package/dist/client/_nuxt/cmake.DXZpi2gR.js +1 -0
  41. package/dist/client/_nuxt/cobol.V9VEyzKl.js +1 -0
  42. package/dist/client/_nuxt/codeql.BOpLLL-w.js +1 -0
  43. package/dist/client/_nuxt/coffee.t_LrLW_f.js +100 -0
  44. package/dist/client/_nuxt/cpp.BnO_O5bK.js +186 -0
  45. package/dist/client/_nuxt/crystal.kQaLR197.js +25 -0
  46. package/dist/client/_nuxt/csharp.DISxKEhY.js +756 -0
  47. package/dist/client/_nuxt/css.CbYhyuC0.js +505 -0
  48. package/dist/client/_nuxt/csv.B2DkETJQ.js +1 -0
  49. package/dist/client/_nuxt/cue.C6Aznpr-.js +1 -0
  50. package/dist/client/_nuxt/cypher.ByMv4Xf1.js +1 -0
  51. package/dist/client/_nuxt/d.PifQWv0n.js +1 -0
  52. package/dist/client/_nuxt/dark-plus.KEYLhlmT.js +1 -0
  53. package/dist/client/_nuxt/dart.BmadmVm4.js +1 -0
  54. package/dist/client/_nuxt/dax.DsfXcHUZ.js +29 -0
  55. package/dist/client/_nuxt/diff.DvyTQcux.js +1 -0
  56. package/dist/client/_nuxt/docker.DNR26wTC.js +1 -0
  57. package/dist/client/_nuxt/dracula-soft.9B1nZgL-.js +1 -0
  58. package/dist/client/_nuxt/dracula.DGO8GyiP.js +1 -0
  59. package/dist/client/_nuxt/dream-maker.Eh5U-gDp.js +52 -0
  60. package/dist/client/_nuxt/elixir.CpdO1lki.js +17 -0
  61. package/dist/client/_nuxt/elm.DbZvrHdh.js +1 -0
  62. package/dist/client/_nuxt/entry.CzuJE6I5.js +36 -0
  63. package/dist/client/_nuxt/{entry.r4zdzGRl.css → entry.D9NoP4O5.css} +1 -1
  64. package/dist/client/_nuxt/erb.PjiSmVwo.js +1 -0
  65. package/dist/client/_nuxt/erlang.C3YqBJkQ.js +1 -0
  66. package/dist/client/_nuxt/{error-404.NZm-ZIEG.js → error-404.CknrUDcG.js} +1 -1
  67. package/dist/client/_nuxt/{error-500.auQArJoN.js → error-500.hiYBJjIV.js} +1 -1
  68. package/dist/client/_nuxt/fish.DfeQjIbs.js +5 -0
  69. package/dist/client/_nuxt/fortran-fixed-form.Cx0tWteX.js +1 -0
  70. package/dist/client/_nuxt/fortran-free-form.D6pmzCqS.js +1 -0
  71. package/dist/client/_nuxt/fsharp.DPkxF5yZ.js +1 -0
  72. package/dist/client/_nuxt/gdresource.Dyo1-XBj.js +1 -0
  73. package/dist/client/_nuxt/gdscript.CoEqzGFw.js +44 -0
  74. package/dist/client/_nuxt/gdshader.B_SUYfiV.js +1 -0
  75. package/dist/client/_nuxt/gherkin.DjTlIhuc.js +1 -0
  76. package/dist/client/_nuxt/git-commit.aPmGthaS.js +1 -0
  77. package/dist/client/_nuxt/git-rebase.Cl-c85-0.js +1 -0
  78. package/dist/client/_nuxt/github-dark-dimmed.CRDKj6ck.js +1 -0
  79. package/dist/client/_nuxt/github-dark.CzPA46E-.js +1 -0
  80. package/dist/client/_nuxt/github-light.CRlnGVMD.js +1 -0
  81. package/dist/client/_nuxt/glimmer-js.C8_h80UD.js +13 -0
  82. package/dist/client/_nuxt/glimmer-ts.jzigfKdB.js +13 -0
  83. package/dist/client/_nuxt/glsl.-GlVTnW0.js +1 -0
  84. package/dist/client/_nuxt/gnuplot.nclm9rTJ.js +266 -0
  85. package/dist/client/_nuxt/go.XCGcAo4I.js +1 -0
  86. package/dist/client/_nuxt/graphql.C4V4xKFR.js +4 -0
  87. package/dist/client/_nuxt/groovy.wChcbJ1V.js +37 -0
  88. package/dist/client/_nuxt/hack.B30vrIHT.js +86 -0
  89. package/dist/client/_nuxt/haml.CAKsSe2e.js +1 -0
  90. package/dist/client/_nuxt/handlebars.W0zz18bm.js +1 -0
  91. package/dist/client/_nuxt/haskell.DAGYewaG.js +559 -0
  92. package/dist/client/_nuxt/hcl.qyqQxnfZ.js +1 -0
  93. package/dist/client/_nuxt/hjson.DZqG9GXz.js +50 -0
  94. package/dist/client/_nuxt/hlsl.DmDrTTlz.js +1 -0
  95. package/dist/client/_nuxt/html-derivative.fiapQfxX.js +1 -0
  96. package/dist/client/_nuxt/html.CuK0VrWf.js +74 -0
  97. package/dist/client/_nuxt/http.BZ0kU-IF.js +1 -0
  98. package/dist/client/_nuxt/imba.DxX1Vuw3.js +223 -0
  99. package/dist/client/_nuxt/index.DKzsDYrr.js +1 -0
  100. package/dist/client/_nuxt/ini.DeVv6D4_.js +1 -0
  101. package/dist/client/_nuxt/java.ClXEvkw9.js +68 -0
  102. package/dist/client/_nuxt/javascript.Dch3xQiY.js +699 -0
  103. package/dist/client/_nuxt/jinja.DWD-OL5F.js +1 -0
  104. package/dist/client/_nuxt/jison.CHwQvgii.js +1 -0
  105. package/dist/client/_nuxt/json.CupVZNk8.js +25 -0
  106. package/dist/client/_nuxt/json5.Bh8mriwU.js +17 -0
  107. package/dist/client/_nuxt/jsonc.DYI1rfmx.js +25 -0
  108. package/dist/client/_nuxt/jsonl.BUpeXbsf.js +25 -0
  109. package/dist/client/_nuxt/jsonnet.C9d3aiqh.js +1 -0
  110. package/dist/client/_nuxt/jssm.Dble9ECP.js +1 -0
  111. package/dist/client/_nuxt/jsx.CsyrCbsw.js +699 -0
  112. package/dist/client/_nuxt/julia.CO0c-z84.js +9 -0
  113. package/dist/client/_nuxt/kotlin.BIxS-Weu.js +1 -0
  114. package/dist/client/_nuxt/kusto.DIr-ordK.js +1 -0
  115. package/dist/client/_nuxt/latex.DZUj4xYJ.js +3 -0
  116. package/dist/client/_nuxt/less.DywwDckn.js +159 -0
  117. package/dist/client/_nuxt/light-plus.BsvsQ1iS.js +1 -0
  118. package/dist/client/_nuxt/liquid.Cp8214eI.js +14 -0
  119. package/dist/client/_nuxt/lisp.D4LhxNOI.js +1 -0
  120. package/dist/client/_nuxt/logo.DdacRhvC.js +1 -0
  121. package/dist/client/_nuxt/lua.0ontURQf.js +1 -0
  122. package/dist/client/_nuxt/make.B9S9BZZh.js +1 -0
  123. package/dist/client/_nuxt/markdown.CRQpHayV.js +129 -0
  124. package/dist/client/_nuxt/marko.Dg8Ifwb-.js +8 -0
  125. package/dist/client/_nuxt/material-theme-darker.BrGg7AAd.js +1 -0
  126. package/dist/client/_nuxt/material-theme-lighter.DDRuGeQH.js +1 -0
  127. package/dist/client/_nuxt/material-theme-ocean.CBL0qBdF.js +1 -0
  128. package/dist/client/_nuxt/material-theme-palenight.D7gg1Usp.js +1 -0
  129. package/dist/client/_nuxt/material-theme.B2BuIiKK.js +1 -0
  130. package/dist/client/_nuxt/matlab.Btshr8M_.js +70 -0
  131. package/dist/client/_nuxt/mdc.CdZ-F1IA.js +76 -0
  132. package/dist/client/_nuxt/mdx.CBPJd_fO.js +1 -0
  133. package/dist/client/_nuxt/mermaid.BSyl5yf0.js +1 -0
  134. package/dist/client/_nuxt/min-dark.iSbrOpM4.js +1 -0
  135. package/dist/client/_nuxt/min-light.BITGhEdf.js +1 -0
  136. package/dist/client/_nuxt/mojo.Cr5EkBff.js +519 -0
  137. package/dist/client/_nuxt/monokai.sMI-pExk.js +1 -0
  138. package/dist/client/_nuxt/move.Dl0g34Y3.js +1 -0
  139. package/dist/client/_nuxt/narrat.B9CT-1u6.js +7 -0
  140. package/dist/client/_nuxt/nextflow.DBxHOdLe.js +1 -0
  141. package/dist/client/_nuxt/nginx.DGQ8U8YC.js +1 -0
  142. package/dist/client/_nuxt/night-owl.BeocmOPF.js +1 -0
  143. package/dist/client/_nuxt/nim.By3iP3OP.js +1 -0
  144. package/dist/client/_nuxt/nix.Dszwcx0o.js +1 -0
  145. package/dist/client/_nuxt/nord.CsyjKwr8.js +1 -0
  146. package/dist/client/_nuxt/nushell.C56EW6Ky.js +1 -0
  147. package/dist/client/_nuxt/objective-c.DHmGyzbM.js +109 -0
  148. package/dist/client/_nuxt/objective-cpp.BWKJ1FCf.js +239 -0
  149. package/dist/client/_nuxt/ocaml.RqY_Nz63.js +1 -0
  150. package/dist/client/_nuxt/one-dark-pro.BC6PHXLE.js +1 -0
  151. package/dist/client/_nuxt/onig.BbrMXqi_.js +1 -0
  152. package/dist/client/_nuxt/pascal.Bz4xi2rU.js +1 -0
  153. package/dist/client/_nuxt/perl.Czv4QcIx.js +1 -0
  154. package/dist/client/_nuxt/php.DEqKwr-6.js +771 -0
  155. package/dist/client/_nuxt/plsql.BbJj1K1w.js +1 -0
  156. package/dist/client/_nuxt/poimandres.Cda-MJFk.js +1 -0
  157. package/dist/client/_nuxt/postcss.DXT9h7v2.js +1 -0
  158. package/dist/client/_nuxt/powerquery.CApMHEaB.js +1 -0
  159. package/dist/client/_nuxt/powershell.9ZOzOPqN.js +1 -0
  160. package/dist/client/_nuxt/prisma.BBJYjQ0k.js +1 -0
  161. package/dist/client/_nuxt/prolog.BH_RS3WO.js +1 -0
  162. package/dist/client/_nuxt/proto.DOtRmeXT.js +1 -0
  163. package/dist/client/_nuxt/pug.BWq4yR4F.js +1 -0
  164. package/dist/client/_nuxt/puppet.37ic6j3l.js +1 -0
  165. package/dist/client/_nuxt/purescript.CfPQhs6g.js +7 -0
  166. package/dist/client/_nuxt/python.DwuVtWc2.js +518 -0
  167. package/dist/client/_nuxt/r.BXfENWL6.js +1 -0
  168. package/dist/client/_nuxt/raku.D384ylkT.js +1 -0
  169. package/dist/client/_nuxt/razor.Cstpb-uc.js +40 -0
  170. package/dist/client/_nuxt/red.jaXbsbtS.js +1 -0
  171. package/dist/client/_nuxt/reg.CrhH3_Og.js +1 -0
  172. package/dist/client/_nuxt/rel.6Kuza3Wr.js +1 -0
  173. package/dist/client/_nuxt/riscv.AgnqFTPX.js +13 -0
  174. package/dist/client/_nuxt/rose-pine-dawn.Bj5xdiaE.js +1 -0
  175. package/dist/client/_nuxt/rose-pine-moon.CdedUr_-.js +1 -0
  176. package/dist/client/_nuxt/rose-pine.CX_FIdg1.js +1 -0
  177. package/dist/client/_nuxt/rst.CXc8L5wR.js +1 -0
  178. package/dist/client/_nuxt/ruby.D5H8ZR7S.js +80 -0
  179. package/dist/client/_nuxt/rust.j8KhMG0x.js +1 -0
  180. package/dist/client/_nuxt/sas.2Dj3KWk-.js +1 -0
  181. package/dist/client/_nuxt/sass.CMDmr8et.js +2 -0
  182. package/dist/client/_nuxt/scala.vMsNTMhM.js +5 -0
  183. package/dist/client/_nuxt/scheme.1Je9_Reo.js +136 -0
  184. package/dist/client/_nuxt/scss.Dr-_CcBd.js +90 -0
  185. package/dist/client/_nuxt/shaderlab.D_C8j_yu.js +1 -0
  186. package/dist/client/_nuxt/shellscript.BVYSsK7b.js +1 -0
  187. package/dist/client/_nuxt/shellsession.BgTI27pK.js +1 -0
  188. package/dist/client/_nuxt/slack-dark.C7oZ9nno.js +1 -0
  189. package/dist/client/_nuxt/slack-ochin.hXH8Gyq8.js +1 -0
  190. package/dist/client/_nuxt/smalltalk.DSsji4Hu.js +1 -0
  191. package/dist/client/_nuxt/solarized-dark.C86elO-m.js +1 -0
  192. package/dist/client/_nuxt/solarized-light.xPNGhBYe.js +1 -0
  193. package/dist/client/_nuxt/solidity.CThH5sBG.js +1 -0
  194. package/dist/client/_nuxt/sparql.DJ46LgWq.js +1 -0
  195. package/dist/client/_nuxt/splunk.6XBPEST2.js +1 -0
  196. package/dist/client/_nuxt/sql.DbK06e1c.js +21 -0
  197. package/dist/client/_nuxt/ssh-config.BH1M7C1g.js +1 -0
  198. package/dist/client/_nuxt/stata.DCIeX9IZ.js +3 -0
  199. package/dist/client/_nuxt/stylus.DSrLtGYv.js +15 -0
  200. package/dist/client/_nuxt/svelte.DPVrELNy.js +1 -0
  201. package/dist/client/_nuxt/swift.Dez-Qvcc.js +544 -0
  202. package/dist/client/_nuxt/synthwave-84.BBDuFDsq.js +1 -0
  203. package/dist/client/_nuxt/system-verilog.DzPyIVdT.js +9 -0
  204. package/dist/client/_nuxt/tasl.BxwAa5i0.js +1 -0
  205. package/dist/client/_nuxt/tcl.C_8Fx7bH.js +1 -0
  206. package/dist/client/_nuxt/terraform.CdYS7vZw.js +1 -0
  207. package/dist/client/_nuxt/tex.BKGhwytq.js +1 -0
  208. package/dist/client/_nuxt/tokyo-night.eJfcURhx.js +1 -0
  209. package/dist/client/_nuxt/toml.BT9ZzGyQ.js +69 -0
  210. package/dist/client/_nuxt/tsx.BlxWTfDV.js +699 -0
  211. package/dist/client/_nuxt/turtle.C15OxdQ5.js +1 -0
  212. package/dist/client/_nuxt/twig.BOpxGNkQ.js +40 -0
  213. package/dist/client/_nuxt/typescript.DC8MraHL.js +666 -0
  214. package/dist/client/_nuxt/typst.I4qd5QHW.js +10 -0
  215. package/dist/client/_nuxt/v.C2TBxDwV.js +1 -0
  216. package/dist/client/_nuxt/vb.beD-FUib.js +1 -0
  217. package/dist/client/_nuxt/verilog.DVfdqzEq.js +1 -0
  218. package/dist/client/_nuxt/vesper.BSB_bK09.js +1 -0
  219. package/dist/client/_nuxt/vhdl.QZ3jNtnE.js +515 -0
  220. package/dist/client/_nuxt/viml.BLluXI4E.js +1 -0
  221. package/dist/client/_nuxt/vitesse-black.BO-UM1Vz.js +1 -0
  222. package/dist/client/_nuxt/vitesse-dark.CHrOy2Zl.js +1 -0
  223. package/dist/client/_nuxt/vitesse-light.BXgTKZPQ.js +1 -0
  224. package/dist/client/_nuxt/vue-html.CONbZieF.js +1 -0
  225. package/dist/client/_nuxt/vue.BIFGmPSe.js +6 -0
  226. package/dist/client/_nuxt/vyper.o-cPXEvd.js +575 -0
  227. package/dist/client/_nuxt/wasm.Cicx_DS6.js +1 -0
  228. package/dist/client/_nuxt/wenyan.D3VXSfF0.js +1 -0
  229. package/dist/client/_nuxt/wgsl.BZz1Hhek.js +1 -0
  230. package/dist/client/_nuxt/wolfram.BICIrM8O.js +1 -0
  231. package/dist/client/_nuxt/xml.BzTcx3OS.js +1 -0
  232. package/dist/client/_nuxt/xsl.lJB8dDLf.js +1 -0
  233. package/dist/client/_nuxt/yaml.C5gCGmDW.js +200 -0
  234. package/dist/client/_nuxt/zenscript.B1nm99XP.js +2 -0
  235. package/dist/client/_nuxt/zig.BEeHvBXh.js +1 -0
  236. package/dist/client/index.html +229 -7
  237. package/dist/module.d.mts +7 -1
  238. package/dist/module.d.ts +7 -1
  239. package/dist/module.json +1 -1
  240. package/dist/module.mjs +12 -8
  241. package/dist/runtime/nitro/plugins/nuxt-content.mjs +2 -1
  242. package/dist/runtime/nitro/sitemap/builder/sitemap-index.mjs +5 -2
  243. package/dist/runtime/types.d.ts +7 -1
  244. package/package.json +23 -22
  245. package/dist/client/_nuxt/Icon.igAZdNwU.css +0 -1
  246. package/dist/client/_nuxt/IconCSS.TGpF5Cou.js +0 -1
  247. package/dist/client/_nuxt/IconCSS._VVd0cfH.css +0 -1
  248. package/dist/client/_nuxt/builds/meta/d17e65fe-31ee-4916-8142-618e3f8935de.json +0 -1
  249. package/dist/client/_nuxt/entry.8vuPgEH3.js +0 -31
  250. package/dist/client/_nuxt/index.P7jyS_57.js +0 -1
  251. /package/dist/client/_nuxt/{error-404.DkXpI38i.css → error-404.ORekjfyJ.css} +0 -0
  252. /package/dist/client/_nuxt/{error-500.SLhS9LVu.css → error-500.BIuFL0tW.css} +0 -0
@@ -0,0 +1,756 @@
1
+ const e=Object.freeze({displayName:"C#",name:"csharp",patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#directives"},{include:"#declarations"},{include:"#script-top-level"}],repository:{"accessor-getter":{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},contentName:"meta.accessor.getter.cs",end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#statement"}]},{include:"#accessor-getter-expression"},{include:"#punctuation-semicolon"}]},"accessor-getter-expression":{begin:"=>",beginCaptures:{0:{name:"keyword.operator.arrow.cs"}},contentName:"meta.accessor.getter.cs",end:"(?=;|\\})",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},"accessor-setter":{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},contentName:"meta.accessor.setter.cs",end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#statement"}]},{begin:"=>",beginCaptures:{0:{name:"keyword.operator.arrow.cs"}},contentName:"meta.accessor.setter.cs",end:"(?=;|\\})",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},{include:"#punctuation-semicolon"}]},"anonymous-method-expression":{patterns:[{begin:`(?x)
2
+ ((?:\\b(?:async|static)\\b\\s*)*)
3
+ (?:
4
+ (@?[_[:alpha:]][_[:alnum:]]*)\\b|
5
+ (\\()
6
+ (?<tuple>(?:[^()]|\\(\\g<tuple>\\))*)
7
+ (\\))
8
+ )\\s*
9
+ (=>)`,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:`(?x)
10
+ ((?:\\b(?:async|static)\\b\\s*)*)
11
+ \\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:`(?x)
12
+ \\b(new|stackalloc)\\b\\s*
13
+ (?<type_name>
14
+ (?:
15
+ (?:
16
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
17
+ (?<name_and_type_args>
18
+ \\g<identifier>\\s*
19
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
20
+ )
21
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
22
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
23
+ )
24
+ (?:\\s*\\?\\s*)?
25
+ (?:\\s*
26
+ \\[
27
+ (?:\\s*,\\s*)*
28
+ \\]
29
+ \\s*
30
+ (?:\\?)?
31
+ \\s*
32
+ )*
33
+ )
34
+ )?\\s*
35
+ (?=\\[)`,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:`(?x)
36
+ (?<!\\.)\\b(as)\\b\\s*
37
+ (?<type_name>
38
+ (?:
39
+ (?:
40
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
41
+ (?<name_and_type_args>
42
+ \\g<identifier>\\s*
43
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
44
+ )
45
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
46
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
47
+ )
48
+ (?:\\s*\\?(?!\\?))?
49
+ (?:\\s*
50
+ \\[
51
+ \\s*(?:,\\s*)*
52
+ \\]
53
+ (?:\\s*\\?(?!\\?))?
54
+ )*
55
+ )
56
+ )?`},"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:"#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:"(@?[_[:alpha:]][_[:alnum:]]*)\\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:`(?x)
57
+ (\\()\\s*
58
+ (?<type_name>
59
+ (?:
60
+ (?:
61
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
62
+ (?<name_and_type_args>
63
+ \\g<identifier>\\s*
64
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
65
+ )
66
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
67
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
68
+ )
69
+ (?:\\s*\\?\\s*)?
70
+ (?:\\s*
71
+ \\[
72
+ (?:\\s*,\\s*)*
73
+ \\]
74
+ \\s*
75
+ (?:\\?)?
76
+ \\s*
77
+ )*
78
+ )
79
+ )\\s*
80
+ (\\))(?=\\s*-*!*@?[_[:alnum:]\\(])`},"casted-constant-pattern":{begin:`(?x)
81
+ (\\()
82
+ ([\\s.:@_[:alnum:]]+)
83
+ (\\))
84
+ (?=[\\s+\\-!~]*@?[_[:alnum:]('"]+)`,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:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\:\\:)"},{captures:{1:{name:"entity.name.type.cs"},2:{name:"punctuation.accessor.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
85
+ (?<type_name>
86
+ (?:
87
+ (?:
88
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
89
+ (?<name_and_type_args>
90
+ \\g<identifier>\\s*
91
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
92
+ )
93
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
94
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
95
+ )
96
+ (?:\\s*\\?\\s*)?
97
+ (?:\\s*
98
+ \\[
99
+ (?:\\s*,\\s*)*
100
+ \\]
101
+ \\s*
102
+ (?:\\?)?
103
+ \\s*
104
+ )*
105
+ )
106
+ )\\s*
107
+ (?:(\\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:`(?x)
108
+ (\\b(record)\\b\\s+)?
109
+ \\b(class)\\b\\s+
110
+ (@?[_[:alpha:]][_[:alnum:]]*)\\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:"(?=@?[_[:alpha:]][_[:alnum:]]*\\s*\\()",end:"(?<=\\})|(?=;)",patterns:[{captures:{1:{name:"entity.name.function.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\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*[@_[:alpha:](])",name:"keyword.control.context.$1.cs"},"conversion-operator-declaration":{begin:`(?x)
111
+ (?<explicit_or_implicit_keyword>(?:\\b(?:explicit|implicit)))\\s*
112
+ (?<operator_keyword>(?:\\b(?:operator)))\\s*
113
+ (?<type_name>
114
+ (?:
115
+ (?:ref\\s+(?:readonly\\s+)?)?
116
+ (?:
117
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
118
+ (?<name_and_type_args>
119
+ \\g<identifier>\\s*
120
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
121
+ )
122
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
123
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
124
+ )
125
+ (?:\\s*\\?\\s*)?
126
+ (?:\\s*
127
+ \\[
128
+ (?:\\s*,\\s*)*
129
+ \\]
130
+ \\s*
131
+ (?:\\?)?
132
+ \\s*
133
+ )*
134
+ )
135
+ )\\s*
136
+ (?=\\()`,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:`(?x)
137
+ (?:
138
+ \\b(var)\\b|
139
+ (?<type_name>
140
+ (?:
141
+ (?:
142
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
143
+ (?<name_and_type_args>
144
+ \\g<identifier>\\s*
145
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
146
+ )
147
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
148
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
149
+ )
150
+ (?:\\s*\\?\\s*)?
151
+ (?:\\s*
152
+ \\[
153
+ (?:\\s*,\\s*)*
154
+ \\]
155
+ \\s*
156
+ (?:\\?)?
157
+ \\s*
158
+ )*
159
+ )
160
+ )
161
+ )\\s+
162
+ (\\g<identifier>)\\b\\s*
163
+ (?=[,)\\]])`},"declaration-expression-tuple":{captures:{1:{name:"storage.type.var.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.tuple-element.cs"}},match:`(?x)
164
+ (?:
165
+ \\b(var)\\b|
166
+ (?<type_name>
167
+ (?:
168
+ (?:
169
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
170
+ (?<name_and_type_args>
171
+ \\g<identifier>\\s*
172
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
173
+ )
174
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
175
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
176
+ )
177
+ (?:\\s*\\?\\s*)?
178
+ (?:\\s*
179
+ \\[
180
+ (?:\\s*,\\s*)*
181
+ \\]
182
+ \\s*
183
+ (?:\\?)?
184
+ \\s*
185
+ )*
186
+ )
187
+ )
188
+ )\\s+
189
+ (\\g<identifier>)\\b\\s*
190
+ (?=[,)])`},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:`(?x)
191
+ (?:\\b(delegate)\\b)\\s+
192
+ (?<type_name>
193
+ (?:
194
+ (?:ref\\s+(?:readonly\\s+)?)?
195
+ (?:
196
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
197
+ (?<name_and_type_args>
198
+ \\g<identifier>\\s*
199
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
200
+ )
201
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
202
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
203
+ )
204
+ (?:\\s*\\?\\s*)?
205
+ (?:\\s*
206
+ \\[
207
+ (?:\\s*,\\s*)*
208
+ \\]
209
+ \\s*
210
+ (?:\\?)?
211
+ \\s*
212
+ )*
213
+ )
214
+ )\\s+
215
+ (\\g<identifier>)\\s*
216
+ (<([^<>]+)>)?\\s*
217
+ (?=\\()`,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:"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\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:"_(?![_[:alnum:]])",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:`(?x)
218
+ (?:
219
+ (?:(\\?)\\s*)?
220
+ (\\.)\\s*|
221
+ (->)\\s*
222
+ )?
223
+ (?:(@?[_[:alpha:]][_[:alnum:]]*)\\s*)?
224
+ (?:(\\?)\\s*)?
225
+ (?=\\[)`,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+(@?[_[:alpha:]][_[:alnum:]]*)"},{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:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
226
+ \\b(event)\\b\\s*
227
+ (?<return_type>
228
+ (?<type_name>
229
+ (?:
230
+ (?:
231
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
232
+ (?<name_and_type_args>
233
+ \\g<identifier>\\s*
234
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
235
+ )
236
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
237
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
238
+ )
239
+ (?:\\s*\\?\\s*)?
240
+ (?:\\s*
241
+ \\[
242
+ (?:\\s*,\\s*)*
243
+ \\]
244
+ \\s*
245
+ (?:\\?)?
246
+ \\s*
247
+ )*
248
+ )
249
+ )\\s+
250
+ )
251
+ (?<interface_name>\\g<type_name>\\s*\\.\\s*)?
252
+ (\\g<identifier>)\\s*
253
+ (?=\\{|;|,|=|//|/\\*|$)`,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:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
254
+ (?:\\b(ref|params|out|in)\\b\\s*)?
255
+ (?<type_name>
256
+ (?:
257
+ (?:
258
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
259
+ (?<name_and_type_args>
260
+ \\g<identifier>\\s*
261
+ (?<type_args><(?:[^<>]|\\g<type_args>)*>\\s*)?
262
+ )
263
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
264
+ (?<tuple>\\s*\\((?:[^()]|\\g<tuple>)*\\))
265
+ )
266
+ (?:\\s*\\?\\s*)?
267
+ (?:\\s*
268
+ \\[
269
+ (?:\\s*,\\s*)*
270
+ \\]
271
+ \\s*
272
+ (?:\\?)?
273
+ \\s*
274
+ )*
275
+ )
276
+ )\\s*
277
+ \\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:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"variable.other.alias.cs"}]},"field-declaration":{begin:`(?x)
278
+ (?<type_name>
279
+ (?:
280
+ (?:
281
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
282
+ (?<name_and_type_args>
283
+ \\g<identifier>\\s*
284
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
285
+ )
286
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
287
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
288
+ )
289
+ (?:\\s*\\?\\s*)?
290
+ (?:\\s*
291
+ \\[
292
+ (?:\\s*,\\s*)*
293
+ \\]
294
+ \\s*
295
+ (?:\\?)?
296
+ \\s*
297
+ )*
298
+ )
299
+ )\\s+
300
+ (\\g<identifier>)\\s*
301
+ (?!=>|==)(?=,|;|=|$)`,beginCaptures:{1:{patterns:[{include:"#type"}]},6:{name:"entity.name.variable.field.cs"}},end:"(?=;)",patterns:[{match:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
302
+ (?:
303
+ (?:(\\bref)\\s+)?(\\bvar\\b)|
304
+ (?<type_name>
305
+ (?:
306
+ (?:ref\\s+)?
307
+ (?:
308
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
309
+ (?<name_and_type_args>
310
+ \\g<identifier>\\s*
311
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
312
+ )
313
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
314
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
315
+ )
316
+ (?:\\s*\\?\\s*)?
317
+ (?:\\s*
318
+ \\[
319
+ (?:\\s*,\\s*)*
320
+ \\]
321
+ \\s*
322
+ (?:\\?)?
323
+ \\s*
324
+ )*
325
+ )
326
+ )
327
+ )\\s+
328
+ (\\g<identifier>)\\s+
329
+ \\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:`(?x)
330
+ (?:\\b(var)\\b\\s*)?
331
+ (?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s+
332
+ \\b(in)\\b`},{include:"#expression"}]}]},"generic-constraints":{begin:"(where)\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\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:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
333
+ \\b(into)\\b\\s*
334
+ (@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*`},identifier:{match:"@?[_[:alpha:]][_[:alnum:]]*",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:"\\@?[_[:alpha:]][_[:alnum:]]*\\b",name:"entity.name.variable.parameter.cs"},"indexer-declaration":{begin:`(?x)
335
+ (?<return_type>
336
+ (?<type_name>
337
+ (?:
338
+ (?:ref\\s+(?:readonly\\s+)?)?
339
+ (?:
340
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
341
+ (?<name_and_type_args>
342
+ \\g<identifier>\\s*
343
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
344
+ )
345
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
346
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
347
+ )
348
+ (?:\\s*\\?\\s*)?
349
+ (?:\\s*
350
+ \\[
351
+ (?:\\s*,\\s*)*
352
+ \\]
353
+ \\s*
354
+ (?:\\?)?
355
+ \\s*
356
+ )*
357
+ )
358
+ )\\s+
359
+ )
360
+ (?<interface_name>\\g<type_name>\\s*\\.\\s*)?
361
+ (?<indexer_name>this)\\s*
362
+ (?=\\[)`,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:`(?x)
363
+ (interface)\\b\\s+
364
+ (@?[_[:alpha:]][_[:alnum:]]*)`,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:`(?x)
365
+ (?:
366
+ (?:(\\?)\\s*)?
367
+ (\\.)\\s*|
368
+ (->)\\s*
369
+ )?
370
+ (@?[_[:alpha:]][_[:alnum:]]*)\\s*
371
+ (
372
+ <
373
+ (?<type_args>
374
+ [^<>()]++|
375
+ <\\g<type_args>*+>|
376
+ \\(\\g<type_args>*+\\)
377
+ )*+
378
+ >\\s*
379
+ )?
380
+ (?=\\()`,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:`(?x)
381
+ \\b(join)\\b\\s*
382
+ (?<type_name>
383
+ (?:
384
+ (?:
385
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
386
+ (?<name_and_type_args>
387
+ \\g<identifier>\\s*
388
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
389
+ )
390
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
391
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
392
+ )
393
+ (?:\\s*\\?\\s*)?
394
+ (?:\\s*
395
+ \\[
396
+ (?:\\s*,\\s*)*
397
+ \\]
398
+ \\s*
399
+ (?:\\?)?
400
+ \\s*
401
+ )*
402
+ )
403
+ )?
404
+ \\s+(\\g<identifier>)\\b\\s*
405
+ \\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:`(?x)
406
+ \\b(into)\\b\\s*
407
+ (@?[_[:alpha:]][_[:alnum:]]*)\\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:"(@?[_[:alpha:]][_[:alnum:]]*)\\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:`(?x)
408
+ \\b(let)\\b\\s*
409
+ (@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*
410
+ (=)\\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:`(?x)
411
+ (?<const_keyword>\\b(?:const)\\b)\\s*
412
+ (?<type_name>
413
+ (?:
414
+ (?:
415
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
416
+ (?<name_and_type_args>
417
+ \\g<identifier>\\s*
418
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
419
+ )
420
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
421
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
422
+ )
423
+ (?:\\s*\\?\\s*)?
424
+ (?:\\s*
425
+ \\[
426
+ (?:\\s*,\\s*)*
427
+ \\]
428
+ \\s*
429
+ (?:\\?)?
430
+ \\s*
431
+ )*
432
+ )
433
+ )\\s+
434
+ (\\g<identifier>)\\s*
435
+ (?=,|;|=)`,beginCaptures:{1:{name:"storage.modifier.const.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.local.cs"}},end:"(?=;)",patterns:[{match:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
436
+ \\b((?:(?:async|unsafe|static|extern)\\s+)*)
437
+ (?<type_name>
438
+ (?:ref\\s+(?:readonly\\s+)?)?
439
+ (?:
440
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
441
+ (?<name_and_type_args>
442
+ \\g<identifier>\\s*
443
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
444
+ )
445
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
446
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
447
+ )
448
+ (?:\\s*\\?)?
449
+ (?:\\s*
450
+ \\[
451
+ \\s*(?:,\\s*)*
452
+ \\]
453
+ (?:\\s*\\?)?
454
+ )*
455
+ )\\s+
456
+ (\\g<identifier>)\\s*
457
+ (<[^<>]+>)?\\s*
458
+ (?=\\()`,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:`(?x)
459
+ (?:\\b(var)\\b\\s*)
460
+ (?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*
461
+ (?=;|=|\\))`,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:`(?x)
462
+ (?:
463
+ (?:(\\bref)\\s+(?:(\\breadonly)\\s+)?)?(\\bvar\\b)|
464
+ (?<type_name>
465
+ (?:
466
+ (?:ref\\s+(?:readonly\\s+)?)?
467
+ (?:
468
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
469
+ (?<name_and_type_args>
470
+ \\g<identifier>\\s*
471
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
472
+ )
473
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
474
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
475
+ )
476
+ (?:\\s*[?*]\\s*)?
477
+ (?:\\s*
478
+ \\[
479
+ (?:\\s*,\\s*)*
480
+ \\]
481
+ \\s*
482
+ (?:\\?)?
483
+ \\s*
484
+ )*
485
+ )
486
+ )
487
+ )\\s+
488
+ (\\g<identifier>)\\s*
489
+ (?!=>)
490
+ (?=,|;|=|\\))`,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:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
491
+ (?:
492
+ (?:(\\?)\\s*)?
493
+ (\\.)\\s*|
494
+ (->)\\s*
495
+ )
496
+ (@?[_[:alpha:]][_[:alnum:]]*)\\s*
497
+ (?![_[:alnum:]]|\\(|(\\?)?\\[|<)`},{captures:{1:{name:"punctuation.accessor.cs"},2:{name:"variable.other.object.cs"},3:{patterns:[{include:"#type-arguments"}]}},match:`(?x)
498
+ (\\.)?\\s*
499
+ (@?[_[:alpha:]][_[:alnum:]]*)
500
+ (?<type_params>\\s*<([^<>]|\\g<type_params>)+>\\s*)
501
+ (?=
502
+ (\\s*\\?)?
503
+ \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*
504
+ )`},{captures:{1:{name:"variable.other.object.cs"}},match:`(?x)
505
+ (@?[_[:alpha:]][_[:alnum:]]*)
506
+ (?=
507
+ \\s*(?:(?:\\?\\s*)?\\.|->)
508
+ \\s*@?[_[:alpha:]][_[:alnum:]]*
509
+ )`}]},"method-declaration":{begin:`(?x)
510
+ (?<return_type>
511
+ (?<type_name>
512
+ (?:
513
+ (?:ref\\s+(?:readonly\\s+)?)?
514
+ (?:
515
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
516
+ (?<name_and_type_args>
517
+ \\g<identifier>\\s*
518
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
519
+ )
520
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
521
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
522
+ )
523
+ (?:\\s*\\?\\s*)?
524
+ (?:\\s*
525
+ \\[
526
+ (?:\\s*,\\s*)*
527
+ \\]
528
+ \\s*
529
+ (?:\\?)?
530
+ \\s*
531
+ )*
532
+ )
533
+ )\\s+
534
+ )
535
+ (?<interface_name>\\g<type_name>\\s*\\.\\s*)?
536
+ (\\g<identifier>)\\s*
537
+ (<([^<>]+)>)?\\s*
538
+ (?=\\()`,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:"(@?[_[:alpha:]][_[:alnum:]]*)\\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:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.namespace.cs"},{include:"#punctuation-accessor"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#declarations"},{include:"#using-directive"},{include:"#punctuation-semicolon"}]}]},"null-literal":{match:"(?<!\\.)\\bnull\\b",name:"constant.language.null.cs"},"numeric-literal":{captures:{0:{patterns:[{begin:"(?=.)",end:"$",patterns:[{captures:{2:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},4:{name:"constant.numeric.other.separator.decimals.cs"},5:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},6:{name:"constant.numeric.other.separator.thousands.cs"},8:{name:"constant.numeric.other.exponent.cs"},9:{name:"keyword.operator.arithmetic.cs"},10:{name:"keyword.operator.arithmetic.cs"},11:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},12:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([fFdDmM](?!\\w))?$"},{captures:{1:{name:"constant.numeric.other.preffix.binary.cs"},2:{name:"constant.numeric.binary.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},4:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G0[bB])([01_](?:[01_]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$"},{captures:{1:{name:"constant.numeric.other.preffix.hex.cs"},2:{name:"constant.numeric.hex.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},4:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$"},{captures:{2:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},5:{name:"constant.numeric.other.exponent.cs"},6:{name:"keyword.operator.arithmetic.cs"},7:{name:"keyword.operator.arithmetic.cs"},8:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},9:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$"},{match:"(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\.\\d)+",name:"invalid.illegal.constant.numeric.cs"}]}]}},match:"(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\.\\d)*"},"object-creation-expression":{patterns:[{include:"#object-creation-expression-with-parameters"},{include:"#object-creation-expression-with-no-parameters"}]},"object-creation-expression-with-no-parameters":{captures:{1:{name:"keyword.operator.expression.new.cs"},2:{patterns:[{include:"#type"}]}},match:`(?x)
539
+ (new)\\s+
540
+ (?<type_name>
541
+ (?:
542
+ (?:
543
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
544
+ (?<name_and_type_args>
545
+ \\g<identifier>\\s*
546
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
547
+ )
548
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
549
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
550
+ )
551
+ (?:\\s*\\?\\s*)?
552
+ (?:\\s*
553
+ \\[
554
+ (?:\\s*,\\s*)*
555
+ \\]
556
+ \\s*
557
+ (?:\\?)?
558
+ \\s*
559
+ )*
560
+ )
561
+ )\\s*
562
+ (?=\\{|//|/\\*|$)`},"object-creation-expression-with-parameters":{begin:`(?x)
563
+ (new)(?:\\s+
564
+ (?<type_name>
565
+ (?:
566
+ (?:
567
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
568
+ (?<name_and_type_args>
569
+ \\g<identifier>\\s*
570
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
571
+ )
572
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
573
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
574
+ )
575
+ (?:\\s*\\?\\s*)?
576
+ (?:\\s*
577
+ \\[
578
+ (?:\\s*,\\s*)*
579
+ \\]
580
+ \\s*
581
+ (?:\\?)?
582
+ \\s*
583
+ )*
584
+ )
585
+ ))?\\s*
586
+ (?=\\()`,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:`(?x)
587
+ (?<type_name>
588
+ (?:
589
+ (?:ref\\s+(?:readonly\\s+)?)?
590
+ (?:
591
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
592
+ (?<name_and_type_args>
593
+ \\g<identifier>\\s*
594
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
595
+ )
596
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
597
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
598
+ )
599
+ (?:\\s*\\?\\s*)?
600
+ (?:\\s*
601
+ \\[
602
+ (?:\\s*,\\s*)*
603
+ \\]
604
+ \\s*
605
+ (?:\\?)?
606
+ \\s*
607
+ )*
608
+ )
609
+ )\\s*
610
+ \\b(?<operator_keyword>operator)\\b\\s*
611
+ (?<operator>[+\\-*/%&|\\^!=~<>]+|true|false)\\s*
612
+ (?=\\()`,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:`(?x)
613
+ (?:(?:\\b(ref|params|out|in|this)\\b)\\s+)?
614
+ (?<type_name>
615
+ (?:
616
+ (?:ref\\s+)?
617
+ (?:
618
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
619
+ (?<name_and_type_args>
620
+ \\g<identifier>\\s*
621
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
622
+ )
623
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
624
+ (?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\))
625
+ )
626
+ (?:\\s*\\?\\s*)?
627
+ (?:\\s*
628
+ \\[
629
+ (?:\\s*,\\s*)*
630
+ \\]
631
+ \\s*
632
+ (?:\\?)?
633
+ \\s*
634
+ )*
635
+ )
636
+ )\\s+
637
+ (\\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([_[:alpha:]][_[:alnum:]]*)\\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)|([_[:alpha:]][_[:alnum:]]*))\\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:"[0-9]+"},{captures:{0:{name:"string.quoted.double.cs"}},match:'\\"[^"]*\\"'}]},"preprocessor-load":{begin:"\\b(load)\\b",beginCaptures:{1:{name:"keyword.preprocessor.load.cs"}},end:"(?=$)",patterns:[{captures:{0:{name:"string.quoted.double.cs"}},match:'\\"[^"]*\\"'}]},"preprocessor-pragma-checksum":{captures:{1:{name:"keyword.preprocessor.pragma.cs"},2:{name:"keyword.preprocessor.checksum.cs"},3:{name:"string.quoted.double.cs"},4:{name:"string.quoted.double.cs"},5:{name:"string.quoted.double.cs"}},match:'\\b(pragma)\\b\\s*\\b(checksum)\\b\\s*(\\"[^"]*\\")\\s*(\\"[^"]*\\")\\s*(\\"[^"]*\\")'},"preprocessor-pragma-warning":{captures:{1:{name:"keyword.preprocessor.pragma.cs"},2:{name:"keyword.preprocessor.warning.cs"},3:{name:"keyword.preprocessor.disable.cs"},4:{name:"keyword.preprocessor.restore.cs"},5:{patterns:[{captures:{0:{name:"constant.numeric.decimal.cs"}},match:"[0-9]+"},{include:"#punctuation-comma"}]}},match:"\\b(pragma)\\b\\s*\\b(warning)\\b\\s*\\b(?:(disable)|(restore))\\b(\\s*[0-9]+(?:\\s*,\\s*[0-9]+)?)?"},"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:`(?x)
638
+
639
+ # The negative lookahead below ensures that we don't match nested types
640
+ # or other declarations as properties.
641
+ (?![[:word:][:space:]]*\\b(?:class|interface|struct|enum|event)\\b)
642
+
643
+ (?<return_type>
644
+ (?<type_name>
645
+ (?:
646
+ (?:ref\\s+(?:readonly\\s+)?)?
647
+ (?:
648
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
649
+ (?<name_and_type_args>
650
+ \\g<identifier>\\s*
651
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
652
+ )
653
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
654
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
655
+ )
656
+ (?:\\s*\\?\\s*)?
657
+ (?:\\s*
658
+ \\[
659
+ (?:\\s*,\\s*)*
660
+ \\]
661
+ \\s*
662
+ (?:\\?)?
663
+ \\s*
664
+ )*
665
+ )
666
+ )\\s+
667
+ )
668
+ (?<interface_name>\\g<type_name>\\s*\\.\\s*)?
669
+ (?<property_name>\\g<identifier>)\\s*
670
+ (?=\\{|=>|//|/\\*|$)`,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:`(?x)
671
+ \\b(from)\\b\\s*
672
+ (?<type_name>
673
+ (?:
674
+ (?:
675
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
676
+ (?<name_and_type_args>
677
+ \\g<identifier>\\s*
678
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
679
+ )
680
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
681
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
682
+ )
683
+ (?:\\s*\\?\\s*)?
684
+ (?:\\s*
685
+ \\[
686
+ (?:\\s*,\\s*)*
687
+ \\]
688
+ \\s*
689
+ (?:\\?)?
690
+ \\s*
691
+ )*
692
+ )
693
+ )?
694
+ \\s+(\\g<identifier>)\\b\\s*
695
+ \\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:`(?x)
696
+ (record)\\b\\s+
697
+ (@?[_[:alpha:]][_[:alnum:]]*)`,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:"@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
698
+ (\\b(record)\\b\\s+)?
699
+ (struct)\\b\\s+
700
+ (@?[_[:alpha:]][_[:alnum:]]*)`,beginCaptures:{2:{name:"storage.type.record.cs"},3:{name:"storage.type.struct.cs"},4:{name:"entity.name.type.struct.cs"}},end:"(?=\\{)|(?=;)",patterns:[{include:"#comment"},{include:"#type-parameter-list"},{include:"#parenthesized-parameter-list"},{include:"#base-types"},{include:"#generic-constraints"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#class-or-struct-members"}]},{include:"#preprocessor"},{include:"#comment"}]},subpattern:{patterns:[{captures:{1:{patterns:[{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"variable.other.object.property.cs"},{include:"#punctuation-accessor"}]},2:{name:"punctuation.separator.colon.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*(?:\\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*)*)\\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:`(?x)
701
+ (@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*
702
+ (?=[,)])`}]},"tuple-deconstruction-assignment":{captures:{1:{patterns:[{include:"#tuple-deconstruction-element-list"}]}},match:`(?x)
703
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*
704
+ (?!=>|==)(?==)`},"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:`(?x)
705
+ (@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*
706
+ (?=[,)])`}]},"tuple-element":{captures:{1:{patterns:[{include:"#type"}]},6:{name:"entity.name.variable.tuple-element.cs"}},match:`(?x)
707
+ (?<type_name>
708
+ (?:
709
+ (?:
710
+ (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)?
711
+ (?<name_and_type_args>
712
+ \\g<identifier>\\s*
713
+ (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
714
+ )
715
+ (?:\\s*\\.\\s*\\g<name_and_type_args>)* |
716
+ (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
717
+ )
718
+ (?:\\s*\\?\\s*)?
719
+ (?:\\s*
720
+ \\[
721
+ (?:\\s*,\\s*)*
722
+ \\]
723
+ \\s*
724
+ (?:\\?)?
725
+ \\s*
726
+ )*
727
+ )
728
+ )
729
+ (?:(?<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:`(?x)
730
+ (@?[_[:alpha:]][_[:alnum:]]*)\\s*
731
+ (?=:)`,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:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\:\\:)"},{captures:{1:{name:"entity.name.type.cs"},2:{name:"punctuation.accessor.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"},{captures:{1:{name:"punctuation.accessor.cs"},2:{name:"entity.name.type.cs"}},match:"(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{match:"@?[_[:alpha:]][_[:alnum:]]*",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:"(@?[_[:alpha:]][_[:alnum:]]*)\\b",name:"entity.name.type.type-parameter.cs"},{include:"#comment"},{include:"#punctuation-comma"},{include:"#attribute-section"}]},"type-pattern":{begin:"(?=@?[_[:alpha:]][_[:alnum:]]*)",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{begin:"\\G",end:"(?!\\G[@_[:alpha:]])(?=[\\({@_[:alpha:])}\\],;:=&|^]|(?:\\s|^)\\?|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{include:"#type-subpattern"}]},{begin:"(?=[\\({@_[:alpha:]])",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:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(::)",beginCaptures:{1:{name:"entity.name.type.alias.cs"},2:{name:"punctuation.separator.coloncolon.cs"}},end:"(?<=[_[:alnum:]])|(?=[.<\\[\\({)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.cs"}]},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.cs"},{begin:"\\.",beginCaptures:{0:{name:"punctuation.accessor.cs"}},end:"(?<=[_[:alnum:]])|(?=[<\\[\\({)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",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*)?(@?[_[:alpha:]][_[:alnum:]]*)\\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:"\\@?[_[:alpha:]][_[:alnum:]]*",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:`(?x)
732
+ \\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:`(?x)
733
+ (?:^|\\s+)
734
+ (
735
+ (?:
736
+ ([-_[:alnum:]]+)
737
+ (:)
738
+ )?
739
+ ([-_[:alnum:]]+)
740
+ )
741
+ (=)`},{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:`(?x)
742
+ (&)
743
+ (
744
+ (?:[[:alpha:]:_][[:alnum:]:_.-]*)|
745
+ (?:\\#[[:digit:]]+)|
746
+ (?:\\#x[[:xdigit:]]+)
747
+ )
748
+ (;)`,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:`(?x)
749
+ (</?)
750
+ (
751
+ (?:
752
+ ([-_[:alnum:]]+)
753
+ (:)
754
+ )?
755
+ ([-_[:alnum:]]+)
756
+ )`,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"]});var n=[e];export{n as default};