@shikijs/langs 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +7 -0
- package/dist/1c-query.d.mts +3 -0
- package/dist/1c-query.mjs +2 -0
- package/dist/1c.d.mts +3 -0
- package/dist/1c.mjs +2 -0
- package/dist/abap.d.mts +3 -0
- package/dist/abap.mjs +5 -0
- package/dist/actionscript-3.d.mts +3 -0
- package/dist/actionscript-3.mjs +5 -0
- package/dist/ada.d.mts +3 -0
- package/dist/ada.mjs +5 -0
- package/dist/adoc.d.mts +3 -0
- package/dist/adoc.mjs +2 -0
- package/dist/angular-expression.d.mts +3 -0
- package/dist/angular-expression.mjs +5 -0
- package/dist/angular-html.d.mts +3 -0
- package/dist/angular-html.mjs +16 -0
- package/dist/angular-inline-style.d.mts +3 -0
- package/dist/angular-inline-style.mjs +8 -0
- package/dist/angular-inline-template.d.mts +3 -0
- package/dist/angular-inline-template.mjs +10 -0
- package/dist/angular-let-declaration.d.mts +3 -0
- package/dist/angular-let-declaration.mjs +8 -0
- package/dist/angular-template-blocks.d.mts +3 -0
- package/dist/angular-template-blocks.mjs +10 -0
- package/dist/angular-template.d.mts +3 -0
- package/dist/angular-template.mjs +8 -0
- package/dist/angular-ts.d.mts +3 -0
- package/dist/angular-ts.mjs +18 -0
- package/dist/apache.d.mts +3 -0
- package/dist/apache.mjs +5 -0
- package/dist/apex.d.mts +3 -0
- package/dist/apex.mjs +5 -0
- package/dist/apl.d.mts +3 -0
- package/dist/apl.mjs +16 -0
- package/dist/applescript.d.mts +3 -0
- package/dist/applescript.mjs +5 -0
- package/dist/ara.d.mts +3 -0
- package/dist/ara.mjs +5 -0
- package/dist/asciidoc.d.mts +3 -0
- package/dist/asciidoc.mjs +5 -0
- package/dist/asm.d.mts +3 -0
- package/dist/asm.mjs +5 -0
- package/dist/astro.d.mts +3 -0
- package/dist/astro.mjs +16 -0
- package/dist/awk.d.mts +3 -0
- package/dist/awk.mjs +5 -0
- package/dist/ballerina.d.mts +3 -0
- package/dist/ballerina.mjs +5 -0
- package/dist/bash.d.mts +3 -0
- package/dist/bash.mjs +2 -0
- package/dist/bat.d.mts +3 -0
- package/dist/bat.mjs +5 -0
- package/dist/batch.d.mts +3 -0
- package/dist/batch.mjs +2 -0
- package/dist/be.d.mts +3 -0
- package/dist/be.mjs +2 -0
- package/dist/beancount.d.mts +3 -0
- package/dist/beancount.mjs +5 -0
- package/dist/berry.d.mts +3 -0
- package/dist/berry.mjs +5 -0
- package/dist/bibtex.d.mts +3 -0
- package/dist/bibtex.mjs +5 -0
- package/dist/bicep.d.mts +3 -0
- package/dist/bicep.mjs +5 -0
- package/dist/blade.d.mts +3 -0
- package/dist/blade.mjs +18 -0
- package/dist/bsl.d.mts +3 -0
- package/dist/bsl.mjs +8 -0
- package/dist/c.d.mts +3 -0
- package/dist/c.mjs +5 -0
- package/dist/cadence.d.mts +3 -0
- package/dist/cadence.mjs +5 -0
- package/dist/cairo.d.mts +3 -0
- package/dist/cairo.mjs +8 -0
- package/dist/cdc.d.mts +3 -0
- package/dist/cdc.mjs +2 -0
- package/dist/clarity.d.mts +3 -0
- package/dist/clarity.mjs +5 -0
- package/dist/clj.d.mts +3 -0
- package/dist/clj.mjs +2 -0
- package/dist/clojure.d.mts +3 -0
- package/dist/clojure.mjs +5 -0
- package/dist/closure-templates.d.mts +3 -0
- package/dist/closure-templates.mjs +2 -0
- package/dist/cmake.d.mts +3 -0
- package/dist/cmake.mjs +5 -0
- package/dist/cmd.d.mts +3 -0
- package/dist/cmd.mjs +2 -0
- package/dist/cobol.d.mts +3 -0
- package/dist/cobol.mjs +10 -0
- package/dist/codeowners.d.mts +3 -0
- package/dist/codeowners.mjs +5 -0
- package/dist/codeql.d.mts +3 -0
- package/dist/codeql.mjs +5 -0
- package/dist/coffee.d.mts +3 -0
- package/dist/coffee.mjs +8 -0
- package/dist/coffeescript.d.mts +3 -0
- package/dist/coffeescript.mjs +2 -0
- package/dist/common-lisp.d.mts +3 -0
- package/dist/common-lisp.mjs +5 -0
- package/dist/console.d.mts +3 -0
- package/dist/console.mjs +2 -0
- package/dist/coq.d.mts +3 -0
- package/dist/coq.mjs +5 -0
- package/dist/cpp-macro.d.mts +3 -0
- package/dist/cpp-macro.mjs +12 -0
- package/dist/cpp.d.mts +3 -0
- package/dist/cpp.mjs +14 -0
- package/dist/cql.d.mts +3 -0
- package/dist/cql.mjs +2 -0
- package/dist/crystal.d.mts +3 -0
- package/dist/crystal.mjs +18 -0
- package/dist/cs.d.mts +3 -0
- package/dist/cs.mjs +2 -0
- package/dist/csharp.d.mts +3 -0
- package/dist/csharp.mjs +5 -0
- package/dist/css.d.mts +3 -0
- package/dist/css.mjs +5 -0
- package/dist/csv.d.mts +3 -0
- package/dist/csv.mjs +5 -0
- package/dist/cue.d.mts +3 -0
- package/dist/cue.mjs +5 -0
- package/dist/cypher.d.mts +3 -0
- package/dist/cypher.mjs +5 -0
- package/dist/d.d.mts +3 -0
- package/dist/d.mjs +5 -0
- package/dist/dart.d.mts +3 -0
- package/dist/dart.mjs +5 -0
- package/dist/dax.d.mts +3 -0
- package/dist/dax.mjs +5 -0
- package/dist/desktop.d.mts +3 -0
- package/dist/desktop.mjs +5 -0
- package/dist/diff.d.mts +3 -0
- package/dist/diff.mjs +5 -0
- package/dist/docker.d.mts +3 -0
- package/dist/docker.mjs +5 -0
- package/dist/dockerfile.d.mts +3 -0
- package/dist/dockerfile.mjs +2 -0
- package/dist/dotenv.d.mts +3 -0
- package/dist/dotenv.mjs +5 -0
- package/dist/dream-maker.d.mts +3 -0
- package/dist/dream-maker.mjs +5 -0
- package/dist/edge.d.mts +3 -0
- package/dist/edge.mjs +12 -0
- package/dist/elisp.d.mts +3 -0
- package/dist/elisp.mjs +2 -0
- package/dist/elixir.d.mts +3 -0
- package/dist/elixir.mjs +8 -0
- package/dist/elm.d.mts +3 -0
- package/dist/elm.mjs +8 -0
- package/dist/emacs-lisp.d.mts +3 -0
- package/dist/emacs-lisp.mjs +5 -0
- package/dist/erb.d.mts +3 -0
- package/dist/erb.mjs +10 -0
- package/dist/erl.d.mts +3 -0
- package/dist/erl.mjs +2 -0
- package/dist/erlang.d.mts +3 -0
- package/dist/erlang.mjs +5 -0
- package/dist/es-tag-css.d.mts +3 -0
- package/dist/es-tag-css.mjs +12 -0
- package/dist/es-tag-glsl.d.mts +3 -0
- package/dist/es-tag-glsl.mjs +12 -0
- package/dist/es-tag-html.d.mts +3 -0
- package/dist/es-tag-html.mjs +12 -0
- package/dist/es-tag-sql.d.mts +3 -0
- package/dist/es-tag-sql.mjs +10 -0
- package/dist/es-tag-xml.d.mts +3 -0
- package/dist/es-tag-xml.mjs +8 -0
- package/dist/f.d.mts +3 -0
- package/dist/f.mjs +2 -0
- package/dist/f03.d.mts +3 -0
- package/dist/f03.mjs +2 -0
- package/dist/f08.d.mts +3 -0
- package/dist/f08.mjs +2 -0
- package/dist/f18.d.mts +3 -0
- package/dist/f18.mjs +2 -0
- package/dist/f77.d.mts +3 -0
- package/dist/f77.mjs +2 -0
- package/dist/f90.d.mts +3 -0
- package/dist/f90.mjs +2 -0
- package/dist/f95.d.mts +3 -0
- package/dist/f95.mjs +2 -0
- package/dist/fennel.d.mts +3 -0
- package/dist/fennel.mjs +5 -0
- package/dist/fish.d.mts +3 -0
- package/dist/fish.mjs +5 -0
- package/dist/fluent.d.mts +3 -0
- package/dist/fluent.mjs +5 -0
- package/dist/for.d.mts +3 -0
- package/dist/for.mjs +2 -0
- package/dist/fortran-fixed-form.d.mts +3 -0
- package/dist/fortran-fixed-form.mjs +8 -0
- package/dist/fortran-free-form.d.mts +3 -0
- package/dist/fortran-free-form.mjs +5 -0
- package/dist/fs.d.mts +3 -0
- package/dist/fs.mjs +2 -0
- package/dist/fsharp.d.mts +3 -0
- package/dist/fsharp.mjs +8 -0
- package/dist/fsl.d.mts +3 -0
- package/dist/fsl.mjs +2 -0
- package/dist/ftl.d.mts +3 -0
- package/dist/ftl.mjs +2 -0
- package/dist/gdresource.d.mts +3 -0
- package/dist/gdresource.mjs +10 -0
- package/dist/gdscript.d.mts +3 -0
- package/dist/gdscript.mjs +5 -0
- package/dist/gdshader.d.mts +3 -0
- package/dist/gdshader.mjs +5 -0
- package/dist/genie.d.mts +3 -0
- package/dist/genie.mjs +5 -0
- package/dist/gherkin.d.mts +3 -0
- package/dist/gherkin.mjs +5 -0
- package/dist/git-commit.d.mts +3 -0
- package/dist/git-commit.mjs +8 -0
- package/dist/git-rebase.d.mts +3 -0
- package/dist/git-rebase.mjs +8 -0
- package/dist/gjs.d.mts +3 -0
- package/dist/gjs.mjs +2 -0
- package/dist/gleam.d.mts +3 -0
- package/dist/gleam.mjs +5 -0
- package/dist/glimmer-js.d.mts +3 -0
- package/dist/glimmer-js.mjs +14 -0
- package/dist/glimmer-ts.d.mts +3 -0
- package/dist/glimmer-ts.mjs +14 -0
- package/dist/glsl.d.mts +3 -0
- package/dist/glsl.mjs +8 -0
- package/dist/gnuplot.d.mts +3 -0
- package/dist/gnuplot.mjs +5 -0
- package/dist/go.d.mts +3 -0
- package/dist/go.mjs +5 -0
- package/dist/gql.d.mts +3 -0
- package/dist/gql.mjs +2 -0
- package/dist/graphql.d.mts +3 -0
- package/dist/graphql.mjs +14 -0
- package/dist/groovy.d.mts +3 -0
- package/dist/groovy.mjs +5 -0
- package/dist/gts.d.mts +3 -0
- package/dist/gts.mjs +2 -0
- package/dist/hack.d.mts +3 -0
- package/dist/hack.mjs +10 -0
- package/dist/haml.d.mts +3 -0
- package/dist/haml.mjs +10 -0
- package/dist/handlebars.d.mts +3 -0
- package/dist/handlebars.mjs +14 -0
- package/dist/haskell.d.mts +3 -0
- package/dist/haskell.mjs +5 -0
- package/dist/haxe.d.mts +3 -0
- package/dist/haxe.mjs +5 -0
- package/dist/hbs.d.mts +3 -0
- package/dist/hbs.mjs +2 -0
- package/dist/hcl.d.mts +3 -0
- package/dist/hcl.mjs +5 -0
- package/dist/hjson.d.mts +3 -0
- package/dist/hjson.mjs +5 -0
- package/dist/hlsl.d.mts +3 -0
- package/dist/hlsl.mjs +5 -0
- package/dist/hs.d.mts +3 -0
- package/dist/hs.mjs +2 -0
- package/dist/html-derivative.d.mts +3 -0
- package/dist/html-derivative.mjs +8 -0
- package/dist/html.d.mts +3 -0
- package/dist/html.mjs +10 -0
- package/dist/http.d.mts +3 -0
- package/dist/http.mjs +14 -0
- package/dist/hxml.d.mts +3 -0
- package/dist/hxml.mjs +8 -0
- package/dist/hy.d.mts +3 -0
- package/dist/hy.mjs +5 -0
- package/dist/imba.d.mts +3 -0
- package/dist/imba.mjs +8 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +239 -0
- package/dist/ini.d.mts +3 -0
- package/dist/ini.mjs +5 -0
- package/dist/jade.d.mts +3 -0
- package/dist/jade.mjs +2 -0
- package/dist/java.d.mts +3 -0
- package/dist/java.mjs +5 -0
- package/dist/javascript.d.mts +3 -0
- package/dist/javascript.mjs +5 -0
- package/dist/jinja-html.d.mts +3 -0
- package/dist/jinja-html.mjs +8 -0
- package/dist/jinja.d.mts +3 -0
- package/dist/jinja.mjs +8 -0
- package/dist/jison.d.mts +3 -0
- package/dist/jison.mjs +8 -0
- package/dist/jl.d.mts +3 -0
- package/dist/jl.mjs +2 -0
- package/dist/js.d.mts +3 -0
- package/dist/js.mjs +2 -0
- package/dist/json.d.mts +3 -0
- package/dist/json.mjs +5 -0
- package/dist/json5.d.mts +3 -0
- package/dist/json5.mjs +5 -0
- package/dist/jsonc.d.mts +3 -0
- package/dist/jsonc.mjs +5 -0
- package/dist/jsonl.d.mts +3 -0
- package/dist/jsonl.mjs +5 -0
- package/dist/jsonnet.d.mts +3 -0
- package/dist/jsonnet.mjs +5 -0
- package/dist/jssm.d.mts +3 -0
- package/dist/jssm.mjs +5 -0
- package/dist/jsx.d.mts +3 -0
- package/dist/jsx.mjs +5 -0
- package/dist/julia.d.mts +3 -0
- package/dist/julia.mjs +16 -0
- package/dist/kotlin.d.mts +3 -0
- package/dist/kotlin.mjs +5 -0
- package/dist/kql.d.mts +3 -0
- package/dist/kql.mjs +2 -0
- package/dist/kt.d.mts +3 -0
- package/dist/kt.mjs +2 -0
- package/dist/kts.d.mts +3 -0
- package/dist/kts.mjs +2 -0
- package/dist/kusto.d.mts +3 -0
- package/dist/kusto.mjs +5 -0
- package/dist/latex.d.mts +3 -0
- package/dist/latex.mjs +8 -0
- package/dist/lean.d.mts +3 -0
- package/dist/lean.mjs +5 -0
- package/dist/lean4.d.mts +3 -0
- package/dist/lean4.mjs +2 -0
- package/dist/less.d.mts +3 -0
- package/dist/less.mjs +5 -0
- package/dist/liquid.d.mts +3 -0
- package/dist/liquid.mjs +14 -0
- package/dist/lisp.d.mts +3 -0
- package/dist/lisp.mjs +2 -0
- package/dist/lit.d.mts +3 -0
- package/dist/lit.mjs +2 -0
- package/dist/log.d.mts +3 -0
- package/dist/log.mjs +5 -0
- package/dist/logo.d.mts +3 -0
- package/dist/logo.mjs +5 -0
- package/dist/lua.d.mts +3 -0
- package/dist/lua.mjs +8 -0
- package/dist/luau.d.mts +3 -0
- package/dist/luau.mjs +5 -0
- package/dist/make.d.mts +3 -0
- package/dist/make.mjs +5 -0
- package/dist/makefile.d.mts +3 -0
- package/dist/makefile.mjs +2 -0
- package/dist/markdown-vue.d.mts +3 -0
- package/dist/markdown-vue.mjs +5 -0
- package/dist/markdown.d.mts +3 -0
- package/dist/markdown.mjs +5 -0
- package/dist/marko.d.mts +3 -0
- package/dist/marko.mjs +14 -0
- package/dist/matlab.d.mts +3 -0
- package/dist/matlab.mjs +5 -0
- package/dist/md.d.mts +3 -0
- package/dist/md.mjs +2 -0
- package/dist/mdc.d.mts +3 -0
- package/dist/mdc.mjs +12 -0
- package/dist/mdx.d.mts +3 -0
- package/dist/mdx.mjs +5 -0
- package/dist/mediawiki.d.mts +3 -0
- package/dist/mediawiki.mjs +2 -0
- package/dist/mermaid.d.mts +3 -0
- package/dist/mermaid.mjs +5 -0
- package/dist/mips.d.mts +3 -0
- package/dist/mips.mjs +2 -0
- package/dist/mipsasm.d.mts +3 -0
- package/dist/mipsasm.mjs +5 -0
- package/dist/mmd.d.mts +3 -0
- package/dist/mmd.mjs +2 -0
- package/dist/mojo.d.mts +3 -0
- package/dist/mojo.mjs +5 -0
- package/dist/move.d.mts +3 -0
- package/dist/move.mjs +5 -0
- package/dist/nar.d.mts +3 -0
- package/dist/nar.mjs +2 -0
- package/dist/narrat.d.mts +3 -0
- package/dist/narrat.mjs +5 -0
- package/dist/nextflow.d.mts +3 -0
- package/dist/nextflow.mjs +5 -0
- package/dist/nf.d.mts +3 -0
- package/dist/nf.mjs +2 -0
- package/dist/nginx.d.mts +3 -0
- package/dist/nginx.mjs +8 -0
- package/dist/nim.d.mts +3 -0
- package/dist/nim.mjs +20 -0
- package/dist/nix.d.mts +3 -0
- package/dist/nix.mjs +5 -0
- package/dist/nu.d.mts +3 -0
- package/dist/nu.mjs +2 -0
- package/dist/nushell.d.mts +3 -0
- package/dist/nushell.mjs +5 -0
- package/dist/objc.d.mts +3 -0
- package/dist/objc.mjs +2 -0
- package/dist/objective-c.d.mts +3 -0
- package/dist/objective-c.mjs +5 -0
- package/dist/objective-cpp.d.mts +3 -0
- package/dist/objective-cpp.mjs +5 -0
- package/dist/ocaml.d.mts +3 -0
- package/dist/ocaml.mjs +5 -0
- package/dist/pascal.d.mts +3 -0
- package/dist/pascal.mjs +5 -0
- package/dist/perl.d.mts +3 -0
- package/dist/perl.mjs +16 -0
- package/dist/perl6.d.mts +3 -0
- package/dist/perl6.mjs +2 -0
- package/dist/php.d.mts +3 -0
- package/dist/php.mjs +18 -0
- package/dist/plsql.d.mts +3 -0
- package/dist/plsql.mjs +5 -0
- package/dist/po.d.mts +3 -0
- package/dist/po.mjs +5 -0
- package/dist/polar.d.mts +3 -0
- package/dist/polar.mjs +5 -0
- package/dist/postcss.d.mts +3 -0
- package/dist/postcss.mjs +5 -0
- package/dist/pot.d.mts +3 -0
- package/dist/pot.mjs +2 -0
- package/dist/potx.d.mts +3 -0
- package/dist/potx.mjs +2 -0
- package/dist/powerquery.d.mts +3 -0
- package/dist/powerquery.mjs +5 -0
- package/dist/powershell.d.mts +3 -0
- package/dist/powershell.mjs +5 -0
- package/dist/prisma.d.mts +3 -0
- package/dist/prisma.mjs +5 -0
- package/dist/prolog.d.mts +3 -0
- package/dist/prolog.mjs +5 -0
- package/dist/properties.d.mts +3 -0
- package/dist/properties.mjs +2 -0
- package/dist/proto.d.mts +3 -0
- package/dist/proto.mjs +5 -0
- package/dist/protobuf.d.mts +3 -0
- package/dist/protobuf.mjs +2 -0
- package/dist/ps.d.mts +3 -0
- package/dist/ps.mjs +2 -0
- package/dist/ps1.d.mts +3 -0
- package/dist/ps1.mjs +2 -0
- package/dist/pug.d.mts +3 -0
- package/dist/pug.mjs +12 -0
- package/dist/puppet.d.mts +3 -0
- package/dist/puppet.mjs +5 -0
- package/dist/purescript.d.mts +3 -0
- package/dist/purescript.mjs +5 -0
- package/dist/py.d.mts +3 -0
- package/dist/py.mjs +2 -0
- package/dist/python.d.mts +3 -0
- package/dist/python.mjs +5 -0
- package/dist/ql.d.mts +3 -0
- package/dist/ql.mjs +2 -0
- package/dist/qml.d.mts +3 -0
- package/dist/qml.mjs +8 -0
- package/dist/qmldir.d.mts +3 -0
- package/dist/qmldir.mjs +5 -0
- package/dist/qss.d.mts +3 -0
- package/dist/qss.mjs +5 -0
- package/dist/r.d.mts +3 -0
- package/dist/r.mjs +5 -0
- package/dist/racket.d.mts +3 -0
- package/dist/racket.mjs +5 -0
- package/dist/raku.d.mts +3 -0
- package/dist/raku.mjs +5 -0
- package/dist/razor.d.mts +3 -0
- package/dist/razor.mjs +10 -0
- package/dist/rb.d.mts +3 -0
- package/dist/rb.mjs +2 -0
- package/dist/reg.d.mts +3 -0
- package/dist/reg.mjs +5 -0
- package/dist/regex.d.mts +3 -0
- package/dist/regex.mjs +2 -0
- package/dist/regexp.d.mts +3 -0
- package/dist/regexp.mjs +5 -0
- package/dist/rel.d.mts +3 -0
- package/dist/rel.mjs +5 -0
- package/dist/riscv.d.mts +3 -0
- package/dist/riscv.mjs +5 -0
- package/dist/rs.d.mts +3 -0
- package/dist/rs.mjs +2 -0
- package/dist/rst.d.mts +3 -0
- package/dist/rst.mjs +22 -0
- package/dist/ruby.d.mts +3 -0
- package/dist/ruby.mjs +30 -0
- package/dist/rust.d.mts +3 -0
- package/dist/rust.mjs +5 -0
- package/dist/sas.d.mts +3 -0
- package/dist/sas.mjs +8 -0
- package/dist/sass.d.mts +3 -0
- package/dist/sass.mjs +5 -0
- package/dist/scala.d.mts +3 -0
- package/dist/scala.mjs +5 -0
- package/dist/scheme.d.mts +3 -0
- package/dist/scheme.mjs +5 -0
- package/dist/scss.d.mts +3 -0
- package/dist/scss.mjs +8 -0
- package/dist/sdbl.d.mts +3 -0
- package/dist/sdbl.mjs +5 -0
- package/dist/sh.d.mts +3 -0
- package/dist/sh.mjs +2 -0
- package/dist/shader.d.mts +3 -0
- package/dist/shader.mjs +2 -0
- package/dist/shaderlab.d.mts +3 -0
- package/dist/shaderlab.mjs +8 -0
- package/dist/shell.d.mts +3 -0
- package/dist/shell.mjs +2 -0
- package/dist/shellscript.d.mts +3 -0
- package/dist/shellscript.mjs +5 -0
- package/dist/shellsession.d.mts +3 -0
- package/dist/shellsession.mjs +8 -0
- package/dist/smalltalk.d.mts +3 -0
- package/dist/smalltalk.mjs +5 -0
- package/dist/solidity.d.mts +3 -0
- package/dist/solidity.mjs +5 -0
- package/dist/soy.d.mts +3 -0
- package/dist/soy.mjs +8 -0
- package/dist/sparql.d.mts +3 -0
- package/dist/sparql.mjs +8 -0
- package/dist/spl.d.mts +3 -0
- package/dist/spl.mjs +2 -0
- package/dist/splunk.d.mts +3 -0
- package/dist/splunk.mjs +5 -0
- package/dist/sql.d.mts +3 -0
- package/dist/sql.mjs +5 -0
- package/dist/ssh-config.d.mts +3 -0
- package/dist/ssh-config.mjs +5 -0
- package/dist/stata.d.mts +3 -0
- package/dist/stata.mjs +8 -0
- package/dist/styl.d.mts +3 -0
- package/dist/styl.mjs +2 -0
- package/dist/stylus.d.mts +3 -0
- package/dist/stylus.mjs +5 -0
- package/dist/svelte.d.mts +3 -0
- package/dist/svelte.mjs +14 -0
- package/dist/swift.d.mts +3 -0
- package/dist/swift.mjs +5 -0
- package/dist/system-verilog.d.mts +3 -0
- package/dist/system-verilog.mjs +5 -0
- package/dist/systemd.d.mts +3 -0
- package/dist/systemd.mjs +5 -0
- package/dist/talon.d.mts +3 -0
- package/dist/talon.mjs +2 -0
- package/dist/talonscript.d.mts +3 -0
- package/dist/talonscript.mjs +5 -0
- package/dist/tasl.d.mts +3 -0
- package/dist/tasl.mjs +5 -0
- package/dist/tcl.d.mts +3 -0
- package/dist/tcl.mjs +5 -0
- package/dist/templ.d.mts +3 -0
- package/dist/templ.mjs +12 -0
- package/dist/terraform.d.mts +3 -0
- package/dist/terraform.mjs +5 -0
- package/dist/tex.d.mts +3 -0
- package/dist/tex.mjs +8 -0
- package/dist/tf.d.mts +3 -0
- package/dist/tf.mjs +2 -0
- package/dist/tfvars.d.mts +3 -0
- package/dist/tfvars.mjs +2 -0
- package/dist/toml.d.mts +3 -0
- package/dist/toml.mjs +5 -0
- package/dist/ts-tags.d.mts +3 -0
- package/dist/ts-tags.mjs +18 -0
- package/dist/ts.d.mts +3 -0
- package/dist/ts.mjs +2 -0
- package/dist/tsp.d.mts +3 -0
- package/dist/tsp.mjs +2 -0
- package/dist/tsv.d.mts +3 -0
- package/dist/tsv.mjs +5 -0
- package/dist/tsx.d.mts +3 -0
- package/dist/tsx.mjs +5 -0
- package/dist/turtle.d.mts +3 -0
- package/dist/turtle.mjs +5 -0
- package/dist/twig.d.mts +3 -0
- package/dist/twig.mjs +18 -0
- package/dist/typ.d.mts +3 -0
- package/dist/typ.mjs +2 -0
- package/dist/typescript.d.mts +3 -0
- package/dist/typescript.mjs +5 -0
- package/dist/typespec.d.mts +3 -0
- package/dist/typespec.mjs +5 -0
- package/dist/typst.d.mts +3 -0
- package/dist/typst.mjs +5 -0
- package/dist/v.d.mts +3 -0
- package/dist/v.mjs +5 -0
- package/dist/vala.d.mts +3 -0
- package/dist/vala.mjs +5 -0
- package/dist/vb.d.mts +3 -0
- package/dist/vb.mjs +5 -0
- package/dist/verilog.d.mts +3 -0
- package/dist/verilog.mjs +5 -0
- package/dist/vhdl.d.mts +3 -0
- package/dist/vhdl.mjs +5 -0
- package/dist/vim.d.mts +3 -0
- package/dist/vim.mjs +2 -0
- package/dist/viml.d.mts +3 -0
- package/dist/viml.mjs +5 -0
- package/dist/vimscript.d.mts +3 -0
- package/dist/vimscript.mjs +2 -0
- package/dist/vue-directives.d.mts +3 -0
- package/dist/vue-directives.mjs +5 -0
- package/dist/vue-html.d.mts +3 -0
- package/dist/vue-html.mjs +10 -0
- package/dist/vue-interpolations.d.mts +3 -0
- package/dist/vue-interpolations.mjs +5 -0
- package/dist/vue-sfc-style-variable-injection.d.mts +3 -0
- package/dist/vue-sfc-style-variable-injection.mjs +8 -0
- package/dist/vue.d.mts +3 -0
- package/dist/vue.mjs +26 -0
- package/dist/vy.d.mts +3 -0
- package/dist/vy.mjs +2 -0
- package/dist/vyper.d.mts +3 -0
- package/dist/vyper.mjs +5 -0
- package/dist/wasm.d.mts +3 -0
- package/dist/wasm.mjs +5 -0
- package/dist/wenyan.d.mts +3 -0
- package/dist/wenyan.mjs +5 -0
- package/dist/wgsl.d.mts +3 -0
- package/dist/wgsl.mjs +5 -0
- package/dist/wiki.d.mts +3 -0
- package/dist/wiki.mjs +2 -0
- package/dist/wikitext.d.mts +3 -0
- package/dist/wikitext.mjs +5 -0
- package/dist/wl.d.mts +3 -0
- package/dist/wl.mjs +2 -0
- package/dist/wolfram.d.mts +3 -0
- package/dist/wolfram.mjs +5 -0
- package/dist/xml.d.mts +3 -0
- package/dist/xml.mjs +8 -0
- package/dist/xsl.d.mts +3 -0
- package/dist/xsl.mjs +8 -0
- package/dist/yaml.d.mts +3 -0
- package/dist/yaml.mjs +5 -0
- package/dist/yml.d.mts +3 -0
- package/dist/yml.mjs +2 -0
- package/dist/zenscript.d.mts +3 -0
- package/dist/zenscript.mjs +5 -0
- package/dist/zig.d.mts +3 -0
- package/dist/zig.mjs +5 -0
- package/dist/zsh.d.mts +3 -0
- package/dist/zsh.mjs +2 -0
- package/package.json +354 -0
package/dist/cql.d.mts
ADDED
package/dist/cql.mjs
ADDED
package/dist/crystal.mjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import html from './html.mjs'
|
|
2
|
+
import sql from './sql.mjs'
|
|
3
|
+
import css from './css.mjs'
|
|
4
|
+
import c from './c.mjs'
|
|
5
|
+
import javascript from './javascript.mjs'
|
|
6
|
+
import shellscript from './shellscript.mjs'
|
|
7
|
+
|
|
8
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Crystal\",\"fileTypes\":[\"cr\"],\"firstLineMatch\":\"^#!/.*\\\\bcrystal\",\"foldingStartMarker\":\"^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\\"(\\\\\\\\.|[^\\\"])*+\\\"|'(\\\\\\\\.|[^'])*+'|[^#\\\"'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-+=&|*/~%^<>~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\\\"(\\\\\\\\.|[^\\\"])*+\\\"|'(\\\\\\\\.|[^'])*+'|[^#\\\"'])*(\\\\{(?![^}]*+\\\\})|\\\\[(?![^\\\\]]*+\\\\]))).*$|[#].*?\\\\(fold\\\\)\\\\s*+$\",\"foldingStopMarker\":\"((^|;)\\\\s*+end\\\\s*+([#].*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[}\\\\]],?\\\\s*+([#].*)?$|[#].*?\\\\(end\\\\)\\\\s*+$|^=end)\",\"name\":\"crystal\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.class.crystal\"},\"2\":{\"name\":\"keyword.control.class.crystal\"},\"3\":{\"name\":\"entity.name.type.class.crystal\"},\"5\":{\"name\":\"punctuation.separator.crystal\"},\"6\":{\"name\":\"support.class.other.type-param.crystal\"},\"7\":{\"name\":\"entity.other.inherited-class.crystal\"},\"8\":{\"name\":\"punctuation.separator.crystal\"},\"9\":{\"name\":\"punctuation.separator.crystal\"},\"10\":{\"name\":\"support.class.other.type-param.crystal\"},\"11\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.A-Z_:\\\\x{80}-\\\\x{10FFFF}][.\\\\w:\\\\x{80}-\\\\x{10FFFF}]*(\\\\(([,\\\\s.a-zA-Z0-9_:\\\\x{80}-\\\\x{10FFFF}]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\w\\\\x{80}-\\\\x{10FFFF}]*(\\\\(([.a-zA-Z0-9_:]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.A-Z0-9_:\\\\x{80}-\\\\x{10FFFF}]+))\",\"name\":\"meta.class.crystal\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.module.crystal\"},\"2\":{\"name\":\"entity.name.type.module.crystal\"},\"3\":{\"name\":\"entity.other.inherited-class.module.first.crystal\"},\"4\":{\"name\":\"punctuation.separator.inheritance.crystal\"},\"5\":{\"name\":\"entity.other.inherited-class.module.second.crystal\"},\"6\":{\"name\":\"punctuation.separator.inheritance.crystal\"},\"7\":{\"name\":\"entity.other.inherited-class.module.third.crystal\"},\"8\":{\"name\":\"punctuation.separator.inheritance.crystal\"}},\"match\":\"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*)\",\"name\":\"meta.module.crystal\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.lib.crystal\"},\"2\":{\"name\":\"entity.name.type.lib.crystal\"},\"3\":{\"name\":\"entity.other.inherited-class.lib.first.crystal\"},\"4\":{\"name\":\"punctuation.separator.inheritance.crystal\"},\"5\":{\"name\":\"entity.other.inherited-class.lib.second.crystal\"},\"6\":{\"name\":\"punctuation.separator.inheritance.crystal\"},\"7\":{\"name\":\"entity.other.inherited-class.lib.third.crystal\"},\"8\":{\"name\":\"punctuation.separator.inheritance.crystal\"}},\"match\":\"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)\",\"name\":\"meta.lib.crystal\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.lib.type.crystal\"},\"2\":{\"name\":\"entity.name.lib.type.crystal\"},\"3\":{\"name\":\"keyword.control.lib.crystal\"},\"4\":{\"name\":\"entity.name.lib.type.value.crystal\"}},\"comment\":\"type in lib\",\"match\":\"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)\",\"name\":\"meta.lib.type.crystal\"},{\"comment\":\"everything being a reserved word, not a value, and needing a 'end' is a..\",\"match\":\"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![?!:])\",\"name\":\"keyword.control.crystal\"},{\"comment\":\"everything being a reserved word, not a value, and not needing a 'end' is a..\",\"match\":\"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![?!:])\",\"name\":\"keyword.control.primary.crystal\"},{\"comment\":\"everything being a spec keyword, not a value, and needing a block is a..\",\"match\":\"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![?!:])\",\"name\":\"keyword.control.crystal\"},{\"comment\":\"contextual smart pair support for block parameters\",\"match\":\"(?<!\\\\.)\\\\bdo\\\\b\\\\s*\",\"name\":\"keyword.control.start-block.crystal\"},{\"comment\":\"contextual smart pair support\",\"match\":\"(?<=\\\\{)(\\\\s+)\",\"name\":\"meta.syntax.crystal.start-block\"},{\"comment\":\"Just as above but being not a logical operation\",\"match\":\"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![?!:])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\b)\",\"name\":\"keyword.control.pseudo-method.crystal\"},{\"match\":\"\\\\bnil\\\\b(?![?!:])\",\"name\":\"constant.language.nil.crystal\"},{\"match\":\"\\\\b(true|false)\\\\b(?![?!:])\",\"name\":\"constant.language.boolean.crystal\"},{\"match\":\"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![?!:])\",\"name\":\"variable.language.crystal\"},{\"match\":\"\\\\b(self)\\\\b(?![?!:])\",\"name\":\"variable.language.self.crystal\"},{\"comment\":\"https://crystal-lang.org/api/0.36.1/Object.html#macro-summary\",\"match\":\"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![?!:])\",\"name\":\"support.function.kernel.crystal\"},{\"begin\":\"\\\\b(require)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.other.special-method.crystal\"}},\"end\":\"$|(?=#)\",\"name\":\"meta.require.crystal\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(@)[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*[?!=]?\",\"name\":\"variable.other.readwrite.instance.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(@@)[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*[?!=]?\",\"name\":\"variable.other.readwrite.class.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(\\\\$)[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.global.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(?!%[Qxrqwi]?[(\\\\[{<\\\\|])%([a-zA-Z_]\\\\w*\\\\.)*[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.fresh.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(\\\\$)(!|@|&|`|'|\\\\+|\\\\d+|~|=|/|\\\\\\\\|,|;|\\\\.|<|>|_|\\\\*|\\\\$|\\\\?|:|\\\"|-[0adFiIlpv])\",\"name\":\"variable.other.readwrite.global.pre-defined.crystal\"},{\"begin\":\"\\\\b(ENV)\\\\[\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.constant.crystal\"}},\"end\":\"\\\\]\",\"name\":\"meta.environment-variable.crystal\",\"patterns\":[{\"include\":\"$self\"}]},{\"comment\":\"Literals name of Crystal\",\"match\":\"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*\",\"name\":\"support.class.crystal\"},{\"comment\":\"Fetch from https://crystal-lang.org/api/0.36.1/toplevel.html\",\"match\":\"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|p|pp|print|printf|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![?!:])\",\"name\":\"support.function.kernel.crystal\"},{\"comment\":\"Constant name in any where\",\"match\":\"\\\\b[_A-Z]+\\\\b\",\"name\":\"variable.other.constant.crystal\"},{\"begin\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|\\\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][?=]?|\\\\[]=?))\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.def.crystal\"},\"2\":{\"name\":\"entity.name.function.crystal\"},\"3\":{\"name\":\"punctuation.definition.parameters.crystal\"}},\"comment\":\"The method pattern comes from the symbol pattern. See there for an explanation.\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.crystal\"}},\"name\":\"meta.function.method.with-arguments.crystal\",\"patterns\":[{\"begin\":\"(?![\\\\s,)])\",\"end\":\"(?=,|\\\\)\\\\s*)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.variable.crystal\"},\"2\":{\"name\":\"constant.other.symbol.hashkey.parameter.function.crystal\"},\"3\":{\"name\":\"punctuation.definition.constant.hashkey.crystal\"},\"4\":{\"name\":\"variable.parameter.function.crystal\"}},\"match\":\"\\\\G([&*]?)(?:([_a-zA-Z]\\\\w*(:))|([_a-zA-Z]\\\\w*))\"},{\"include\":\"$self\"}]}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.def.crystal\"},\"3\":{\"name\":\"entity.name.function.crystal\"}},\"comment\":\" the optional name is just to catch the def also without a method-name\",\"match\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|\\\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][?=]?|\\\\[]=?)))?\",\"name\":\"meta.function.method.without-arguments.crystal\"},{\"comment\":\"Floating point literal (fraction)\",\"match\":\"\\\\b\\\\d[0-9_]*\\\\.\\\\d[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\\\b\",\"name\":\"constant.numeric.float.crystal\"},{\"comment\":\"Floating point literal (exponent)\",\"match\":\"\\\\b\\\\d[0-9_]*(\\\\.\\\\d[0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\\\b\",\"name\":\"constant.numeric.float.crystal\"},{\"comment\":\"Floating point literal (typed)\",\"match\":\"\\\\b\\\\d[0-9_]*(\\\\.\\\\d[0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\\\b\",\"name\":\"constant.numeric.float.crystal\"},{\"comment\":\"Integer literal (decimal)\",\"match\":\"\\\\b(?!0\\\\d)\\\\d[0-9_]*([ui](8|16|32|64|128))?\\\\b\",\"name\":\"constant.numeric.integer.decimal.crystal\"},{\"comment\":\"Integer literal (hexadecimal)\",\"match\":\"\\\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128))?\\\\b\",\"name\":\"constant.numeric.integer.hexadecimal.crystal\"},{\"comment\":\"Integer literal (octal)\",\"match\":\"\\\\b0o[0-7_]+([ui](8|16|32|64|128))?\\\\b\",\"name\":\"constant.numeric.integer.octal.crystal\"},{\"comment\":\"Integer literal (binary)\",\"match\":\"\\\\b0b[01_]+([ui](8|16|32|64|128))?\\\\b\",\"name\":\"constant.numeric.integer.binary.crystal\"},{\"begin\":\":'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.crystal\"}},\"comment\":\"symbol literal with '' delimiter\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.crystal\"}},\"name\":\"constant.other.symbol.crystal\",\"patterns\":[{\"match\":\"\\\\\\\\['\\\\\\\\]\",\"name\":\"constant.character.escape.crystal\"}]},{\"begin\":\":\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.symbol.begin.crystal\"}},\"comment\":\"symbol literal with \\\"\\\" delimiter\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.symbol.end.crystal\"}},\"name\":\"constant.other.symbol.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"comment\":\"Needs higher precedence than regular expressions.\",\"match\":\"(?<!\\\\()/=\",\"name\":\"keyword.operator.assignment.augmented.crystal\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"string literal with '' delimiter\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.single.crystal\",\"patterns\":[{\"match\":\"\\\\\\\\'|\\\\\\\\\\\\\\\\\",\"name\":\"constant.character.escape.crystal\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"string literal with interpolation and \\\"\\\" delimiter\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.double.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"execute string (allows for interpolation)\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%x\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"execute string (allow for interpolation)\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%x\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"execute string (allow for interpolation)\",\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%x<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"execute string (allow for interpolation)\",\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%x\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"execute string (allow for interpolation)\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%x\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"execute string (allow for interpolation)\",\"end\":\"\\\\|\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.interpolated.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?:^|(?<=[=>~(?:\\\\[,|&;]|[\\\\s;]if\\\\s|[\\\\s;]elsif\\\\s|[\\\\s;]while\\\\s|[\\\\s;]unless\\\\s|[\\\\s;]when\\\\s|[\\\\s;]assert_match\\\\s|[\\\\s;]or\\\\s|[\\\\s;]and\\\\s|[\\\\s;]not\\\\s|[\\\\s.]index\\\\s|[\\\\s.]scan\\\\s|[\\\\s.]sub\\\\s|[\\\\s.]sub!\\\\s|[\\\\s.]gsub\\\\s|[\\\\s.]gsub!\\\\s|[\\\\s.]match\\\\s)|(?<=^when\\\\s|^if\\\\s|^elsif\\\\s|^while\\\\s|^unless\\\\s))\\\\s*((/))(?![*+{}?])\",\"captures\":{\"1\":{\"name\":\"string.regexp.classic.crystal\"},\"2\":{\"name\":\"punctuation.definition.string.crystal\"}},\"comment\":\"regular expressions (normal) we only start a regexp if the character before it (excluding whitespace) is what we think is before a regexp\",\"contentName\":\"string.regexp.classic.crystal\",\"end\":\"((/[imsx]*))\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"%r\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"regular expressions (literal)\",\"end\":\"\\\\}[imsx]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.regexp.mod-r.crystal\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_curly_r\"}]},{\"begin\":\"%r\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"regular expressions (literal)\",\"end\":\"\\\\][imsx]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.regexp.mod-r.crystal\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_brackets_r\"}]},{\"begin\":\"%r\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"regular expressions (literal)\",\"end\":\"\\\\)[imsx]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.regexp.mod-r.crystal\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_parens_r\"}]},{\"begin\":\"%r<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"regular expressions (literal)\",\"end\":\">[imsx]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.regexp.mod-r.crystal\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_ltgt_r\"}]},{\"begin\":\"%r\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"regular expressions (literal)\",\"end\":\"\\\\|[imsx]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.regexp.mod-r.crystal\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"%Q?\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal capable of interpolation ()\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.upper.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%Q?\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal capable of interpolation []\",\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.upper.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%Q?<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal capable of interpolation <>\",\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.upper.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%Q?\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal capable of interpolation -- {}\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.double.crystal.mod\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%Q\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal capable of interpolation -- ||\",\"end\":\"\\\\|\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.upper.crystal\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%[qwi]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal incapable of interpolation -- ()\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.lower.crystal\",\"patterns\":[{\"match\":\"\\\\\\\\\\\\)|\\\\\\\\\\\\\\\\\",\"name\":\"constant.character.escape.crystal\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%[qwi]<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal incapable of interpolation -- <>\",\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.lower.crystal\",\"patterns\":[{\"match\":\"\\\\\\\\>|\\\\\\\\\\\\\\\\\",\"name\":\"constant.character.escape.crystal\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%[qwi]\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal incapable of interpolation -- []\",\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.lower.crystal\",\"patterns\":[{\"match\":\"\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\\",\"name\":\"constant.character.escape.crystal\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%[qwi]\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal incapable of interpolation -- {}\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.lower.crystal\",\"patterns\":[{\"match\":\"\\\\\\\\\\\\}|\\\\\\\\\\\\\\\\\",\"name\":\"constant.character.escape.crystal\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%[qwi]\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"literal incapable of interpolation -- ||\",\"end\":\"\\\\|\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.quoted.other.literal.lower.crystal\",\"patterns\":[{\"comment\":\"Cant be named because its not necessarily an escape.\",\"match\":\"\\\\\\\\.\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.crystal\"}},\"comment\":\"symbols\",\"match\":\"(?<!:)(:)(?>[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\][?=]?|@@?[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*)\",\"name\":\"constant.other.symbol.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.crystal\"}},\"comment\":\"symbols\",\"match\":\"(?>[a-zA-Z_\\\\x{80}-\\\\x{10FFFF}][\\\\w\\\\x{80}-\\\\x{10FFFF}]*(?>[?!])?)(:)(?!:)\",\"name\":\"constant.other.symbol.crystal.19syntax\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.crystal\"}},\"match\":\"(?:^[ \\\\t]+)?(#).*$\\\\n?\",\"name\":\"comment.line.number-sign.crystal\"},{\"match\":\"(?<!}})\\\\b_([\\\\w]+[?!]?)\\\\b(?!\\\\()\",\"name\":\"comment.unused.crystal\"},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded HTML and indented terminator\",\"contentName\":\"text.html.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.html.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"text.html.basic\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded SQL and indented terminator\",\"contentName\":\"text.sql.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.sql.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.sql\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded css and intented terminator\",\"contentName\":\"text.css.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.css.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.css\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded c++ and intented terminator\",\"contentName\":\"text.c++.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.cplusplus.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.c++\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded c++ and intented terminator\",\"contentName\":\"text.c.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.c.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.c\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)(?:JS|JAVASCRIPT))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded javascript and intented terminator\",\"contentName\":\"text.js.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.js.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.js\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded javascript and intented terminator\",\"contentName\":\"text.js.jquery.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.js.jquery.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.js.jquery\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)(?:SH|SHELL))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded shell and intented terminator\",\"contentName\":\"text.shell.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.shell.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.shell\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with embedded crystal and intented terminator\",\"contentName\":\"text.crystal.embedded.crystal\",\"end\":\"\\\\s*\\\\2\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.embedded.crystal.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"source.crystal\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-'(\\\\w+)')\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with indented terminator\",\"end\":\"\\\\s*\\\\1\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.heredoc.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?><<-(\\\\w+)\\\\b)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.crystal\"}},\"comment\":\"heredoc with indented terminator\",\"end\":\"\\\\s*\\\\1\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.crystal\"}},\"name\":\"string.unquoted.heredoc.crystal\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<={|{\\\\s|[^A-Za-z0-9_]do|^do|[^A-Za-z0-9_]do\\\\s|^do\\\\s)(\\\\|)\",\"captures\":{\"1\":{\"name\":\"punctuation.separator.variable.crystal\"}},\"end\":\"(?<!\\\\|)(\\\\|)(?!\\\\|)\",\"patterns\":[{\"include\":\"source.crystal\"},{\"match\":\"[_a-zA-Z][_a-zA-Z0-9]*\",\"name\":\"variable.other.block.crystal\"},{\"match\":\",\",\"name\":\"punctuation.separator.variable.crystal\"}]},{\"match\":\"=>\",\"name\":\"punctuation.separator.key-value\"},{\"match\":\"->\",\"name\":\"support.function.kernel.crystal\"},{\"match\":\"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<\",\"name\":\"keyword.operator.assignment.augmented.crystal\"},{\"match\":\"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\\\t])\\\\?\",\"name\":\"keyword.operator.comparison.crystal\"},{\"match\":\"(?<=^|[ \\\\t])!|&&|\\\\|\\\\||\\\\^\",\"name\":\"keyword.operator.logical.crystal\"},{\"match\":\"(\\\\{\\\\%|\\\\%\\\\}|\\\\{\\\\{|\\\\}\\\\})\",\"name\":\"keyword.operator.macro.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.method.crystal\"}},\"comment\":\"Safe navigation operator\",\"match\":\"(&\\\\.)\\\\s*(?![A-Z])\"},{\"match\":\"(%|&|\\\\*\\\\*|\\\\*|\\\\+|-|/)\",\"name\":\"keyword.operator.arithmetic.crystal\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.crystal\"},{\"match\":\"\\\\||~|>>\",\"name\":\"keyword.operator.other.crystal\"},{\"match\":\":\",\"name\":\"punctuation.separator.other.crystal\"},{\"match\":\"\\\\;\",\"name\":\"punctuation.separator.statement.crystal\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.crystal\"},{\"match\":\"\\\\.|::\",\"name\":\"punctuation.separator.method.crystal\"},{\"match\":\"\\\\{|\\\\}\",\"name\":\"punctuation.section.scope.crystal\"},{\"match\":\"\\\\[|\\\\]\",\"name\":\"punctuation.section.array.crystal\"},{\"match\":\"\\\\(|\\\\)\",\"name\":\"punctuation.section.function.crystal\"},{\"begin\":\"(?=[a-zA-Z0-9_!?]+\\\\()\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.function-call.crystal\",\"patterns\":[{\"match\":\"([a-zA-Z0-9_!?]+)(?=\\\\()\",\"name\":\"entity.name.function.crystal\"},{\"include\":\"$self\"}]},{\"comment\":\"This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors\",\"match\":\"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([\\\\])}=+\\\\-\\\\*\\\\/\\\\^$\\\\,\\\\.]|<\\\\s|<<[\\\\s|\\\\.]))\",\"name\":\"variable.other.crystal\"}],\"repository\":{\"escaped_char\":{\"comment\":\"https://crystal-lang.org/reference/syntax_and_semantics/literals/string.html\",\"match\":\"\\\\\\\\(?:[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\\\\{[a-fA-F0-9 ]+\\\\}|.)\",\"name\":\"constant.character.escape.crystal\"},\"heredoc\":{\"begin\":\"^<<-?\\\\w+\",\"end\":\"$\",\"patterns\":[{\"include\":\"$self\"}]},\"interpolated_crystal\":{\"patterns\":[{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.crystal\"}},\"contentName\":\"source.crystal\",\"end\":\"(\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.crystal\"},\"1\":{\"name\":\"source.crystal\"}},\"name\":\"meta.embedded.line.crystal\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"},{\"include\":\"$self\"}],\"repository\":{\"nest_curly_and_self\":{\"patterns\":[{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"}]},{\"include\":\"$self\"}]}}},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(#@)[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.instance.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(#@@)[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.class.crystal\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.crystal\"}},\"match\":\"(#\\\\$)[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.global.crystal\"}]},\"nest_brackets\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#nest_brackets\"}]},\"nest_brackets_i\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},\"nest_brackets_r\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_brackets_r\"}]},\"nest_curly\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#nest_curly\"}]},\"nest_curly_and_self\":{\"patterns\":[{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"}]},{\"include\":\"$self\"}]},\"nest_curly_i\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},\"nest_curly_r\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_curly_r\"}]},\"nest_ltgt\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#nest_ltgt\"}]},\"nest_ltgt_i\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},\"nest_ltgt_r\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_ltgt_r\"}]},\"nest_parens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#nest_parens\"}]},\"nest_parens_i\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},\"nest_parens_r\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.crystal\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_parens_r\"}]},\"regex_sub\":{\"patterns\":[{\"include\":\"#interpolated_crystal\"},{\"include\":\"#escaped_char\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arbitrary-repetition.crystal\"},\"3\":{\"name\":\"punctuation.definition.arbitrary-repetition.crystal\"}},\"match\":\"({)\\\\d+(,\\\\d+)?(})\",\"name\":\"string.regexp.arbitrary-repetition.crystal\"},{\"begin\":\"\\\\[(?:\\\\^?])?\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.character-class.crystal\"}},\"end\":\"]\",\"name\":\"string.regexp.character-class.crystal\",\"patterns\":[{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.group.crystal\"}},\"end\":\"\\\\)\",\"name\":\"string.regexp.group.crystal\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.crystal\"}},\"comment\":\"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.\",\"match\":\"(?<=^|\\\\s)(#)\\\\s[[a-zA-Z0-9,. \\\\t?!-][^\\\\x{00}-\\\\x{7F}]]*$\",\"name\":\"comment.line.number-sign.crystal\"}]}},\"scopeName\":\"source.crystal\",\"embeddedLangs\":[\"html\",\"sql\",\"css\",\"c\",\"javascript\",\"shellscript\"]}"))
|
|
9
|
+
|
|
10
|
+
export default [
|
|
11
|
+
...html,
|
|
12
|
+
...sql,
|
|
13
|
+
...css,
|
|
14
|
+
...c,
|
|
15
|
+
...javascript,
|
|
16
|
+
...shellscript,
|
|
17
|
+
lang
|
|
18
|
+
]
|
package/dist/cs.d.mts
ADDED
package/dist/cs.mjs
ADDED
package/dist/csharp.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const lang = Object.freeze(JSON.parse("{\"displayName\":\"C#\",\"name\":\"csharp\",\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#directives\"},{\"include\":\"#declarations\"},{\"include\":\"#script-top-level\"}],\"repository\":{\"accessor-getter\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"contentName\":\"meta.accessor.getter.cs\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#statement\"}]},{\"include\":\"#accessor-getter-expression\"},{\"include\":\"#punctuation-semicolon\"}]},\"accessor-getter-expression\":{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.arrow.cs\"}},\"contentName\":\"meta.accessor.getter.cs\",\"end\":\"(?=;|\\\\})\",\"patterns\":[{\"include\":\"#ref-modifier\"},{\"include\":\"#expression\"}]},\"accessor-setter\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"contentName\":\"meta.accessor.setter.cs\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#statement\"}]},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.arrow.cs\"}},\"contentName\":\"meta.accessor.setter.cs\",\"end\":\"(?=;|\\\\})\",\"patterns\":[{\"include\":\"#ref-modifier\"},{\"include\":\"#expression\"}]},{\"include\":\"#punctuation-semicolon\"}]},\"anonymous-method-expression\":{\"patterns\":[{\"begin\":\"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)(?:(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b|(\\\\()(?<tuple>(?:[^()]|\\\\(\\\\g<tuple>\\\\))*)(\\\\)))\\\\s*(=>)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"async|static\",\"name\":\"storage.modifier.$0.cs\"}]},\"2\":{\"name\":\"entity.name.variable.parameter.cs\"},\"3\":{\"name\":\"punctuation.parenthesis.open.cs\"},\"4\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#explicit-anonymous-function-parameter\"},{\"include\":\"#implicit-anonymous-function-parameter\"},{\"include\":\"#default-argument\"},{\"include\":\"#punctuation-comma\"}]},\"5\":{\"name\":\"punctuation.parenthesis.close.cs\"},\"6\":{\"name\":\"keyword.operator.arrow.cs\"}},\"end\":\"(?=[,;)}])\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"(?={)\",\"end\":\"(?=[,;)}])\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#intrusive\"}]},{\"begin\":\"\\\\b(ref)\\\\b|(?=\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ref.cs\"}},\"end\":\"(?=[,;)}])\",\"patterns\":[{\"include\":\"#expression\"}]}]},{\"begin\":\"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)\\\\b(delegate)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"async|static\",\"name\":\"storage.modifier.$0.cs\"}]},\"2\":{\"name\":\"storage.type.delegate.cs\"}},\"end\":\"(?<=})|(?=[,;)}])\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#explicit-anonymous-function-parameter\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#block\"}]}]},\"anonymous-object-creation-expression\":{\"begin\":\"\\\\b(new)\\\\b\\\\s*(?=\\\\{|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.new.cs\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#initializer-expression\"}]},\"argument\":{\"patterns\":[{\"match\":\"\\\\b(ref|in)\\\\b\",\"name\":\"storage.modifier.$1.cs\"},{\"begin\":\"\\\\b(out)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.out.cs\"}},\"end\":\"(?=,|\\\\)|\\\\])\",\"patterns\":[{\"include\":\"#declaration-expression-local\"},{\"include\":\"#expression\"}]},{\"include\":\"#expression\"}]},\"argument-list\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#named-argument\"},{\"include\":\"#argument\"},{\"include\":\"#punctuation-comma\"}]},\"array-creation-expression\":{\"begin\":\"\\\\b(new|stackalloc)\\\\b\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))?\\\\s*(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.$1.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]}},\"end\":\"(?<=\\\\])\",\"patterns\":[{\"include\":\"#bracketed-argument-list\"}]},\"as-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.as.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]}},\"match\":\"(?<!\\\\.)\\\\b(as)\\\\b\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?(?!\\\\?))?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*\\\\](?:\\\\s*\\\\?(?!\\\\?))?)*))?\"},\"assignment-expression\":{\"begin\":\"(?:\\\\*|/|%|\\\\+|-|\\\\?\\\\?|\\\\&|\\\\^|<<|>>>?|\\\\|)?=(?!=|>)\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#assignment-operators\"}]}},\"end\":\"(?=[,)\\\\];}])\",\"patterns\":[{\"include\":\"#ref-modifier\"},{\"include\":\"#expression\"}]},\"assignment-operators\":{\"patterns\":[{\"match\":\"\\\\*=|/=|%=|\\\\+=|-=|\\\\?\\\\?=\",\"name\":\"keyword.operator.assignment.compound.cs\"},{\"match\":\"\\\\&=|\\\\^=|<<=|>>>?=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.cs\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.cs\"}]},\"attribute\":{\"patterns\":[{\"include\":\"#type-name\"},{\"include\":\"#type-arguments\"},{\"include\":\"#attribute-arguments\"}]},\"attribute-arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#attribute-named-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"attribute-named-argument\":{\"begin\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(?==)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.variable.property.cs\"}},\"end\":\"(?=(,|\\\\)))\",\"patterns\":[{\"include\":\"#operator-assignment\"},{\"include\":\"#expression\"}]},\"attribute-section\":{\"begin\":\"(\\\\[)(assembly|module|field|event|method|param|property|return|type)?(:)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.squarebracket.open.cs\"},\"2\":{\"name\":\"keyword.other.attribute-specifier.cs\"},\"3\":{\"name\":\"punctuation.separator.colon.cs\"}},\"end\":\"(\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.squarebracket.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute\"},{\"include\":\"#punctuation-comma\"}]},\"await-expression\":{\"match\":\"(?<!\\\\.\\\\s*)\\\\b(await)\\\\b\",\"name\":\"keyword.operator.expression.await.cs\"},\"await-statement\":{\"begin\":\"(?<!\\\\.\\\\s*)\\\\b(await)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.await.cs\"}},\"end\":\"(?<=})|(?=;|})\",\"patterns\":[{\"include\":\"#foreach-statement\"},{\"include\":\"#using-statement\"},{\"include\":\"#expression\"}]},\"base-types\":{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.colon.cs\"}},\"end\":\"(?=\\\\{|where|;)\",\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#preprocessor\"}]},\"block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#statement\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?<!\\\\.)\\\\btrue\\\\b\",\"name\":\"constant.language.boolean.true.cs\"},{\"match\":\"(?<!\\\\.)\\\\bfalse\\\\b\",\"name\":\"constant.language.boolean.false.cs\"}]},\"bracketed-argument-list\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.cs\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.cs\"}},\"patterns\":[{\"include\":\"#named-argument\"},{\"include\":\"#argument\"},{\"include\":\"#punctuation-comma\"}]},\"bracketed-parameter-list\":{\"begin\":\"(?=(\\\\[))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.squarebracket.open.cs\"}},\"end\":\"(?=(\\\\]))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.squarebracket.close.cs\"}},\"patterns\":[{\"begin\":\"(?<=\\\\[)\",\"end\":\"(?=\\\\])\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute-section\"},{\"include\":\"#parameter\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#variable-initializer\"}]}]},\"break-or-continue-statement\":{\"match\":\"(?<!\\\\.)\\\\b(break|continue)\\\\b\",\"name\":\"keyword.control.flow.$1.cs\"},\"case-guard\":{\"patterns\":[{\"include\":\"#parenthesized-expression\"},{\"include\":\"#expression\"}]},\"cast-expression\":{\"captures\":{\"1\":{\"name\":\"punctuation.parenthesis.open.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"match\":\"(\\\\()\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s*(\\\\))(?=\\\\s*-*!*@?[_0-9A-Za-z(])\"},\"casted-constant-pattern\":{\"begin\":\"(\\\\()([\\\\s.:@_0-9A-Za-z]+)(\\\\))(?=[\\\\s+\\\\-!~]*@?[_0-9A-Za-z('\\\"]+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.parenthesis.open.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type-builtin\"},{\"include\":\"#type-name\"}]},\"3\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#casted-constant-pattern\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#constant-pattern\"}]},{\"include\":\"#constant-pattern\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.alias.cs\"},\"2\":{\"name\":\"punctuation.separator.coloncolon.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(::)\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.cs\"},\"2\":{\"name\":\"punctuation.accessor.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(\\\\.)\"},{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"variable.other.constant.cs\"}]},\"catch-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(catch)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.exception.catch.cs\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.local.cs\"}},\"match\":\"(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s*(?:(\\\\g<identifier>)\\\\b)?\"}]},{\"include\":\"#when-clause\"},{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"char-character-escape\":{\"match\":\"\\\\\\\\(x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4}|.)\",\"name\":\"constant.character.escape.cs\"},\"char-literal\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.char.begin.cs\"}},\"end\":\"(\\\\')|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.char.end.cs\"},\"2\":{\"name\":\"invalid.illegal.newline.cs\"}},\"name\":\"string.quoted.single.cs\",\"patterns\":[{\"include\":\"#char-character-escape\"}]},\"class-declaration\":{\"begin\":\"(?=(\\\\brecord\\\\b\\\\s+)?\\\\bclass\\\\b)\",\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"begin\":\"(\\\\b(record)\\\\b\\\\s+)?\\\\b(class)\\\\b\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*\",\"beginCaptures\":{\"2\":{\"name\":\"storage.type.record.cs\"},\"3\":{\"name\":\"storage.type.class.cs\"},\"4\":{\"name\":\"entity.name.type.class.cs\"}},\"end\":\"(?=\\\\{)|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#base-types\"},{\"include\":\"#generic-constraints\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#class-or-struct-members\"}]},{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"}]},\"class-or-struct-members\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#type-declarations\"},{\"include\":\"#property-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#event-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#constructor-declaration\"},{\"include\":\"#destructor-declaration\"},{\"include\":\"#operator-declaration\"},{\"include\":\"#conversion-operator-declaration\"},{\"include\":\"#method-declaration\"},{\"include\":\"#attribute-section\"},{\"include\":\"#punctuation-semicolon\"}]},\"combinator-pattern\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.expression.pattern.combinator.$1.cs\"},\"comment\":{\"patterns\":[{\"begin\":\"(^\\\\s+)?(///)(?!/)\",\"captures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.cs\"},\"2\":{\"name\":\"punctuation.definition.comment.cs\"}},\"name\":\"comment.block.documentation.cs\",\"patterns\":[{\"include\":\"#xml-doc-comment\"}],\"while\":\"^(\\\\s*)(///)(?!/)\"},{\"begin\":\"(^\\\\s+)?(/\\\\*\\\\*)(?!/)\",\"captures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.cs\"},\"2\":{\"name\":\"punctuation.definition.comment.cs\"}},\"end\":\"(^\\\\s+)?(\\\\*/)\",\"name\":\"comment.block.documentation.cs\",\"patterns\":[{\"begin\":\"\\\\G(?=(?~\\\\*/)$)\",\"patterns\":[{\"include\":\"#xml-doc-comment\"}],\"while\":\"^(\\\\s*+)(\\\\*(?!/))?(?=(?~\\\\*/)$)\",\"whileCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.cs\"},\"2\":{\"name\":\"punctuation.definition.comment.cs\"}}},{\"include\":\"#xml-doc-comment\"}]},{\"begin\":\"(^\\\\s+)?(//).*$\",\"captures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.cs\"},\"2\":{\"name\":\"punctuation.definition.comment.cs\"}},\"name\":\"comment.line.double-slash.cs\",\"while\":\"^(\\\\s*)(//).*$\"},{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.cs\"}},\"end\":\"\\\\*/\",\"name\":\"comment.block.cs\"}]},\"conditional-operator\":{\"patterns\":[{\"match\":\"\\\\?(?!\\\\?|\\\\s*[.\\\\[])\",\"name\":\"keyword.operator.conditional.question-mark.cs\"},{\"match\":\":\",\"name\":\"keyword.operator.conditional.colon.cs\"}]},\"constant-pattern\":{\"patterns\":[{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#char-literal\"},{\"include\":\"#string-literal\"},{\"include\":\"#raw-string-literal\"},{\"include\":\"#verbatim-string-literal\"},{\"include\":\"#type-operator-expression\"},{\"include\":\"#expression-operator-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#casted-constant-pattern\"}]},\"constructor-declaration\":{\"begin\":\"(?=@?[_A-Za-z][_0-9A-Za-z]*\\\\s*\\\\()\",\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.colon.cs\"}},\"end\":\"(?=\\\\{|=>)\",\"patterns\":[{\"include\":\"#constructor-initializer\"}]},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"constructor-initializer\":{\"begin\":\"\\\\b(base|this)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"variable.language.$1.cs\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"context-control-paren-statement\":{\"patterns\":[{\"include\":\"#fixed-statement\"},{\"include\":\"#lock-statement\"},{\"include\":\"#using-statement\"}]},\"context-control-statement\":{\"match\":\"\\\\b(checked|unchecked|unsafe)\\\\b(?!\\\\s*[@_A-Za-z(])\",\"name\":\"keyword.control.context.$1.cs\"},\"conversion-operator-declaration\":{\"begin\":\"(?<explicit_or_implicit_keyword>(?:\\\\b(?:explicit|implicit)))\\\\s*(?<operator_keyword>(?:\\\\b(?:operator)))\\\\s*(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.explicit.cs\"}},\"match\":\"\\\\b(explicit)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.implicit.cs\"}},\"match\":\"\\\\b(implicit)\\\\b\"}]},\"2\":{\"name\":\"storage.type.operator.cs\"},\"3\":{\"patterns\":[{\"include\":\"#type\"}]}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"declaration-expression-local\":{\"captures\":{\"1\":{\"name\":\"storage.type.var.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.local.cs\"}},\"match\":\"(?:\\\\b(var)\\\\b|(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*)))\\\\s+(\\\\g<identifier>)\\\\b\\\\s*(?=[,)\\\\]])\"},\"declaration-expression-tuple\":{\"captures\":{\"1\":{\"name\":\"storage.type.var.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.tuple-element.cs\"}},\"match\":\"(?:\\\\b(var)\\\\b|(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*)))\\\\s+(\\\\g<identifier>)\\\\b\\\\s*(?=[,)])\"},\"declarations\":{\"patterns\":[{\"include\":\"#namespace-declaration\"},{\"include\":\"#type-declarations\"},{\"include\":\"#punctuation-semicolon\"}]},\"default-argument\":{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.cs\"}},\"end\":\"(?=,|\\\\))\",\"patterns\":[{\"include\":\"#expression\"}]},\"default-literal-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.default.cs\"}},\"match\":\"\\\\b(default)\\\\b\"},\"delegate-declaration\":{\"begin\":\"(?:\\\\b(delegate)\\\\b)\\\\s+(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.delegate.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.type.delegate.cs\"},\"8\":{\"patterns\":[{\"include\":\"#type-parameter-list\"}]}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#generic-constraints\"}]},\"designation-pattern\":{\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"include\":\"#designation-pattern\"}]},{\"include\":\"#simple-designation-pattern\"}]},\"destructor-declaration\":{\"begin\":\"(~)(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.tilde.cs\"},\"2\":{\"name\":\"entity.name.function.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"directives\":{\"patterns\":[{\"include\":\"#extern-alias-directive\"},{\"include\":\"#using-directive\"},{\"include\":\"#attribute-section\"},{\"include\":\"#punctuation-semicolon\"}]},\"discard-pattern\":{\"match\":\"_(?![_0-9A-Za-z])\",\"name\":\"variable.language.discard.cs\"},\"do-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(do)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.do.cs\"}},\"end\":\"(?=;|})\",\"patterns\":[{\"include\":\"#statement\"}]},\"double-raw-interpolation\":{\"begin\":\"(?<=[^{][^{]|^)((?:\\\\{)*)(\\\\{\\\\{)(?=[^{])\",\"beginCaptures\":{\"1\":{\"name\":\"string.quoted.double.cs\"},\"2\":{\"name\":\"punctuation.definition.interpolation.begin.cs\"}},\"end\":\"\\\\}\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.end.cs\"}},\"name\":\"meta.interpolation.cs\",\"patterns\":[{\"include\":\"#expression\"}]},\"element-access-expression\":{\"begin\":\"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)?(?:(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.null-conditional.cs\"},\"2\":{\"name\":\"punctuation.accessor.cs\"},\"3\":{\"name\":\"punctuation.accessor.pointer.cs\"},\"4\":{\"name\":\"variable.other.object.property.cs\"},\"5\":{\"name\":\"keyword.operator.null-conditional.cs\"}},\"end\":\"(?<=\\\\])(?!\\\\s*\\\\[)\",\"patterns\":[{\"include\":\"#bracketed-argument-list\"}]},\"else-part\":{\"begin\":\"(?<!\\\\.)\\\\b(else)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.else.cs\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#statement\"}]},\"enum-declaration\":{\"begin\":\"(?=\\\\benum\\\\b)\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"begin\":\"(?=enum)\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"storage.type.enum.cs\"},\"2\":{\"name\":\"entity.name.type.enum.cs\"}},\"match\":\"(enum)\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.colon.cs\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#type\"}]}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#attribute-section\"},{\"include\":\"#punctuation-comma\"},{\"begin\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.variable.enum-member.cs\"}},\"end\":\"(?=(,|\\\\}))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]}]},{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"}]},\"event-accessors\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute-section\"},{\"begin\":\"\\\\b(add|remove)\\\\b\\\\s*(?=\\\\{|;|=>|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.accessor.$1.cs\"}},\"end\":\"(?<=\\\\}|;)|(?=\\\\})\",\"patterns\":[{\"include\":\"#accessor-setter\"}]}]},\"event-declaration\":{\"begin\":\"\\\\b(event)\\\\b\\\\s*(?<return_type>(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(\\\\g<identifier>)\\\\s*(?=\\\\{|;|,|=|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.event.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"8\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"9\":{\"name\":\"entity.name.variable.event.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#event-accessors\"},{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.variable.event.cs\"},{\"include\":\"#punctuation-comma\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.cs\"}},\"end\":\"(?<=,)|(?=;)\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]}]},\"explicit-anonymous-function-parameter\":{\"captures\":{\"1\":{\"name\":\"storage.modifier.$1.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.parameter.cs\"}},\"match\":\"(?:\\\\b(ref|params|out|in)\\\\b\\\\s*)?(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args><(?:[^<>]|\\\\g<type_args>)*>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)*\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s*\\\\b(\\\\g<identifier>)\\\\b\"},\"expression\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#expression-operator-expression\"},{\"include\":\"#type-operator-expression\"},{\"include\":\"#default-literal-expression\"},{\"include\":\"#throw-expression\"},{\"include\":\"#raw-interpolated-string\"},{\"include\":\"#interpolated-string\"},{\"include\":\"#verbatim-interpolated-string\"},{\"include\":\"#type-builtin\"},{\"include\":\"#language-variable\"},{\"include\":\"#switch-statement-or-expression\"},{\"include\":\"#with-expression\"},{\"include\":\"#conditional-operator\"},{\"include\":\"#assignment-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#await-expression\"},{\"include\":\"#query-expression\"},{\"include\":\"#as-expression\"},{\"include\":\"#is-expression\"},{\"include\":\"#anonymous-method-expression\"},{\"include\":\"#object-creation-expression\"},{\"include\":\"#array-creation-expression\"},{\"include\":\"#anonymous-object-creation-expression\"},{\"include\":\"#invocation-expression\"},{\"include\":\"#member-access-expression\"},{\"include\":\"#element-access-expression\"},{\"include\":\"#cast-expression\"},{\"include\":\"#literal\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#tuple-deconstruction-assignment\"},{\"include\":\"#initializer-expression\"},{\"include\":\"#identifier\"}]},\"expression-body\":{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.arrow.cs\"}},\"end\":\"(?=[,);}])\",\"patterns\":[{\"include\":\"#ref-modifier\"},{\"include\":\"#expression\"}]},\"expression-operator-expression\":{\"begin\":\"\\\\b(checked|unchecked|nameof)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.$1.cs\"},\"2\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"<<|>>>?\",\"name\":\"keyword.operator.bitwise.shift.cs\"},{\"match\":\"==|!=\",\"name\":\"keyword.operator.comparison.cs\"},{\"match\":\"<=|>=|<|>\",\"name\":\"keyword.operator.relational.cs\"},{\"match\":\"!|&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.cs\"},{\"match\":\"\\\\&|~|\\\\^|\\\\|\",\"name\":\"keyword.operator.bitwise.cs\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.cs\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.cs\"},{\"match\":\"\\\\+|-(?!>)|\\\\*|/|%\",\"name\":\"keyword.operator.arithmetic.cs\"},{\"match\":\"\\\\?\\\\?\",\"name\":\"keyword.operator.null-coalescing.cs\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.range.cs\"}]},\"extern-alias-directive\":{\"begin\":\"\\\\b(extern)\\\\s+(alias)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.directive.extern.cs\"},\"2\":{\"name\":\"keyword.other.directive.alias.cs\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"variable.other.alias.cs\"}]},\"field-declaration\":{\"begin\":\"(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s*(?!=>|==)(?=,|;|=|$)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.field.cs\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.variable.field.cs\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#class-or-struct-members\"}]},\"finally-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(finally)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.exception.finally.cs\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"fixed-statement\":{\"begin\":\"\\\\b(fixed)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.context.fixed.cs\"}},\"end\":\"(?<=\\\\))|(?=;|})\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#local-variable-declaration\"}]}]},\"for-statement\":{\"begin\":\"\\\\b(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.for.cs\"}},\"end\":\"(?<=\\\\))|(?=;|})\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"begin\":\"(?=[^;)])\",\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#local-variable-declaration\"}]},{\"begin\":\"(?=;)\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]}]}]},\"foreach-statement\":{\"begin\":\"\\\\b(foreach)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.foreach.cs\"}},\"end\":\"(?<=\\\\))|(?=;|})\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#intrusive\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ref.cs\"},\"2\":{\"name\":\"storage.type.var.cs\"},\"3\":{\"patterns\":[{\"include\":\"#type\"}]},\"8\":{\"name\":\"entity.name.variable.local.cs\"},\"9\":{\"name\":\"keyword.control.loop.in.cs\"}},\"match\":\"(?:(?:(\\\\bref)\\\\s+)?(\\\\bvar\\\\b)|(?<type_name>(?:(?:ref\\\\s+)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*)))\\\\s+(\\\\g<identifier>)\\\\s+\\\\b(in)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.var.cs\"},\"2\":{\"patterns\":[{\"include\":\"#tuple-declaration-deconstruction-element-list\"}]},\"3\":{\"name\":\"keyword.control.loop.in.cs\"}},\"match\":\"(?:\\\\b(var)\\\\b\\\\s*)?(?<tuple>\\\\((?:[^()]|\\\\g<tuple>)+\\\\))\\\\s+\\\\b(in)\\\\b\"},{\"include\":\"#expression\"}]}]},\"generic-constraints\":{\"begin\":\"(where)\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.where.cs\"},\"2\":{\"name\":\"entity.name.type.type-parameter.cs\"},\"3\":{\"name\":\"punctuation.separator.colon.cs\"}},\"end\":\"(?=\\\\{|where|;|=>)\",\"patterns\":[{\"match\":\"\\\\bclass\\\\b\",\"name\":\"storage.type.class.cs\"},{\"match\":\"\\\\bstruct\\\\b\",\"name\":\"storage.type.struct.cs\"},{\"match\":\"\\\\bdefault\\\\b\",\"name\":\"keyword.other.constraint.default.cs\"},{\"match\":\"\\\\bnotnull\\\\b\",\"name\":\"keyword.other.constraint.notnull.cs\"},{\"match\":\"\\\\bunmanaged\\\\b\",\"name\":\"keyword.other.constraint.unmanaged.cs\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.new.cs\"},\"2\":{\"name\":\"punctuation.parenthesis.open.cs\"},\"3\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"match\":\"(new)\\\\s*(\\\\()\\\\s*(\\\\))\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#generic-constraints\"}]},\"goto-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(goto)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.goto.cs\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.case.cs\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.conditional.default.cs\"}},\"match\":\"\\\\b(default)\\\\b\"},{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.label.cs\"}]},\"group-by\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.query.by.cs\"}},\"match\":\"\\\\b(by)\\\\b\\\\s*\"},\"group-clause\":{\"begin\":\"\\\\b(group)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.group.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#group-by\"},{\"include\":\"#group-into\"},{\"include\":\"#query-body\"},{\"include\":\"#expression\"}]},\"group-into\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.query.into.cs\"},\"2\":{\"name\":\"entity.name.variable.range-variable.cs\"}},\"match\":\"\\\\b(into)\\\\b\\\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\\\\s*\"},\"identifier\":{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"variable.other.readwrite.cs\"},\"if-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(if)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.if.cs\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"implicit-anonymous-function-parameter\":{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\\\\b\",\"name\":\"entity.name.variable.parameter.cs\"},\"indexer-declaration\":{\"begin\":\"(?<return_type>(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<indexer_name>this)\\\\s*(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"8\":{\"name\":\"variable.language.this.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#bracketed-parameter-list\"},{\"include\":\"#property-accessors\"},{\"include\":\"#accessor-getter-expression\"},{\"include\":\"#variable-initializer\"}]},\"initializer-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"interface-declaration\":{\"begin\":\"(?=\\\\binterface\\\\b)\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"begin\":\"(interface)\\\\b\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.interface.cs\"},\"2\":{\"name\":\"entity.name.type.interface.cs\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#base-types\"},{\"include\":\"#generic-constraints\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#interface-members\"}]},{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"}]},\"interface-members\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#property-declaration\"},{\"include\":\"#event-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#method-declaration\"},{\"include\":\"#operator-declaration\"},{\"include\":\"#attribute-section\"},{\"include\":\"#punctuation-semicolon\"}]},\"interpolated-string\":{\"begin\":\"\\\\$\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"(\\\")|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.cs\"},\"2\":{\"name\":\"invalid.illegal.newline.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#string-character-escape\"},{\"include\":\"#interpolation\"}]},\"interpolation\":{\"begin\":\"(?<=[^{]|^)((?:\\\\{\\\\{)*)(\\\\{)(?=[^{])\",\"beginCaptures\":{\"1\":{\"name\":\"string.quoted.double.cs\"},\"2\":{\"name\":\"punctuation.definition.interpolation.begin.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.end.cs\"}},\"name\":\"meta.interpolation.cs\",\"patterns\":[{\"include\":\"#expression\"}]},\"intrusive\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"}]},\"invocation-expression\":{\"begin\":\"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)?(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(<(?<type_args>[^<>()]++|<\\\\g<type_args>*+>|\\\\(\\\\g<type_args>*+\\\\))*+>\\\\s*)?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.null-conditional.cs\"},\"2\":{\"name\":\"punctuation.accessor.cs\"},\"3\":{\"name\":\"punctuation.accessor.pointer.cs\"},\"4\":{\"name\":\"entity.name.function.cs\"},\"5\":{\"patterns\":[{\"include\":\"#type-arguments\"}]}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"is-expression\":{\"begin\":\"(?<!\\\\.)\\\\b(is)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.pattern.is.cs\"}},\"end\":\"(?=[)}\\\\],;:?=&|^]|!=)\",\"patterns\":[{\"include\":\"#pattern\"}]},\"join-clause\":{\"begin\":\"\\\\b(join)\\\\b\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))?\\\\s+(\\\\g<identifier>)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.join.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.range-variable.cs\"},\"8\":{\"name\":\"keyword.operator.expression.query.in.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#join-on\"},{\"include\":\"#join-equals\"},{\"include\":\"#join-into\"},{\"include\":\"#query-body\"},{\"include\":\"#expression\"}]},\"join-equals\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.query.equals.cs\"}},\"match\":\"\\\\b(equals)\\\\b\\\\s*\"},\"join-into\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.query.into.cs\"},\"2\":{\"name\":\"entity.name.variable.range-variable.cs\"}},\"match\":\"\\\\b(into)\\\\b\\\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\\\\s*\"},\"join-on\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.query.on.cs\"}},\"match\":\"\\\\b(on)\\\\b\\\\s*\"},\"labeled-statement\":{\"captures\":{\"1\":{\"name\":\"entity.name.label.cs\"},\"2\":{\"name\":\"punctuation.separator.colon.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(:)\"},\"language-variable\":{\"patterns\":[{\"match\":\"\\\\b(base|this)\\\\b\",\"name\":\"variable.language.$1.cs\"},{\"match\":\"\\\\b(value)\\\\b\",\"name\":\"variable.other.$1.cs\"}]},\"let-clause\":{\"begin\":\"\\\\b(let)\\\\b\\\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.let.cs\"},\"2\":{\"name\":\"entity.name.variable.range-variable.cs\"},\"3\":{\"name\":\"keyword.operator.assignment.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#query-body\"},{\"include\":\"#expression\"}]},\"list-pattern\":{\"begin\":\"(?=\\\\[)\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.cs\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.cs\"}},\"patterns\":[{\"include\":\"#pattern\"},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?<=\\\\])\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#simple-designation-pattern\"}]}]},\"literal\":{\"patterns\":[{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#char-literal\"},{\"include\":\"#raw-string-literal\"},{\"include\":\"#string-literal\"},{\"include\":\"#verbatim-string-literal\"},{\"include\":\"#tuple-literal\"}]},\"local-constant-declaration\":{\"begin\":\"(?<const_keyword>\\\\b(?:const)\\\\b)\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s*(?=,|;|=)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.const.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.local.cs\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.variable.local.cs\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"local-declaration\":{\"patterns\":[{\"include\":\"#local-constant-declaration\"},{\"include\":\"#local-variable-declaration\"},{\"include\":\"#local-function-declaration\"},{\"include\":\"#local-tuple-var-deconstruction\"}]},\"local-function-declaration\":{\"begin\":\"\\\\b((?:(?:async|unsafe|static|extern)\\\\s+)*)(?<type_name>(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?)?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*\\\\](?:\\\\s*\\\\?)?)*)\\\\s+(\\\\g<identifier>)\\\\s*(<[^<>]+>)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#storage-modifier\"}]},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.function.cs\"},\"8\":{\"patterns\":[{\"include\":\"#type-parameter-list\"}]}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#generic-constraints\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"local-tuple-var-deconstruction\":{\"begin\":\"(?:\\\\b(var)\\\\b\\\\s*)(?<tuple>\\\\((?:[^()]|\\\\g<tuple>)+\\\\))\\\\s*(?=;|=|\\\\))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.var.cs\"},\"2\":{\"patterns\":[{\"include\":\"#tuple-declaration-deconstruction-element-list\"}]}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"local-variable-declaration\":{\"begin\":\"(?:(?:(\\\\bref)\\\\s+(?:(\\\\breadonly)\\\\s+)?)?(\\\\bvar\\\\b)|(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*[?*]\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*)))\\\\s+(\\\\g<identifier>)\\\\s*(?!=>)(?=,|;|=|\\\\))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ref.cs\"},\"2\":{\"name\":\"storage.modifier.readonly.cs\"},\"3\":{\"name\":\"storage.type.var.cs\"},\"4\":{\"patterns\":[{\"include\":\"#type\"}]},\"9\":{\"name\":\"entity.name.variable.local.cs\"}},\"end\":\"(?=[;)}])\",\"patterns\":[{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.variable.local.cs\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"lock-statement\":{\"begin\":\"\\\\b(lock)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.context.lock.cs\"}},\"end\":\"(?<=\\\\))|(?=;|})\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#expression\"}]}]},\"member-access-expression\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.null-conditional.cs\"},\"2\":{\"name\":\"punctuation.accessor.cs\"},\"3\":{\"name\":\"punctuation.accessor.pointer.cs\"},\"4\":{\"name\":\"variable.other.object.property.cs\"}},\"match\":\"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(?![_0-9A-Za-z]|\\\\(|(\\\\?)?\\\\[|<)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.cs\"},\"2\":{\"name\":\"variable.other.object.cs\"},\"3\":{\"patterns\":[{\"include\":\"#type-arguments\"}]}},\"match\":\"(\\\\.)?\\\\s*(@?[_A-Za-z][_0-9A-Za-z]*)(?<type_params>\\\\s*<([^<>]|\\\\g<type_params>)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_A-Za-z][_0-9A-Za-z]*)\"},{\"captures\":{\"1\":{\"name\":\"variable.other.object.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)(?=\\\\s*(?:(?:\\\\?\\\\s*)?\\\\.|->)\\\\s*@?[_A-Za-z][_0-9A-Za-z]*)\"}]},\"method-declaration\":{\"begin\":\"(?<return_type>(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(\\\\g<identifier>)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"8\":{\"name\":\"entity.name.function.cs\"},\"9\":{\"patterns\":[{\"include\":\"#type-parameter-list\"}]}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#generic-constraints\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"named-argument\":{\"begin\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.variable.parameter.cs\"},\"2\":{\"name\":\"punctuation.separator.colon.cs\"}},\"end\":\"(?=(,|\\\\)|\\\\]))\",\"patterns\":[{\"include\":\"#argument\"}]},\"namespace-declaration\":{\"begin\":\"\\\\b(namespace)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.namespace.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.type.namespace.cs\"},{\"include\":\"#punctuation-accessor\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#declarations\"},{\"include\":\"#using-directive\"},{\"include\":\"#punctuation-semicolon\"}]}]},\"null-literal\":{\"match\":\"(?<!\\\\.)\\\\bnull\\\\b\",\"name\":\"constant.language.null.cs\"},\"numeric-literal\":{\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"$\",\"patterns\":[{\"captures\":{\"2\":{\"name\":\"constant.numeric.decimal.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"3\":{\"name\":\"constant.numeric.other.separator.thousands.cs\"},\"4\":{\"name\":\"constant.numeric.other.separator.decimals.cs\"},\"5\":{\"name\":\"constant.numeric.decimal.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"6\":{\"name\":\"constant.numeric.other.separator.thousands.cs\"},\"8\":{\"name\":\"constant.numeric.other.exponent.cs\"},\"9\":{\"name\":\"keyword.operator.arithmetic.cs\"},\"10\":{\"name\":\"keyword.operator.arithmetic.cs\"},\"11\":{\"name\":\"constant.numeric.decimal.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"12\":{\"name\":\"constant.numeric.other.suffix.cs\"}},\"match\":\"(\\\\G(?=[0-9.])(?!0[xXbB]))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=\\\\d)|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([fFdDmM](?!\\\\w))?$\"},{\"captures\":{\"1\":{\"name\":\"constant.numeric.other.preffix.binary.cs\"},\"2\":{\"name\":\"constant.numeric.binary.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"3\":{\"name\":\"constant.numeric.other.separator.thousands.cs\"},\"4\":{\"name\":\"constant.numeric.other.suffix.cs\"}},\"match\":\"(\\\\G0[bB])([01_](?:[01_]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\\\w))?$\"},{\"captures\":{\"1\":{\"name\":\"constant.numeric.other.preffix.hex.cs\"},\"2\":{\"name\":\"constant.numeric.hex.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"3\":{\"name\":\"constant.numeric.other.separator.thousands.cs\"},\"4\":{\"name\":\"constant.numeric.other.suffix.cs\"}},\"match\":\"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\\\w))?$\"},{\"captures\":{\"2\":{\"name\":\"constant.numeric.decimal.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"3\":{\"name\":\"constant.numeric.other.separator.thousands.cs\"},\"5\":{\"name\":\"constant.numeric.other.exponent.cs\"},\"6\":{\"name\":\"keyword.operator.arithmetic.cs\"},\"7\":{\"name\":\"keyword.operator.arithmetic.cs\"},\"8\":{\"name\":\"constant.numeric.decimal.cs\",\"patterns\":[{\"match\":\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\"name\":\"constant.numeric.other.separator.thousands.cs\"}]},\"9\":{\"name\":\"constant.numeric.other.suffix.cs\"}},\"match\":\"(\\\\G(?=[0-9.])(?!0[xXbB]))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\\\w))?$\"},{\"match\":\"(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\\\.\\\\d)+\",\"name\":\"invalid.illegal.constant.numeric.cs\"}]}]}},\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\\\.\\\\d)*\"},\"object-creation-expression\":{\"patterns\":[{\"include\":\"#object-creation-expression-with-parameters\"},{\"include\":\"#object-creation-expression-with-no-parameters\"}]},\"object-creation-expression-with-no-parameters\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.new.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]}},\"match\":\"(new)\\\\s+(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s*(?=\\\\{|//|/\\\\*|$)\"},\"object-creation-expression-with-parameters\":{\"begin\":\"(new)(?:\\\\s+(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*)))?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.new.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"operator-assignment\":{\"match\":\"(?<!=|!)(=)(?!=)\",\"name\":\"keyword.operator.assignment.cs\"},\"operator-declaration\":{\"begin\":\"(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s*\\\\b(?<operator_keyword>operator)\\\\b\\\\s*(?<operator>[+\\\\-*/%&|\\\\^!=~<>]+|true|false)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"name\":\"storage.type.operator.cs\"},\"7\":{\"name\":\"entity.name.function.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"orderby-clause\":{\"begin\":\"\\\\b(orderby)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.orderby.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#ordering-direction\"},{\"include\":\"#query-body\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"ordering-direction\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.query.$1.cs\"}},\"match\":\"\\\\b(ascending|descending)\\\\b\"},\"parameter\":{\"captures\":{\"1\":{\"name\":\"storage.modifier.$1.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.parameter.cs\"}},\"match\":\"(?:(?:\\\\b(ref|params|out|in|this)\\\\b)\\\\s+)?(?<type_name>(?:(?:ref\\\\s+)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+(\\\\g<identifier>)\"},\"parenthesized-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"parenthesized-parameter-list\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute-section\"},{\"include\":\"#parameter\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#variable-initializer\"}]},\"pattern\":{\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#combinator-pattern\"},{\"include\":\"#discard-pattern\"},{\"include\":\"#constant-pattern\"},{\"include\":\"#relational-pattern\"},{\"include\":\"#var-pattern\"},{\"include\":\"#type-pattern\"},{\"include\":\"#positional-pattern\"},{\"include\":\"#property-pattern\"},{\"include\":\"#list-pattern\"},{\"include\":\"#slice-pattern\"}]},\"positional-pattern\":{\"begin\":\"(?=\\\\()\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#subpattern\"},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#property-pattern\"},{\"include\":\"#simple-designation-pattern\"}]}]},\"preprocessor\":{\"begin\":\"^\\\\s*(\\\\#)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.hash.cs\"}},\"end\":\"(?<=$)\",\"name\":\"meta.preprocessor.cs\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#preprocessor-define-or-undef\"},{\"include\":\"#preprocessor-if-or-elif\"},{\"include\":\"#preprocessor-else-or-endif\"},{\"include\":\"#preprocessor-warning-or-error\"},{\"include\":\"#preprocessor-region\"},{\"include\":\"#preprocessor-endregion\"},{\"include\":\"#preprocessor-load\"},{\"include\":\"#preprocessor-r\"},{\"include\":\"#preprocessor-line\"},{\"include\":\"#preprocessor-pragma-warning\"},{\"include\":\"#preprocessor-pragma-checksum\"}]},\"preprocessor-define-or-undef\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.define.cs\"},\"2\":{\"name\":\"keyword.preprocessor.undef.cs\"},\"3\":{\"name\":\"entity.name.variable.preprocessor.symbol.cs\"}},\"match\":\"\\\\b(?:(define)|(undef))\\\\b\\\\s*\\\\b([_A-Za-z][_0-9A-Za-z]*)\\\\b\"},\"preprocessor-else-or-endif\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.else.cs\"},\"2\":{\"name\":\"keyword.preprocessor.endif.cs\"}},\"match\":\"\\\\b(?:(else)|(endif))\\\\b\"},\"preprocessor-endregion\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.endregion.cs\"}},\"match\":\"\\\\b(endregion)\\\\b\"},\"preprocessor-expression\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#preprocessor-expression\"}]},{\"captures\":{\"1\":{\"name\":\"constant.language.boolean.true.cs\"},\"2\":{\"name\":\"constant.language.boolean.false.cs\"},\"3\":{\"name\":\"entity.name.variable.preprocessor.symbol.cs\"}},\"match\":\"\\\\b(?:(true)|(false)|([_A-Za-z][_0-9A-Za-z]*))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.comparison.cs\"},\"2\":{\"name\":\"keyword.operator.logical.cs\"}},\"match\":\"(==|!=)|(!|&&|\\\\|\\\\|)\"}]},\"preprocessor-if-or-elif\":{\"begin\":\"\\\\b(?:(if)|(elif))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.preprocessor.if.cs\"},\"2\":{\"name\":\"keyword.preprocessor.elif.cs\"}},\"end\":\"(?=$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#preprocessor-expression\"}]},\"preprocessor-line\":{\"begin\":\"\\\\b(line)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.preprocessor.line.cs\"}},\"end\":\"(?=$)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.default.cs\"},\"2\":{\"name\":\"keyword.preprocessor.hidden.cs\"}},\"match\":\"\\\\b(?:(default|hidden))\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.cs\"}},\"match\":\"\\\\d+\"},{\"captures\":{\"0\":{\"name\":\"string.quoted.double.cs\"}},\"match\":\"\\\\\\\"[^\\\"]*\\\\\\\"\"}]},\"preprocessor-load\":{\"begin\":\"\\\\b(load)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.preprocessor.load.cs\"}},\"end\":\"(?=$)\",\"patterns\":[{\"captures\":{\"0\":{\"name\":\"string.quoted.double.cs\"}},\"match\":\"\\\\\\\"[^\\\"]*\\\\\\\"\"}]},\"preprocessor-pragma-checksum\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.pragma.cs\"},\"2\":{\"name\":\"keyword.preprocessor.checksum.cs\"},\"3\":{\"name\":\"string.quoted.double.cs\"},\"4\":{\"name\":\"string.quoted.double.cs\"},\"5\":{\"name\":\"string.quoted.double.cs\"}},\"match\":\"\\\\b(pragma)\\\\b\\\\s*\\\\b(checksum)\\\\b\\\\s*(\\\\\\\"[^\\\"]*\\\\\\\")\\\\s*(\\\\\\\"[^\\\"]*\\\\\\\")\\\\s*(\\\\\\\"[^\\\"]*\\\\\\\")\"},\"preprocessor-pragma-warning\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.pragma.cs\"},\"2\":{\"name\":\"keyword.preprocessor.warning.cs\"},\"3\":{\"name\":\"keyword.preprocessor.disable.cs\"},\"4\":{\"name\":\"keyword.preprocessor.restore.cs\"},\"5\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.cs\"}},\"match\":\"\\\\d+\"},{\"include\":\"#punctuation-comma\"}]}},\"match\":\"\\\\b(pragma)\\\\b\\\\s*\\\\b(warning)\\\\b\\\\s*\\\\b(?:(disable)|(restore))\\\\b(\\\\s*\\\\d+(?:\\\\s*,\\\\s*\\\\d+)?)?\"},\"preprocessor-r\":{\"begin\":\"\\\\b(r)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.preprocessor.r.cs\"}},\"end\":\"(?=$)\",\"patterns\":[{\"captures\":{\"0\":{\"name\":\"string.quoted.double.cs\"}},\"match\":\"\\\\\\\"[^\\\"]*\\\\\\\"\"}]},\"preprocessor-region\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.region.cs\"},\"2\":{\"name\":\"string.unquoted.preprocessor.message.cs\"}},\"match\":\"\\\\b(region)\\\\b\\\\s*(.*)(?=$)\"},\"preprocessor-warning-or-error\":{\"captures\":{\"1\":{\"name\":\"keyword.preprocessor.warning.cs\"},\"2\":{\"name\":\"keyword.preprocessor.error.cs\"},\"3\":{\"name\":\"string.unquoted.preprocessor.message.cs\"}},\"match\":\"\\\\b(?:(warning)|(error))\\\\b\\\\s*(.*)(?=$)\"},\"property-accessors\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute-section\"},{\"match\":\"\\\\b(private|protected|internal)\\\\b\",\"name\":\"storage.modifier.$1.cs\"},{\"begin\":\"\\\\b(get)\\\\b\\\\s*(?=\\\\{|;|=>|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.accessor.$1.cs\"}},\"end\":\"(?<=\\\\}|;)|(?=\\\\})\",\"patterns\":[{\"include\":\"#accessor-getter\"}]},{\"begin\":\"\\\\b(set|init)\\\\b\\\\s*(?=\\\\{|;|=>|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.accessor.$1.cs\"}},\"end\":\"(?<=\\\\}|;)|(?=\\\\})\",\"patterns\":[{\"include\":\"#accessor-setter\"}]}]},\"property-declaration\":{\"begin\":\"(?![\\\\w\\\\s]*\\\\b(?:class|interface|struct|enum|event)\\\\b)(?<return_type>(?<type_name>(?:(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<property_name>\\\\g<identifier>)\\\\s*(?=\\\\{|=>|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"8\":{\"name\":\"entity.name.variable.property.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#property-accessors\"},{\"include\":\"#accessor-getter-expression\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#class-or-struct-members\"}]},\"property-pattern\":{\"begin\":\"(?={)\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#subpattern\"},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?<=\\\\})\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#simple-designation-pattern\"}]}]},\"punctuation-accessor\":{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.cs\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.cs\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.cs\"},\"query-body\":{\"patterns\":[{\"include\":\"#let-clause\"},{\"include\":\"#where-clause\"},{\"include\":\"#join-clause\"},{\"include\":\"#orderby-clause\"},{\"include\":\"#select-clause\"},{\"include\":\"#group-clause\"}]},\"query-expression\":{\"begin\":\"\\\\b(from)\\\\b\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))?\\\\s+(\\\\g<identifier>)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.from.cs\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.range-variable.cs\"},\"8\":{\"name\":\"keyword.operator.expression.query.in.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#query-body\"},{\"include\":\"#expression\"}]},\"raw-interpolated-string\":{\"patterns\":[{\"include\":\"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation\"},{\"include\":\"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation\"},{\"include\":\"#raw-interpolated-string-quadruple-quote-double-interpolation\"},{\"include\":\"#raw-interpolated-string-quadruple-quote-single-interpolation\"},{\"include\":\"#raw-interpolated-string-triple-quote-double-interpolation\"},{\"include\":\"#raw-interpolated-string-triple-quote-single-interpolation\"}]},\"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation\":{\"begin\":\"\\\\$+\\\"\\\"\\\"\\\"\\\"+\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\\\"\\\"+\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\"},\"raw-interpolated-string-quadruple-quote-double-interpolation\":{\"begin\":\"\\\\$\\\\$\\\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#double-raw-interpolation\"}]},\"raw-interpolated-string-quadruple-quote-single-interpolation\":{\"begin\":\"\\\\$\\\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#raw-interpolation\"}]},\"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation\":{\"begin\":\"\\\\$\\\\$\\\\$+\\\"\\\"\\\"+\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"+\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\"},\"raw-interpolated-string-triple-quote-double-interpolation\":{\"begin\":\"\\\\$\\\\$\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#double-raw-interpolation\"}]},\"raw-interpolated-string-triple-quote-single-interpolation\":{\"begin\":\"\\\\$\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#raw-interpolation\"}]},\"raw-interpolation\":{\"begin\":\"(?<=[^{]|^)((?:\\\\{)*)(\\\\{)(?=[^{])\",\"beginCaptures\":{\"1\":{\"name\":\"string.quoted.double.cs\"},\"2\":{\"name\":\"punctuation.definition.interpolation.begin.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolation.end.cs\"}},\"name\":\"meta.interpolation.cs\",\"patterns\":[{\"include\":\"#expression\"}]},\"raw-string-literal\":{\"patterns\":[{\"include\":\"#raw-string-literal-more\"},{\"include\":\"#raw-string-literal-quadruple\"},{\"include\":\"#raw-string-literal-triple\"}]},\"raw-string-literal-more\":{\"begin\":\"\\\"\\\"\\\"\\\"\\\"+\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\\\"\\\"+\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\"},\"raw-string-literal-quadruple\":{\"begin\":\"\\\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\"},\"raw-string-literal-triple\":{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\"},\"readonly-modifier\":{\"match\":\"\\\\breadonly\\\\b\",\"name\":\"storage.modifier.readonly.cs\"},\"record-declaration\":{\"begin\":\"(?=\\\\brecord\\\\b)\",\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"begin\":\"(record)\\\\b\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.record.cs\"},\"2\":{\"name\":\"entity.name.type.class.cs\"}},\"end\":\"(?=\\\\{)|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#base-types\"},{\"include\":\"#generic-constraints\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#class-or-struct-members\"}]},{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"}]},\"ref-modifier\":{\"match\":\"\\\\bref\\\\b\",\"name\":\"storage.modifier.ref.cs\"},\"relational-pattern\":{\"begin\":\"<=?|>=?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.relational.cs\"}},\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#expression\"}]},\"return-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(return)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.return.cs\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"include\":\"#ref-modifier\"},{\"include\":\"#expression\"}]},\"script-top-level\":{\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#method-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"select-clause\":{\"begin\":\"\\\\b(select)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.select.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#query-body\"},{\"include\":\"#expression\"}]},\"simple-designation-pattern\":{\"patterns\":[{\"include\":\"#discard-pattern\"},{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.variable.local.cs\"}]},\"slice-pattern\":{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.range.cs\"},\"statement\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#while-statement\"},{\"include\":\"#do-statement\"},{\"include\":\"#for-statement\"},{\"include\":\"#foreach-statement\"},{\"include\":\"#if-statement\"},{\"include\":\"#else-part\"},{\"include\":\"#goto-statement\"},{\"include\":\"#return-statement\"},{\"include\":\"#break-or-continue-statement\"},{\"include\":\"#throw-statement\"},{\"include\":\"#yield-statement\"},{\"include\":\"#await-statement\"},{\"include\":\"#try-statement\"},{\"include\":\"#expression-operator-expression\"},{\"include\":\"#context-control-statement\"},{\"include\":\"#context-control-paren-statement\"},{\"include\":\"#labeled-statement\"},{\"include\":\"#object-creation-expression\"},{\"include\":\"#array-creation-expression\"},{\"include\":\"#anonymous-object-creation-expression\"},{\"include\":\"#local-declaration\"},{\"include\":\"#block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]},\"storage-modifier\":{\"match\":\"(?<!\\\\.)\\\\b(new|public|protected|internal|private|abstract|virtual|override|sealed|static|partial|readonly|volatile|const|extern|async|unsafe|ref|required|file)\\\\b\",\"name\":\"storage.modifier.$1.cs\"},\"string-character-escape\":{\"match\":\"\\\\\\\\(x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|.)\",\"name\":\"constant.character.escape.cs\"},\"string-literal\":{\"begin\":\"(?<!@)\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"(\\\")|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.cs\"},\"2\":{\"name\":\"invalid.illegal.newline.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"struct-declaration\":{\"begin\":\"(?=(\\\\brecord\\\\b\\\\s+)?\\\\bstruct\\\\b)\",\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"begin\":\"(\\\\b(record)\\\\b\\\\s+)?(struct)\\\\b\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\",\"beginCaptures\":{\"2\":{\"name\":\"storage.type.record.cs\"},\"3\":{\"name\":\"storage.type.struct.cs\"},\"4\":{\"name\":\"entity.name.type.struct.cs\"}},\"end\":\"(?=\\\\{)|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#base-types\"},{\"include\":\"#generic-constraints\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#class-or-struct-members\"}]},{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"}]},\"subpattern\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"variable.other.object.property.cs\"},{\"include\":\"#punctuation-accessor\"}]},\"2\":{\"name\":\"punctuation.separator.colon.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*(?:\\\\s*\\\\.\\\\s*@?[_A-Za-z][_0-9A-Za-z]*)*)\\\\s*(:)\"},{\"include\":\"#pattern\"}]},\"switch-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.arrow.cs\"}},\"end\":\"(?=,|})\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"\\\\b(when)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.when.cs\"}},\"end\":\"(?==>|,|})\",\"patterns\":[{\"include\":\"#case-guard\"}]},{\"begin\":\"(?!\\\\s)\",\"end\":\"(?=\\\\bwhen\\\\b|=>|,|})\",\"patterns\":[{\"include\":\"#pattern\"}]}]},\"switch-label\":{\"begin\":\"\\\\b(case|default)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.$1.cs\"}},\"end\":\"(:)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.colon.cs\"}},\"patterns\":[{\"begin\":\"\\\\b(when)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.when.cs\"}},\"end\":\"(?=:|})\",\"patterns\":[{\"include\":\"#case-guard\"}]},{\"begin\":\"(?!\\\\s)\",\"end\":\"(?=\\\\bwhen\\\\b|:|})\",\"patterns\":[{\"include\":\"#pattern\"}]}]},\"switch-statement\":{\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.cs\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.cs\"}},\"patterns\":[{\"include\":\"#switch-label\"},{\"include\":\"#statement\"}]}]},\"switch-statement-or-expression\":{\"begin\":\"(?<!\\\\.)\\\\b(switch)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.switch.cs\"}},\"end\":\"(?<=})|(?=})\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"(?=\\\\()\",\"end\":\"(?<=\\\\})|(?=\\\\})\",\"patterns\":[{\"include\":\"#switch-statement\"}]},{\"begin\":\"(?=\\\\{)\",\"end\":\"(?<=\\\\})|(?=\\\\})\",\"patterns\":[{\"include\":\"#switch-expression\"}]}]},\"throw-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.throw.cs\"}},\"match\":\"\\\\b(throw)\\\\b\"},\"throw-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(throw)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.throw.cs\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"include\":\"#expression\"}]},\"try-block\":{\"begin\":\"(?<!\\\\.)\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.exception.try.cs\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"try-statement\":{\"patterns\":[{\"include\":\"#try-block\"},{\"include\":\"#catch-clause\"},{\"include\":\"#finally-clause\"}]},\"tuple-declaration-deconstruction-element-list\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#tuple-declaration-deconstruction-element-list\"},{\"include\":\"#declaration-expression-tuple\"},{\"include\":\"#punctuation-comma\"},{\"captures\":{\"1\":{\"name\":\"entity.name.variable.tuple-element.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\\\\s*(?=[,)])\"}]},\"tuple-deconstruction-assignment\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#tuple-deconstruction-element-list\"}]}},\"match\":\"(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\))\\\\s*(?!=>|==)(?==)\"},\"tuple-deconstruction-element-list\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#tuple-deconstruction-element-list\"},{\"include\":\"#declaration-expression-tuple\"},{\"include\":\"#punctuation-comma\"},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\\\\s*(?=[,)])\"}]},\"tuple-element\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.tuple-element.cs\"}},\"match\":\"(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*(?:\\\\?)?\\\\s*)*))(?:(?<tuple_name>\\\\g<identifier>)\\\\b)?\"},\"tuple-literal\":{\"begin\":\"(\\\\()(?=.*[:,])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#tuple-literal-element\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"tuple-literal-element\":{\"begin\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(?=:)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.variable.tuple-element.cs\"}},\"end\":\"(:)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.colon.cs\"}}},\"tuple-type\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#tuple-element\"},{\"include\":\"#punctuation-comma\"}]},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#ref-modifier\"},{\"include\":\"#readonly-modifier\"},{\"include\":\"#tuple-type\"},{\"include\":\"#type-builtin\"},{\"include\":\"#type-name\"},{\"include\":\"#type-arguments\"},{\"include\":\"#type-array-suffix\"},{\"include\":\"#type-nullable-suffix\"},{\"include\":\"#type-pointer-suffix\"}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.cs\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.cs\"}},\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type-array-suffix\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.cs\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.cs\"}},\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#punctuation-comma\"}]},\"type-builtin\":{\"captures\":{\"1\":{\"name\":\"keyword.type.$1.cs\"}},\"match\":\"\\\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\\\b\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#preprocessor\"},{\"include\":\"#comment\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#class-declaration\"},{\"include\":\"#delegate-declaration\"},{\"include\":\"#enum-declaration\"},{\"include\":\"#interface-declaration\"},{\"include\":\"#struct-declaration\"},{\"include\":\"#record-declaration\"},{\"include\":\"#attribute-section\"},{\"include\":\"#punctuation-semicolon\"}]},\"type-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.type.alias.cs\"},\"2\":{\"name\":\"punctuation.separator.coloncolon.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(::)\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.cs\"},\"2\":{\"name\":\"punctuation.accessor.cs\"}},\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(\\\\.)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.cs\"},\"2\":{\"name\":\"entity.name.type.cs\"}},\"match\":\"(\\\\.)\\\\s*(@?[_A-Za-z][_0-9A-Za-z]*)\"},{\"match\":\"@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.type.cs\"}]},\"type-nullable-suffix\":{\"match\":\"\\\\?\",\"name\":\"punctuation.separator.question-mark.cs\"},\"type-operator-expression\":{\"begin\":\"\\\\b(default|sizeof|typeof)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.$1.cs\"},\"2\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#type\"}]},\"type-parameter-list\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.cs\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.cs\"}},\"patterns\":[{\"match\":\"\\\\b(in|out)\\\\b\",\"name\":\"storage.modifier.$1.cs\"},{\"match\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\b\",\"name\":\"entity.name.type.type-parameter.cs\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#attribute-section\"}]},\"type-pattern\":{\"begin\":\"(?=@?[_A-Za-z][_0-9A-Za-z]*)\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"begin\":\"\\\\G\",\"end\":\"(?!\\\\G[@_A-Za-z])(?=[({@_A-Za-z)}\\\\],;:=&|^]|(?:\\\\s|^)\\\\?|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#type-subpattern\"}]},{\"begin\":\"(?=[({@_A-Za-z])\",\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#positional-pattern\"},{\"include\":\"#property-pattern\"},{\"include\":\"#simple-designation-pattern\"}]}]},\"type-pointer-suffix\":{\"match\":\"\\\\*\",\"name\":\"punctuation.separator.asterisk.cs\"},\"type-subpattern\":{\"patterns\":[{\"include\":\"#type-builtin\"},{\"begin\":\"(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(::)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.alias.cs\"},\"2\":{\"name\":\"punctuation.separator.coloncolon.cs\"}},\"end\":\"(?<=[_0-9A-Za-z])|(?=[.<\\\\[({)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.type.cs\"}]},{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.type.cs\"},{\"begin\":\"\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.accessor.cs\"}},\"end\":\"(?<=[_0-9A-Za-z])|(?=[<\\\\[({)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#intrusive\"},{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.type.cs\"}]},{\"include\":\"#type-arguments\"},{\"include\":\"#type-array-suffix\"},{\"match\":\"(?<!\\\\s)\\\\?\",\"name\":\"punctuation.separator.question-mark.cs\"}]},\"using-directive\":{\"patterns\":[{\"begin\":\"\\\\b(?:(global)\\\\s+)?(using)\\\\s+(static)\\\\b\\\\s*(?:(unsafe)\\\\b\\\\s*)?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.directive.global.cs\"},\"2\":{\"name\":\"keyword.other.directive.using.cs\"},\"3\":{\"name\":\"keyword.other.directive.static.cs\"},\"4\":{\"name\":\"storage.modifier.unsafe.cs\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"\\\\b(?:(global)\\\\s+)?(using)\\\\b\\\\s*(?:(unsafe)\\\\b\\\\s*)?(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.directive.global.cs\"},\"2\":{\"name\":\"keyword.other.directive.using.cs\"},\"3\":{\"name\":\"storage.modifier.unsafe.cs\"},\"4\":{\"name\":\"entity.name.type.alias.cs\"},\"5\":{\"name\":\"keyword.operator.assignment.cs\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type\"}]},{\"begin\":\"\\\\b(?:(global)\\\\s+)?(using)\\\\b\\\\s*+(?!\\\\(|var\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.directive.global.cs\"},\"2\":{\"name\":\"keyword.other.directive.using.cs\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\@?[_A-Za-z][_0-9A-Za-z]*\",\"name\":\"entity.name.type.namespace.cs\"},{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-assignment\"}]}]},\"using-statement\":{\"begin\":\"\\\\b(using)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.context.using.cs\"}},\"end\":\"(?<=\\\\))|(?=;|})\",\"patterns\":[{\"include\":\"#intrusive\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#intrusive\"},{\"include\":\"#await-expression\"},{\"include\":\"#local-variable-declaration\"},{\"include\":\"#expression\"}]},{\"include\":\"#local-variable-declaration\"}]},\"var-pattern\":{\"begin\":\"\\\\b(var)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.var.cs\"}},\"end\":\"(?=[)}\\\\],;:?=&|^]|!=|\\\\b(and|or|when)\\\\b)\",\"patterns\":[{\"include\":\"#designation-pattern\"}]},\"variable-initializer\":{\"begin\":\"(?<!=|!)(=)(?!=|>)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.cs\"}},\"end\":\"(?=[,)\\\\];}])\",\"patterns\":[{\"include\":\"#ref-modifier\"},{\"include\":\"#expression\"}]},\"verbatim-interpolated-string\":{\"begin\":\"(?:\\\\$@|@\\\\$)\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"(?=[^\\\"])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#verbatim-string-character-escape\"},{\"include\":\"#interpolation\"}]},\"verbatim-string-character-escape\":{\"match\":\"\\\"\\\"\",\"name\":\"constant.character.escape.cs\"},\"verbatim-string-literal\":{\"begin\":\"@\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\"(?=[^\\\"])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#verbatim-string-character-escape\"}]},\"when-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(when)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.exception.when.cs\"},\"2\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#comment\"}]},\"where-clause\":{\"begin\":\"\\\\b(where)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.query.where.cs\"}},\"end\":\"(?=;|\\\\))\",\"patterns\":[{\"include\":\"#query-body\"},{\"include\":\"#expression\"}]},\"while-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(while)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.while.cs\"}},\"end\":\"(?<=\\\\})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.cs\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.cs\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"with-expression\":{\"begin\":\"(?<!\\\\.)\\\\b(with)\\\\b\\\\s*(?=\\\\{|//|/\\\\*|$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.with.cs\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#initializer-expression\"}]},\"xml-attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.cs\"},\"2\":{\"name\":\"entity.other.attribute-name.namespace.cs\"},\"3\":{\"name\":\"punctuation.separator.colon.cs\"},\"4\":{\"name\":\"entity.other.attribute-name.localname.cs\"},\"5\":{\"name\":\"punctuation.separator.equals.cs\"}},\"match\":\"(?:^|\\\\s+)((?:([-_0-9A-Za-z]+)(:))?([-_0-9A-Za-z]+))(=)\"},{\"include\":\"#xml-string\"}]},\"xml-cdata\":{\"begin\":\"<!\\\\[CDATA\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\\]\\\\]>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.unquoted.cdata.cs\"},\"xml-character-entity\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.cs\"},\"3\":{\"name\":\"punctuation.definition.constant.cs\"}},\"match\":\"(&)((?:[A-Za-z:_][0-9A-Za-z:_.-]*)|(?:\\\\#[\\\\d]+)|(?:\\\\#x[0-9A-Fa-f]+))(;)\",\"name\":\"constant.character.entity.cs\"},{\"match\":\"&\",\"name\":\"invalid.illegal.bad-ampersand.cs\"}]},\"xml-comment\":{\"begin\":\"<!--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.cs\"}},\"end\":\"-->\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.cs\"}},\"name\":\"comment.block.cs\"},\"xml-doc-comment\":{\"patterns\":[{\"include\":\"#xml-comment\"},{\"include\":\"#xml-character-entity\"},{\"include\":\"#xml-cdata\"},{\"include\":\"#xml-tag\"}]},\"xml-string\":{\"patterns\":[{\"begin\":\"\\\\'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\\'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.single.cs\",\"patterns\":[{\"include\":\"#xml-character-entity\"}]},{\"begin\":\"\\\\\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.cs\"}},\"end\":\"\\\\\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.cs\"}},\"name\":\"string.quoted.double.cs\",\"patterns\":[{\"include\":\"#xml-character-entity\"}]}]},\"xml-tag\":{\"begin\":\"(</?)((?:([-_0-9A-Za-z]+)(:))?([-_0-9A-Za-z]+))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.cs\"},\"2\":{\"name\":\"entity.name.tag.cs\"},\"3\":{\"name\":\"entity.name.tag.namespace.cs\"},\"4\":{\"name\":\"punctuation.separator.colon.cs\"},\"5\":{\"name\":\"entity.name.tag.localname.cs\"}},\"end\":\"(/?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.cs\"}},\"name\":\"meta.tag.cs\",\"patterns\":[{\"include\":\"#xml-attribute\"}]},\"yield-break-statement\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.yield.cs\"},\"2\":{\"name\":\"keyword.control.flow.break.cs\"}},\"match\":\"(?<!\\\\.)\\\\b(yield)\\\\b\\\\s*\\\\b(break)\\\\b\"},\"yield-return-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(yield)\\\\b\\\\s*\\\\b(return)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.yield.cs\"},\"2\":{\"name\":\"keyword.control.flow.return.cs\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"include\":\"#expression\"}]},\"yield-statement\":{\"patterns\":[{\"include\":\"#yield-return-statement\"},{\"include\":\"#yield-break-statement\"}]}},\"scopeName\":\"source.cs\",\"aliases\":[\"c#\",\"cs\"]}"))
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
lang
|
|
5
|
+
]
|
package/dist/css.d.mts
ADDED