@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.
- package/dist/client/200.html +229 -7
- package/dist/client/404.html +229 -7
- package/dist/client/_nuxt/{Icon.obKARbAK.js → Icon.CJijHraB.js} +1 -1
- package/dist/client/_nuxt/Icon.CZ-mU5xu.css +1 -0
- package/dist/client/_nuxt/IconCSS.0L6jGelj.css +1 -0
- package/dist/client/_nuxt/IconCSS.DNkWQg_x.js +1 -0
- package/dist/client/_nuxt/abap.DXFkqnOI.js +816 -0
- package/dist/client/_nuxt/actionscript-3.D6NljDpC.js +1 -0
- package/dist/client/_nuxt/ada.CowR2XfX.js +1 -0
- package/dist/client/_nuxt/andromeeda.Bv7o_0DK.js +1 -0
- package/dist/client/_nuxt/angular-html.833w9gUK.js +16 -0
- package/dist/client/_nuxt/angular-ts.BCBvF5Sf.js +666 -0
- package/dist/client/_nuxt/apache.rS0jd3Ly.js +1 -0
- package/dist/client/_nuxt/apex.Sfo2eW0G.js +274 -0
- package/dist/client/_nuxt/apl.7kPAH7yp.js +87 -0
- package/dist/client/_nuxt/applescript.B4yE-MfL.js +38 -0
- package/dist/client/_nuxt/ara.CG4fK2Nq.js +21 -0
- package/dist/client/_nuxt/asm.PWN5J14X.js +1 -0
- package/dist/client/_nuxt/astro.B72C2l14.js +1 -0
- package/dist/client/_nuxt/aurora-x.BaWyeHV_.js +1 -0
- package/dist/client/_nuxt/awk.i0IPvypD.js +1 -0
- package/dist/client/_nuxt/ayu-dark.Bn5gmY5k.js +1 -0
- package/dist/client/_nuxt/ballerina.T9ysyp6P.js +62 -0
- package/dist/client/_nuxt/bat.BPiaQZfK.js +1 -0
- package/dist/client/_nuxt/beancount.Urb1RsFe.js +1 -0
- package/dist/client/_nuxt/berry.CxrokwfH.js +1 -0
- package/dist/client/_nuxt/bibtex.BaedD2tq.js +1 -0
- package/dist/client/_nuxt/bicep.BnL-ovff.js +1 -0
- package/dist/client/_nuxt/blade.Ge7MpD7w.js +831 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/6b1976c1-8a6c-4f10-942a-e279cef74111.json +1 -0
- package/dist/client/_nuxt/c.RCJZWN-0.js +81 -0
- package/dist/client/_nuxt/cadence.Bgpqy2XC.js +1 -0
- package/dist/client/_nuxt/catppuccin-frappe.CSSpeNoc.js +1 -0
- package/dist/client/_nuxt/catppuccin-latte.BKmRr8wc.js +1 -0
- package/dist/client/_nuxt/catppuccin-macchiato.3Hompcvk.js +1 -0
- package/dist/client/_nuxt/catppuccin-mocha.Bxe0CTgP.js +1 -0
- package/dist/client/_nuxt/clarity.CIekO_uJ.js +1 -0
- package/dist/client/_nuxt/clojure.BF6G6X0H.js +1 -0
- package/dist/client/_nuxt/cmake.DXZpi2gR.js +1 -0
- package/dist/client/_nuxt/cobol.V9VEyzKl.js +1 -0
- package/dist/client/_nuxt/codeql.BOpLLL-w.js +1 -0
- package/dist/client/_nuxt/coffee.t_LrLW_f.js +100 -0
- package/dist/client/_nuxt/cpp.BnO_O5bK.js +186 -0
- package/dist/client/_nuxt/crystal.kQaLR197.js +25 -0
- package/dist/client/_nuxt/csharp.DISxKEhY.js +756 -0
- package/dist/client/_nuxt/css.CbYhyuC0.js +505 -0
- package/dist/client/_nuxt/csv.B2DkETJQ.js +1 -0
- package/dist/client/_nuxt/cue.C6Aznpr-.js +1 -0
- package/dist/client/_nuxt/cypher.ByMv4Xf1.js +1 -0
- package/dist/client/_nuxt/d.PifQWv0n.js +1 -0
- package/dist/client/_nuxt/dark-plus.KEYLhlmT.js +1 -0
- package/dist/client/_nuxt/dart.BmadmVm4.js +1 -0
- package/dist/client/_nuxt/dax.DsfXcHUZ.js +29 -0
- package/dist/client/_nuxt/diff.DvyTQcux.js +1 -0
- package/dist/client/_nuxt/docker.DNR26wTC.js +1 -0
- package/dist/client/_nuxt/dracula-soft.9B1nZgL-.js +1 -0
- package/dist/client/_nuxt/dracula.DGO8GyiP.js +1 -0
- package/dist/client/_nuxt/dream-maker.Eh5U-gDp.js +52 -0
- package/dist/client/_nuxt/elixir.CpdO1lki.js +17 -0
- package/dist/client/_nuxt/elm.DbZvrHdh.js +1 -0
- package/dist/client/_nuxt/entry.CzuJE6I5.js +36 -0
- package/dist/client/_nuxt/{entry.r4zdzGRl.css → entry.D9NoP4O5.css} +1 -1
- package/dist/client/_nuxt/erb.PjiSmVwo.js +1 -0
- package/dist/client/_nuxt/erlang.C3YqBJkQ.js +1 -0
- package/dist/client/_nuxt/{error-404.NZm-ZIEG.js → error-404.CknrUDcG.js} +1 -1
- package/dist/client/_nuxt/{error-500.auQArJoN.js → error-500.hiYBJjIV.js} +1 -1
- package/dist/client/_nuxt/fish.DfeQjIbs.js +5 -0
- package/dist/client/_nuxt/fortran-fixed-form.Cx0tWteX.js +1 -0
- package/dist/client/_nuxt/fortran-free-form.D6pmzCqS.js +1 -0
- package/dist/client/_nuxt/fsharp.DPkxF5yZ.js +1 -0
- package/dist/client/_nuxt/gdresource.Dyo1-XBj.js +1 -0
- package/dist/client/_nuxt/gdscript.CoEqzGFw.js +44 -0
- package/dist/client/_nuxt/gdshader.B_SUYfiV.js +1 -0
- package/dist/client/_nuxt/gherkin.DjTlIhuc.js +1 -0
- package/dist/client/_nuxt/git-commit.aPmGthaS.js +1 -0
- package/dist/client/_nuxt/git-rebase.Cl-c85-0.js +1 -0
- package/dist/client/_nuxt/github-dark-dimmed.CRDKj6ck.js +1 -0
- package/dist/client/_nuxt/github-dark.CzPA46E-.js +1 -0
- package/dist/client/_nuxt/github-light.CRlnGVMD.js +1 -0
- package/dist/client/_nuxt/glimmer-js.C8_h80UD.js +13 -0
- package/dist/client/_nuxt/glimmer-ts.jzigfKdB.js +13 -0
- package/dist/client/_nuxt/glsl.-GlVTnW0.js +1 -0
- package/dist/client/_nuxt/gnuplot.nclm9rTJ.js +266 -0
- package/dist/client/_nuxt/go.XCGcAo4I.js +1 -0
- package/dist/client/_nuxt/graphql.C4V4xKFR.js +4 -0
- package/dist/client/_nuxt/groovy.wChcbJ1V.js +37 -0
- package/dist/client/_nuxt/hack.B30vrIHT.js +86 -0
- package/dist/client/_nuxt/haml.CAKsSe2e.js +1 -0
- package/dist/client/_nuxt/handlebars.W0zz18bm.js +1 -0
- package/dist/client/_nuxt/haskell.DAGYewaG.js +559 -0
- package/dist/client/_nuxt/hcl.qyqQxnfZ.js +1 -0
- package/dist/client/_nuxt/hjson.DZqG9GXz.js +50 -0
- package/dist/client/_nuxt/hlsl.DmDrTTlz.js +1 -0
- package/dist/client/_nuxt/html-derivative.fiapQfxX.js +1 -0
- package/dist/client/_nuxt/html.CuK0VrWf.js +74 -0
- package/dist/client/_nuxt/http.BZ0kU-IF.js +1 -0
- package/dist/client/_nuxt/imba.DxX1Vuw3.js +223 -0
- package/dist/client/_nuxt/index.DKzsDYrr.js +1 -0
- package/dist/client/_nuxt/ini.DeVv6D4_.js +1 -0
- package/dist/client/_nuxt/java.ClXEvkw9.js +68 -0
- package/dist/client/_nuxt/javascript.Dch3xQiY.js +699 -0
- package/dist/client/_nuxt/jinja.DWD-OL5F.js +1 -0
- package/dist/client/_nuxt/jison.CHwQvgii.js +1 -0
- package/dist/client/_nuxt/json.CupVZNk8.js +25 -0
- package/dist/client/_nuxt/json5.Bh8mriwU.js +17 -0
- package/dist/client/_nuxt/jsonc.DYI1rfmx.js +25 -0
- package/dist/client/_nuxt/jsonl.BUpeXbsf.js +25 -0
- package/dist/client/_nuxt/jsonnet.C9d3aiqh.js +1 -0
- package/dist/client/_nuxt/jssm.Dble9ECP.js +1 -0
- package/dist/client/_nuxt/jsx.CsyrCbsw.js +699 -0
- package/dist/client/_nuxt/julia.CO0c-z84.js +9 -0
- package/dist/client/_nuxt/kotlin.BIxS-Weu.js +1 -0
- package/dist/client/_nuxt/kusto.DIr-ordK.js +1 -0
- package/dist/client/_nuxt/latex.DZUj4xYJ.js +3 -0
- package/dist/client/_nuxt/less.DywwDckn.js +159 -0
- package/dist/client/_nuxt/light-plus.BsvsQ1iS.js +1 -0
- package/dist/client/_nuxt/liquid.Cp8214eI.js +14 -0
- package/dist/client/_nuxt/lisp.D4LhxNOI.js +1 -0
- package/dist/client/_nuxt/logo.DdacRhvC.js +1 -0
- package/dist/client/_nuxt/lua.0ontURQf.js +1 -0
- package/dist/client/_nuxt/make.B9S9BZZh.js +1 -0
- package/dist/client/_nuxt/markdown.CRQpHayV.js +129 -0
- package/dist/client/_nuxt/marko.Dg8Ifwb-.js +8 -0
- package/dist/client/_nuxt/material-theme-darker.BrGg7AAd.js +1 -0
- package/dist/client/_nuxt/material-theme-lighter.DDRuGeQH.js +1 -0
- package/dist/client/_nuxt/material-theme-ocean.CBL0qBdF.js +1 -0
- package/dist/client/_nuxt/material-theme-palenight.D7gg1Usp.js +1 -0
- package/dist/client/_nuxt/material-theme.B2BuIiKK.js +1 -0
- package/dist/client/_nuxt/matlab.Btshr8M_.js +70 -0
- package/dist/client/_nuxt/mdc.CdZ-F1IA.js +76 -0
- package/dist/client/_nuxt/mdx.CBPJd_fO.js +1 -0
- package/dist/client/_nuxt/mermaid.BSyl5yf0.js +1 -0
- package/dist/client/_nuxt/min-dark.iSbrOpM4.js +1 -0
- package/dist/client/_nuxt/min-light.BITGhEdf.js +1 -0
- package/dist/client/_nuxt/mojo.Cr5EkBff.js +519 -0
- package/dist/client/_nuxt/monokai.sMI-pExk.js +1 -0
- package/dist/client/_nuxt/move.Dl0g34Y3.js +1 -0
- package/dist/client/_nuxt/narrat.B9CT-1u6.js +7 -0
- package/dist/client/_nuxt/nextflow.DBxHOdLe.js +1 -0
- package/dist/client/_nuxt/nginx.DGQ8U8YC.js +1 -0
- package/dist/client/_nuxt/night-owl.BeocmOPF.js +1 -0
- package/dist/client/_nuxt/nim.By3iP3OP.js +1 -0
- package/dist/client/_nuxt/nix.Dszwcx0o.js +1 -0
- package/dist/client/_nuxt/nord.CsyjKwr8.js +1 -0
- package/dist/client/_nuxt/nushell.C56EW6Ky.js +1 -0
- package/dist/client/_nuxt/objective-c.DHmGyzbM.js +109 -0
- package/dist/client/_nuxt/objective-cpp.BWKJ1FCf.js +239 -0
- package/dist/client/_nuxt/ocaml.RqY_Nz63.js +1 -0
- package/dist/client/_nuxt/one-dark-pro.BC6PHXLE.js +1 -0
- package/dist/client/_nuxt/onig.BbrMXqi_.js +1 -0
- package/dist/client/_nuxt/pascal.Bz4xi2rU.js +1 -0
- package/dist/client/_nuxt/perl.Czv4QcIx.js +1 -0
- package/dist/client/_nuxt/php.DEqKwr-6.js +771 -0
- package/dist/client/_nuxt/plsql.BbJj1K1w.js +1 -0
- package/dist/client/_nuxt/poimandres.Cda-MJFk.js +1 -0
- package/dist/client/_nuxt/postcss.DXT9h7v2.js +1 -0
- package/dist/client/_nuxt/powerquery.CApMHEaB.js +1 -0
- package/dist/client/_nuxt/powershell.9ZOzOPqN.js +1 -0
- package/dist/client/_nuxt/prisma.BBJYjQ0k.js +1 -0
- package/dist/client/_nuxt/prolog.BH_RS3WO.js +1 -0
- package/dist/client/_nuxt/proto.DOtRmeXT.js +1 -0
- package/dist/client/_nuxt/pug.BWq4yR4F.js +1 -0
- package/dist/client/_nuxt/puppet.37ic6j3l.js +1 -0
- package/dist/client/_nuxt/purescript.CfPQhs6g.js +7 -0
- package/dist/client/_nuxt/python.DwuVtWc2.js +518 -0
- package/dist/client/_nuxt/r.BXfENWL6.js +1 -0
- package/dist/client/_nuxt/raku.D384ylkT.js +1 -0
- package/dist/client/_nuxt/razor.Cstpb-uc.js +40 -0
- package/dist/client/_nuxt/red.jaXbsbtS.js +1 -0
- package/dist/client/_nuxt/reg.CrhH3_Og.js +1 -0
- package/dist/client/_nuxt/rel.6Kuza3Wr.js +1 -0
- package/dist/client/_nuxt/riscv.AgnqFTPX.js +13 -0
- package/dist/client/_nuxt/rose-pine-dawn.Bj5xdiaE.js +1 -0
- package/dist/client/_nuxt/rose-pine-moon.CdedUr_-.js +1 -0
- package/dist/client/_nuxt/rose-pine.CX_FIdg1.js +1 -0
- package/dist/client/_nuxt/rst.CXc8L5wR.js +1 -0
- package/dist/client/_nuxt/ruby.D5H8ZR7S.js +80 -0
- package/dist/client/_nuxt/rust.j8KhMG0x.js +1 -0
- package/dist/client/_nuxt/sas.2Dj3KWk-.js +1 -0
- package/dist/client/_nuxt/sass.CMDmr8et.js +2 -0
- package/dist/client/_nuxt/scala.vMsNTMhM.js +5 -0
- package/dist/client/_nuxt/scheme.1Je9_Reo.js +136 -0
- package/dist/client/_nuxt/scss.Dr-_CcBd.js +90 -0
- package/dist/client/_nuxt/shaderlab.D_C8j_yu.js +1 -0
- package/dist/client/_nuxt/shellscript.BVYSsK7b.js +1 -0
- package/dist/client/_nuxt/shellsession.BgTI27pK.js +1 -0
- package/dist/client/_nuxt/slack-dark.C7oZ9nno.js +1 -0
- package/dist/client/_nuxt/slack-ochin.hXH8Gyq8.js +1 -0
- package/dist/client/_nuxt/smalltalk.DSsji4Hu.js +1 -0
- package/dist/client/_nuxt/solarized-dark.C86elO-m.js +1 -0
- package/dist/client/_nuxt/solarized-light.xPNGhBYe.js +1 -0
- package/dist/client/_nuxt/solidity.CThH5sBG.js +1 -0
- package/dist/client/_nuxt/sparql.DJ46LgWq.js +1 -0
- package/dist/client/_nuxt/splunk.6XBPEST2.js +1 -0
- package/dist/client/_nuxt/sql.DbK06e1c.js +21 -0
- package/dist/client/_nuxt/ssh-config.BH1M7C1g.js +1 -0
- package/dist/client/_nuxt/stata.DCIeX9IZ.js +3 -0
- package/dist/client/_nuxt/stylus.DSrLtGYv.js +15 -0
- package/dist/client/_nuxt/svelte.DPVrELNy.js +1 -0
- package/dist/client/_nuxt/swift.Dez-Qvcc.js +544 -0
- package/dist/client/_nuxt/synthwave-84.BBDuFDsq.js +1 -0
- package/dist/client/_nuxt/system-verilog.DzPyIVdT.js +9 -0
- package/dist/client/_nuxt/tasl.BxwAa5i0.js +1 -0
- package/dist/client/_nuxt/tcl.C_8Fx7bH.js +1 -0
- package/dist/client/_nuxt/terraform.CdYS7vZw.js +1 -0
- package/dist/client/_nuxt/tex.BKGhwytq.js +1 -0
- package/dist/client/_nuxt/tokyo-night.eJfcURhx.js +1 -0
- package/dist/client/_nuxt/toml.BT9ZzGyQ.js +69 -0
- package/dist/client/_nuxt/tsx.BlxWTfDV.js +699 -0
- package/dist/client/_nuxt/turtle.C15OxdQ5.js +1 -0
- package/dist/client/_nuxt/twig.BOpxGNkQ.js +40 -0
- package/dist/client/_nuxt/typescript.DC8MraHL.js +666 -0
- package/dist/client/_nuxt/typst.I4qd5QHW.js +10 -0
- package/dist/client/_nuxt/v.C2TBxDwV.js +1 -0
- package/dist/client/_nuxt/vb.beD-FUib.js +1 -0
- package/dist/client/_nuxt/verilog.DVfdqzEq.js +1 -0
- package/dist/client/_nuxt/vesper.BSB_bK09.js +1 -0
- package/dist/client/_nuxt/vhdl.QZ3jNtnE.js +515 -0
- package/dist/client/_nuxt/viml.BLluXI4E.js +1 -0
- package/dist/client/_nuxt/vitesse-black.BO-UM1Vz.js +1 -0
- package/dist/client/_nuxt/vitesse-dark.CHrOy2Zl.js +1 -0
- package/dist/client/_nuxt/vitesse-light.BXgTKZPQ.js +1 -0
- package/dist/client/_nuxt/vue-html.CONbZieF.js +1 -0
- package/dist/client/_nuxt/vue.BIFGmPSe.js +6 -0
- package/dist/client/_nuxt/vyper.o-cPXEvd.js +575 -0
- package/dist/client/_nuxt/wasm.Cicx_DS6.js +1 -0
- package/dist/client/_nuxt/wenyan.D3VXSfF0.js +1 -0
- package/dist/client/_nuxt/wgsl.BZz1Hhek.js +1 -0
- package/dist/client/_nuxt/wolfram.BICIrM8O.js +1 -0
- package/dist/client/_nuxt/xml.BzTcx3OS.js +1 -0
- package/dist/client/_nuxt/xsl.lJB8dDLf.js +1 -0
- package/dist/client/_nuxt/yaml.C5gCGmDW.js +200 -0
- package/dist/client/_nuxt/zenscript.B1nm99XP.js +2 -0
- package/dist/client/_nuxt/zig.BEeHvBXh.js +1 -0
- package/dist/client/index.html +229 -7
- package/dist/module.d.mts +7 -1
- package/dist/module.d.ts +7 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +12 -8
- package/dist/runtime/nitro/plugins/nuxt-content.mjs +2 -1
- package/dist/runtime/nitro/sitemap/builder/sitemap-index.mjs +5 -2
- package/dist/runtime/types.d.ts +7 -1
- package/package.json +23 -22
- package/dist/client/_nuxt/Icon.igAZdNwU.css +0 -1
- package/dist/client/_nuxt/IconCSS.TGpF5Cou.js +0 -1
- package/dist/client/_nuxt/IconCSS._VVd0cfH.css +0 -1
- package/dist/client/_nuxt/builds/meta/d17e65fe-31ee-4916-8142-618e3f8935de.json +0 -1
- package/dist/client/_nuxt/entry.8vuPgEH3.js +0 -31
- package/dist/client/_nuxt/index.P7jyS_57.js +0 -1
- /package/dist/client/_nuxt/{error-404.DkXpI38i.css → error-404.ORekjfyJ.css} +0 -0
- /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};
|