@shikijs/langs-precompiled 1.26.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 +15 -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 +19 -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 +7 -0
- package/dist/apl.d.mts +3 -0
- package/dist/apl.mjs +17 -0
- package/dist/applescript.d.mts +3 -0
- package/dist/applescript.mjs +7 -0
- package/dist/ara.d.mts +3 -0
- package/dist/ara.mjs +7 -0
- package/dist/asciidoc.d.mts +3 -0
- package/dist/asciidoc.mjs +7 -0
- package/dist/asm.d.mts +3 -0
- package/dist/asm.mjs +7 -0
- package/dist/astro.d.mts +3 -0
- package/dist/astro.mjs +17 -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 +19 -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 +7 -0
- package/dist/cadence.d.mts +3 -0
- package/dist/cadence.mjs +7 -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 +7 -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 +7 -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 +13 -0
- package/dist/cpp.d.mts +3 -0
- package/dist/cpp.mjs +15 -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 +19 -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 +3 -0
- package/dist/css.d.mts +3 -0
- package/dist/css.mjs +7 -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 +7 -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 +9 -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 +7 -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 +7 -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 +7 -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 +15 -0
- package/dist/glimmer-ts.d.mts +3 -0
- package/dist/glimmer-ts.mjs +15 -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 +7 -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 +15 -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 +3 -0
- package/dist/haml.d.mts +3 -0
- package/dist/haml.mjs +11 -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 +7 -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 +11 -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 +9 -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 +7 -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 +7 -0
- package/dist/javascript.d.mts +3 -0
- package/dist/javascript.mjs +7 -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 +7 -0
- package/dist/julia.d.mts +3 -0
- package/dist/julia.mjs +17 -0
- package/dist/kotlin.d.mts +3 -0
- package/dist/kotlin.mjs +7 -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 +7 -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 +7 -0
- package/dist/lua.d.mts +3 -0
- package/dist/lua.mjs +9 -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 +7 -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 +7 -0
- package/dist/markdown.d.mts +3 -0
- package/dist/markdown.mjs +7 -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 +7 -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 +13 -0
- package/dist/mdx.d.mts +3 -0
- package/dist/mdx.mjs +7 -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 +7 -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 +7 -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 +7 -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 +21 -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 +7 -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 +7 -0
- package/dist/objective-cpp.d.mts +3 -0
- package/dist/objective-cpp.mjs +7 -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 +7 -0
- package/dist/perl.d.mts +3 -0
- package/dist/perl.mjs +17 -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 +19 -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 +7 -0
- package/dist/polar.d.mts +3 -0
- package/dist/polar.mjs +7 -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 +7 -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 +3 -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 +7 -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 +7 -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 +7 -0
- package/dist/razor.d.mts +3 -0
- package/dist/razor.mjs +3 -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 +7 -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 +31 -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 +7 -0
- package/dist/scheme.d.mts +3 -0
- package/dist/scheme.mjs +7 -0
- package/dist/scss.d.mts +3 -0
- package/dist/scss.mjs +9 -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 +7 -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 +7 -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 +7 -0
- package/dist/ssh-config.d.mts +3 -0
- package/dist/ssh-config.mjs +7 -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 +7 -0
- package/dist/svelte.d.mts +3 -0
- package/dist/svelte.mjs +15 -0
- package/dist/swift.d.mts +3 -0
- package/dist/swift.mjs +3 -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 +13 -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 +9 -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 +7 -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 +7 -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 +19 -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 +7 -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 +7 -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 +7 -0
- package/dist/verilog.d.mts +3 -0
- package/dist/verilog.mjs +7 -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 +11 -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 +27 -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 +7 -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 +7 -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 +7 -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 +7 -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 +358 -0
package/dist/mermaid.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
|
+
|
|
3
|
+
const lang = Object.freeze({displayName:"Mermaid",fileTypes:[],injectionSelector:"L:text.html.markdown",name:"mermaid",patterns:[{include:"#mermaid-code-block"},{include:"#mermaid-code-block-with-attributes"},{include:"#mermaid-ado-code-block"}],repository:{mermaid:{patterns:[{begin:/(?<=^|\n(?!$))\p{space}*(architecture-beta)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Architecture Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"punctuation.definition.typeparameters.begin.mermaid"},"4":{name:"string"},"5":{name:"keyword.control.mermaid"},"6":{name:"string"},"7":{name:"punctuation.definition.typeparameters.end.mermaid"},"8":{name:"punctuation.definition.typeparameters.begin.mermaid"},"9":{name:"string"},"10":{name:"punctuation.definition.typeparameters.end.mermaid"},"11":{name:"keyword.control.mermaid"},"12":{name:"variable"}},comment:"(group|service)(group id)(icon name)?(title)(in)?(parent)?",match:/\p{space}*(group|service)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(\()?([\p{L}\p{M}\p{N}\p{Pc}\p{space}\-]+)?(:)?([\p{L}\p{M}\p{N}\p{Pc}\p{space}\-]+)?(\))?\p{space}*(\[)?([\p{L}\p{M}\p{N}\p{Pc}\p{space}\-]+)?\p{space}*(\])?\p{space}*(in)?\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)?/dgiv},{captures:{"1":{name:"variable"},"2":{name:"punctuation.definition.typeparameters.begin.mermaid"},"3":{name:"variable"},"4":{name:"punctuation.definition.typeparameters.end.mermaid"},"5":{name:"keyword.control.mermaid"},"6":{name:"entity.name.function.mermaid"},"7":{name:"keyword.control.mermaid"},"8":{name:"entity.name.function.mermaid"},"9":{name:"keyword.control.mermaid"},"10":{name:"variable"},"11":{name:"punctuation.definition.typeparameters.begin.mermaid"},"12":{name:"variable"},"13":{name:"punctuation.definition.typeparameters.end.mermaid"}},comment:"(service id)(group id)?:(T|B|L|R) <?-->? (T|B|L|R):(service id)(group id)?",match:/\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(\{)?\p{space}*(group)?(\})?\p{space}*(:)\p{space}*(T|B|L|R)\p{space}+(<?-->?)\p{space}+(T|B|L|R)\p{space}*(:)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(\{)?\p{space}*(group)?(\})?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"variable"}},comment:"(junction)(junction id)(in)?(group)",match:/\p{space}*(junction)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(in)?\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)?/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(classDiagram)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Class Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"entity.name.type.class.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"keyword.control.mermaid"},"5":{name:"entity.name.type.class.mermaid"},"6":{name:"keyword.control.mermaid"},"7":{name:"string"}},comment:"(class name) (\"multiplicity relationship\")? (relationship) (\"multiplicity relationship\")? (class name) :? (labelText)?",match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}("(?:\p{Nd}+|\*|0[^\n][^\n]\p{Nd}+|1[^\n][^\n]\p{Nd}+|1[^\n][^\n]\*)")?\p{space}?(--o|--\*|<--|-->|<\.\.|\.\.>|<\|\.\.|\.\.\|>|<\|--|--\|>|--\*|--|\.\.|\*--|o--)\p{space}("(?:\p{Nd}+|\*|0[^\n][^\n]\p{Nd}+|1[^\n][^\n]\p{Nd}+|1[^\n][^\n]\*)")?\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}?(:)?\p{space}([^\n]*)(?=$|\n)/dgiv},{captures:{"1":{name:"entity.name.type.class.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"entity.name.function.mermaid"},"5":{name:"punctuation.parenthesis.open.mermaid"},"6":{name:"storage.type.mermaid"},"7":{name:"punctuation.definition.typeparameters.begin.mermaid"},"8":{name:"storage.type.mermaid"},"9":{name:"punctuation.definition.typeparameters.end.mermaid"},"10":{name:"entity.name.variable.parameter.mermaid"},"11":{name:"punctuation.parenthesis.closed.mermaid"},"12":{name:"keyword.control.mermaid"},"13":{name:"storage.type.mermaid"},"14":{name:"punctuation.definition.typeparameters.begin.mermaid"},"15":{name:"storage.type.mermaid"},"16":{name:"punctuation.definition.typeparameters.end.mermaid"}},comment:"(class name) : (visibility)?(function)( (function param/generic param)? )(classifier)? (return/generic return)?$",match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}?(:)\p{space}([\+\~\#\-])?([\p{L}\p{M}\p{N}\p{Pc}\-]+)(\()([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(\))([\*\$]{0,2})\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?(?=$|\n)/dgv},{captures:{"1":{name:"entity.name.type.class.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"storage.type.mermaid"},"5":{name:"punctuation.definition.typeparameters.begin.mermaid"},"6":{name:"storage.type.mermaid"},"7":{name:"punctuation.definition.typeparameters.end.mermaid"},"8":{name:"entity.name.variable.field.mermaid"}},comment:"(class name) : (visibility)?(datatype/generic data type) (attribute name)$",match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}?(:)\p{space}([\+\~\#\-])?([\p{L}\p{M}\p{N}\p{Pc}\-]+)(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?\p{space}([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(?=$|\n)/dgv},{captures:{"1":{name:"punctuation.definition.typeparameters.begin.mermaid"},"2":{name:"storage.type.mermaid"},"3":{name:"punctuation.definition.typeparameters.end.mermaid"},"4":{name:"entity.name.type.class.mermaid"}},comment:"<<(Annotation)>> (class name)",match:/(<<)([\p{L}\p{M}\p{N}\p{Pc}\-]+)(>>)\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?/dgv},{begin:/(class)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?\p{space}?(\{)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.type.class.mermaid"},"3":{name:"punctuation.definition.typeparameters.begin.mermaid"},"4":{name:"storage.type.mermaid"},"5":{name:"punctuation.definition.typeparameters.end.mermaid"},"6":{name:"keyword.control.mermaid"}},comment:"class (class name) ~?(generic type)?~? ({)",end:/(\})/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{begin:/\p{space}([\+\~\#\-])?([\p{L}\p{M}\p{N}\p{Pc}\-]+)(\()/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"},"3":{name:"punctuation.parenthesis.open.mermaid"}},comment:"(visibility)?(function)( (function param/generic param)? )(classifier)? (return/generic return)?$",end:/(\))([\*\$]{0,2})\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?(?=$|\n)/dgv,endCaptures:{"1":{name:"punctuation.parenthesis.closed.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"storage.type.mermaid"},"4":{name:"punctuation.definition.typeparameters.begin.mermaid"},"5":{name:"storage.type.mermaid"},"6":{name:"punctuation.definition.typeparameters.end.mermaid"}},patterns:[{captures:{"1":{name:"storage.type.mermaid"},"2":{name:"punctuation.definition.typeparameters.begin.mermaid"},"3":{name:"storage.type.mermaid"},"4":{name:"punctuation.definition.typeparameters.end.mermaid"},"5":{name:"entity.name.variable.parameter.mermaid"}},comment:"(TBD)",match:/\p{space}*,?\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?/dgv}]},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"storage.type.mermaid"},"3":{name:"punctuation.definition.typeparameters.begin.mermaid"},"4":{name:"storage.type.mermaid"},"5":{name:"punctuation.definition.typeparameters.end.mermaid"},"6":{name:"entity.name.variable.field.mermaid"}},comment:"(visibility)?(datatype/generic data type) (attribute name)$",match:/\p{space}([\+\~\#\-])?([\p{L}\p{M}\p{N}\p{Pc}\-]+)(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?\p{space}([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(?=$|\n)/dgv},{captures:{"1":{name:"punctuation.definition.typeparameters.begin.mermaid"},"2":{name:"storage.type.mermaid"},"3":{name:"punctuation.definition.typeparameters.end.mermaid"},"4":{name:"entity.name.type.class.mermaid"}},comment:"<<(Annotation)>> (class name)",match:/(<<)([\p{L}\p{M}\p{N}\p{Pc}\-]+)(>>)\p{space}?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?/dgv}]},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.type.class.mermaid"},"3":{name:"punctuation.definition.typeparameters.begin.mermaid"},"4":{name:"storage.type.mermaid"},"5":{name:"punctuation.definition.typeparameters.end.mermaid"}},comment:"class (class name) ~?(generic type)?~?",match:/(class)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)(~)?([\p{L}\p{M}\p{N}\p{Pc}\-]+)?(~)?/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(erDiagram)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Entity Relationship Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"},"4":{name:"keyword.control.mermaid"}},comment:"(entity)",match:/(?<=^|\n(?!$))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(\[)?\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\p{space}\-]+")?\p{space}*(\])?(?=$|\n)/dgv},{begin:/\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(\[)?\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\p{space}\-]+")?\p{space}*(\])?\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"},"4":{name:"keyword.control.mermaid"},"5":{name:"keyword.control.mermaid"}},comment:"(entity) {",end:/(\})/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{captures:{"1":{name:"storage.type.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"string"}},comment:"(type) (name) (PK|FK)? (\"comment\")?",match:/\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+(PK|FK)?\p{space}*("["\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*")?\p{space}*/dgiv},{match:/%%[^\n]*/dgv,name:"comment"}]},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"variable"},"4":{name:"keyword.control.mermaid"},"5":{name:"string"}},comment:"(entity) (relationship) (entity) : (label)",match:/\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*((?:\|o|\|\||\}o|\}\||one or (?:zero|more|many)|zero or (?:one|more|many)|many\((?:0|1)\)|only one|0\+|1\+?)(?:[^\n][^\n]|--)(?:o\||\|\||o\{|\|\{|one or (?:zero|more|many)|zero or (?:one|more|many)|many\((?:0|1)\)|only one|0\+|1\+?))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(:)\p{space}*("[\p{L}\p{M}\p{N}\p{Pc}\p{space}]*"|[\p{L}\p{M}\p{N}\p{Pc}\-]+)/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(gantt)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Gantt Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},match:/(?<=^|\n(?!$))\p{space}*(dateFormat)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-\.]+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},match:/(?<=^|\n(?!$))\p{space}*(axisFormat)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\%\/\\\-\.]+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(tickInterval)\p{space}+(([1-9]\p{Nd}*)(millisecond|second|minute|hour|day|week|month))/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(title)\p{space}+(\p{space}*["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(excludes)\p{space}+((?:[\p{Nd}\-\,\p{space}]+|monday|tuesday|wednesday|thursday|friday|saturday|sunday|weekends)+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}+(todayMarker)\p{space}+([^\n]*)(?=$|\n)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(section)\p{space}+(\p{space}*["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{begin:/(?<=^|\n(?!$))\p{space}([^\n]*)(:)/dgv,beginCaptures:{"1":{name:"string"},"2":{name:"keyword.control.mermaid"}},end:/(?=$|\n)/dgv,patterns:[{match:/(crit|done|active|after)/dgv,name:"entity.name.function.mermaid"},{match:/%%[^\n]*/dgv,name:"comment"}]}]},{begin:/(?<=^|\n(?!$))\p{space}*(gitGraph)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Git Graph",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{begin:/(?<=^|\n(?!$))\p{space}*(commit)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"commit",end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"(id)(:) (\"id\")",match:/\p{space}*(id)(:)\p{space}?("[^"\n]*")/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"entity.name.function.mermaid"}},comment:"(type)(:) (COMMIT_TYPE)",match:/\p{space}*(type)(:)\p{space}?(NORMAL|REVERSE|HIGHLIGHT)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"(tag)(:) (\"tag\")",match:/\p{space}*(tag)(:)\p{space}?("[\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*")/dgiv}]},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"}},comment:"(checkout) (branch-name)",match:/(?<=^|\n(?!$))\p{space}*(checkout)\p{space}*([^\p{space}"]*)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"keyword.control.mermaid"},"5":{name:"constant.numeric.decimal.mermaid"}},comment:"(branch) (branch-name) (order)?(:) (number)",match:/(?<=^|\n(?!$))\p{space}*(branch)\p{space}*([^\p{space}"]*)\p{space}*(?:(order)(:)\p{space}?(\p{Nd}+))?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"keyword.control.mermaid"},"5":{name:"string"}},comment:"(merge) (branch-name) (tag: \"tag-name\")?",match:/(?<=^|\n(?!$))\p{space}*(merge)\p{space}*([^\p{space}"]*)\p{space}*(?:(tag)(:)\p{space}?("[^"\n]*"))?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"string"}},comment:"(cherry-pick) (id)(:)(\"commit-id\")",match:/(?<=^|\n(?!$))\p{space}*(cherry-pick)\p{space}+(id)(:)\p{space}*("[^"\n]*")/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(graph|flowchart)\p{space}+([\p{Letter} 0-9]+)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},comment:"Graph",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"string"},"5":{name:"keyword.control.mermaid"}},comment:"",match:/(?<=^|\n(?!$))\p{space}*(subgraph)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)(\[)("?[\p{L}\p{M}\p{N}\p{Pc}\p{space}\*\+\%\=\\\/\:\.\-'\`\,\&\^\#\$\!\?\<\>]*"?)(\])/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},match:/(?<=^|\n(?!$))\p{space}*(subgraph)\p{space}+([\p{Letter} 0-9\<\>]+)/dgv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},match:/(?<=^|\n(?!$))\p{space}*(direction)\p{space}+(RB|BT|RL|TD|LR)/dgiv},{match:/\b(end)\b/dgv,name:"keyword.control.mermaid"},{begin:/(\b(?:(?!--|==)[\-\p{L}\p{M}\p{N}\p{Pc}])+\b\p{space}*)(\(\[|\[\[|\[\(|\[|\(+|>|\{|\(\()/dgv,beginCaptures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"(Entity)(Edge/Shape)(Text)(Edge/Shape)",end:/(\]\)|\]\]|\)\]|\]|\)+|\}|\)\))/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{begin:/\p{space}*(")/dgv,beginCaptures:{"1":{name:"string"}},comment:"(\"multi-line text\")",end:/(")/dgv,endCaptures:{"1":{name:"string"}},patterns:[{begin:/([^"]*)/dgv,beginCaptures:{"1":{name:"string"}},comment:"capture inner text between quotes",end:/(?=")/dgv,patterns:[{captures:{"1":{name:"comment"}},match:/([^"]*)/dgv}]}]},{captures:{"1":{name:"string"}},comment:"(single line text)",match:/\p{space}*([\$\&\%\^\/\#\.\,\?\!\;\:\*\+\<\>_'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgv}]},{begin:/\p{space}*((?:-{2,5}|={2,5})[xo\>]?\|)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"(Graph Link)(\"Multiline text\")(Graph Link)",end:/(\|)/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{begin:/\p{space}*(")/dgv,beginCaptures:{"1":{name:"string"}},comment:"(\"multi-line text\")",end:/(")/dgv,endCaptures:{"1":{name:"string"}},patterns:[{begin:/([^"]*)/dgv,beginCaptures:{"1":{name:"string"}},comment:"capture inner text between quotes",end:/(?=")/dgv,patterns:[{captures:{"1":{name:"comment"}},match:/([^"]*)/dgv}]}]},{captures:{"1":{name:"string"}},comment:"(single line text)",match:/\p{space}*([\$\&\%\^\/\#\.\,\?\!\;\:\*\+\<\>_'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgv}]},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"},"3":{name:"keyword.control.mermaid"}},comment:"(Graph Link Start Arrow)(Text)(Graph Link End Arrow)",match:/\p{space}*([xo\<]?(?:-{2,5}|={2,5}|-\.{1,3}|-\.))((?:(?!--|==)[\p{L}\p{M}\p{N}\p{Pc}\p{space}\*\+\%\=\\\/\:\.\-'\`\,"\&\^\#\$\!\?\<\>\[\]])*)((?:-{2,5}|={2,5}|\.{1,3}-|\.-)[xo\>]?)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"}},comment:"(Graph Link)",match:/\p{space}*([ox\<]?(?:-[^\n]{1,3}-|-{1,3}|={1,3})[ox\>]?)/dgiv},{comment:"Entity",match:/(\b(?:(?!--|==)[\-\p{L}\p{M}\p{N}\p{Pc}])+\b\p{space}*)/dgv,name:"variable"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"string"}},comment:"(Class)(Node(s))(ClassName)",match:/\p{space}*(class)\p{space}+(\b[\-\,\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"string"}},comment:"(ClassDef)(ClassName)(Styles)",match:/\p{space}*(classDef)\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)\p{space}+(\b[\-\,\:\;\#\p{L}\p{M}\p{N}\p{Pc}]+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"variable"},"4":{name:"string"}},comment:"(Click)(Entity)(Link)?(Tooltip)",match:/\p{space}*(click)\p{space}+(\b[\-\p{L}\p{M}\p{N}\p{Pc}]+\b\p{space}*)(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)?\p{space}("*[^\n]*")/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(pie)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Pie Chart",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(title)\p{space}+(\p{space}*["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{begin:/\p{space}([^\n]*)(:)/dgv,beginCaptures:{"1":{name:"string"},"2":{name:"keyword.control.mermaid"}},end:/(?=$|\n)/dgv,patterns:[{match:/%%[^\n]*/dgv,name:"comment"}]}]},{begin:/(?<=^|\n(?!$))\p{space}*(quadrantChart)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Quadrant Chart",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(title)\p{space}*(["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{begin:/(?<=^|\n(?!$))\p{space}*([xy]-axis)\p{space}+((?:(?!-->)[\$\&\%\/\#\.\,\?\!\*\+\='\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}])*)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},comment:"(x|y-axis) (text) (-->)? (text)?",end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},comment:"(-->) (text)",match:/\p{space}*(-->)\p{space}*([\$\&\%\/\#\.\,\?\!\*\+\='\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgv}]},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(quadrant-[1234])\p{space}*(["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{captures:{"1":{name:"string"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"constant.numeric.decimal.mermaid"},"5":{name:"keyword.control.mermaid"},"6":{name:"constant.numeric.decimal.mermaid"},"7":{name:"keyword.control.mermaid"}},comment:"(text)(:) ([)(decimal)(,) (decimal)(])",match:/\p{space}*([\$\&\%\/\#\.\,\?\!\*\+\='\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)\p{space}*(:)\p{space}*(\[)\p{space}*(\p{Nd}\.\p{Nd}+)\p{space}*(,)\p{space}*(\p{Nd}\.\p{Nd}+)\p{space}*(\])/dgv}]},{begin:/(?<=^|\n(?!$))\p{space}*(requirementDiagram)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Requirement Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{begin:/(?<=^|\n(?!$))\p{space}*((?:functional|interface|performance|physical)?requirement|designConstraint)\p{space}*(["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)\p{space}*(\{)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"}},comment:"(requirement) (name) ({)",end:/\p{space}*(\})/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"}},comment:"(id:) (variable id)",match:/\p{space}*(id:)\p{space}*([\$\&\%\^\/\#\.\,\?\!\;\:\*\+\<\>_'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},comment:"(text:) (text string)",match:/\p{space}*(text:)\p{space}*([\$\&\%\^\/\#\.\,\?\!\;\:\*\+\<\>_'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},comment:"(risk:) (risk option)",match:/\p{space}*(risk:)\p{space}*(low|medium|high)\p{space}*(?=$|\n)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"}},comment:"(verifyMethod)(:) (method)",match:/\p{space}*(verifymethod:)\p{space}*(analysis|inspection|test|demonstration)\p{space}*(?=$|\n)/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(element)\p{space}*(["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)\p{space}*(\{)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"}},comment:"(element) (name) ({)",end:/\p{space}*(\})/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"}},comment:"(type:) (user type)",match:/\p{space}*(type:)\p{space}*(["\$\&\%\^\/\#\.\,\?\!\;\:\*\+\<\>_'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"}},comment:"(docref:) (user ref)",match:/\p{space}*(docref:)\p{space}*([\$\&\%\^\/\#\.\,\?\!\;\:\*\+\<\>_'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgiv}]},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"keyword.control.mermaid"},"5":{name:"variable"}},comment:"(source) (-) (type) (->) (destination)",match:/(?<=^|\n(?!$))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(-)\p{space}*(contains|copies|derives|satisfies|verifies|refines|traces)\p{space}*(->)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=$|\n)/dgiv},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"keyword.control.mermaid"},"4":{name:"keyword.control.mermaid"},"5":{name:"variable"}},comment:"(destination) (<-) (type) (-) (source)",match:/(?<=^|\n(?!$))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(<-)\p{space}*(contains|copies|derives|satisfies|verifies|refines|traces)\p{space}*(-)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=$|\n)/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(sequenceDiagram)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"Sequence Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/(%%|#)[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"(title)(title text)",match:/(title)\p{space}*(:)?\p{space}+(\p{space}*["\(\)\$\&\%\^\/\#\.\,\?\!\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"string"}},comment:"(participant)(Actor)(as)?(Label)?",match:/\p{space}*(participant|actor)\p{space}+((?:(?! as )["\(\)\$\&\%\^\/\#\.\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}])+)\p{space}*(as)?\p{space}(["\(\)\$\&\%\^\/\#\.\,\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"}},comment:"(activate/deactivate)(Actor)",match:/\p{space}*((?:de)?activate)\p{space}+(\b["\(\)\$\&\%\^\/\#\.\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b\)?\p{space}*)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"},"3":{name:"variable"},"4":{name:"keyword.control.mermaid"},"5":{name:"variable"},"6":{name:"keyword.control.mermaid"},"7":{name:"string"}},comment:"(Note)(direction)(Actor)(,)?(Actor)?(:)(Message)",match:/\p{space}*(Note)\p{space}+((?:left|right)\p{space}of|over)\p{space}+(\b["\(\)\$\&\%\^\/\#\.\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b\)?\p{space}*)(,)?(\b["\(\)\$\&\%\^\/\#\.\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b\)?\p{space}*)?(:)(?:\p{space}+([^\;\#]*))?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},comment:"(loop)(loop text)",match:/\p{space}*(loop)(?:\p{space}+([^\;\#]*))?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"}},comment:"(end)",match:/\p{space}*(end)/dgv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},comment:"(alt/else/option/par/and/autonumber/critical/opt)(text)",match:/\p{space}*(alt|else|option|par|and|rect|autonumber|critical|opt)(?:\p{space}+([^\#\;]*))?(?=$|\n)/dgiv},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"variable"},"4":{name:"keyword.control.mermaid"},"5":{name:"string"}},comment:"(Actor)(Arrow)(Actor)(:)(Message)",match:/\p{space}*(\b["\(\)\$\&\%\^\/\#\.\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b\)?)\p{space}*(-?-(?:>|x|\))>?[\+\-]?)\p{space}*(["\(\)\$\&\%\^\/\#\.\?\!\*\=\<\>'\\\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b\)?)\p{space}*(:)\p{space}*([^\;\#]*)/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"entity.name.function.mermaid"},"3":{name:"string"}},comment:"(box transparent text)",match:/\p{space}*(box)\p{space}+(transparent)(?:\p{space}+([^\;\#]*))?/dgiv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},comment:"(box text)",match:/\p{space}*(box)(?:\p{space}+([^\;\#]*))?/dgiv}]},{begin:/(?<=^|\n(?!$))\p{space}*(stateDiagram(?:-v2)?)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"State Diagram",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"}},comment:"}",match:/\p{space}+(\})\p{space}+/dgv},{captures:{"1":{name:"keyword.control.mermaid"}},comment:"--",match:/\p{space}+(--)\p{space}+/dgv},{comment:"(state)",match:/(?<=^|\n(?!$))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)(?=$|\n)/dgv,name:"variable"},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"(state) : (description)",match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+(:)\p{space}+(\p{space}*[\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b)/dgv},{begin:/(?<=^|\n(?!$))\p{space}*(state)\p{space}+/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"state",end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"string"},"2":{name:"keyword.control.mermaid"},"3":{name:"variable"}},comment:"\"(description)\" as (state)",match:/\p{space}*("[\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]+\b")\p{space}+(as)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)/dgiv},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"}},comment:"(state name) {",match:/\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+(\{)/dgv},{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"}},comment:"(state name) <<fork|join>>",match:/\p{space}*([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+(<<(?:fork|join)>>)/dgiv}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+(-->)/dgv,beginCaptures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"}},comment:"(state) -->",end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"variable"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"(state) (:)? (transition text)?",match:/\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(:)?\p{space}*([^\n\:]+)?/dgv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"string"}},comment:"[*] (:)? (transition text)?",match:/(\[\*\])\p{space}*(:)?\p{space}*([^\n\:]+)?/dgv}]},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"variable"},"4":{name:"keyword.control.mermaid"},"5":{name:"string"}},comment:"[*] --> (state) (:)? (transition text)?",match:/(\[\*\])\p{space}+(-->)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*(:)?\p{space}*([^\n\:]+)?/dgv},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"},"3":{name:"keyword.control.mermaid"},"4":{name:"string"}},comment:"note left|right of (state name)",match:/(?<=^|\n(?!$))\p{space}*(note (?:left|right) of)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}+(:)\p{space}*([^\n\:]+)/dgiv},{begin:/(?<=^|\n(?!$))\p{space}*(note (?:left|right) of)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)([^\n]|\n)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"variable"}},comment:"note left|right of (state name) (note text) end note",contentName:"string",end:/(end note)/dgiv,endCaptures:{"1":{name:"keyword.control.mermaid"}}}]},{begin:/(?<=^|\n(?!$))\p{space}*(journey)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"User Journey",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(title|section)\p{space}+(\p{space}*["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{begin:/\p{space}*(["\(\)\$\&\%\^\/\.\,\?\!\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)\p{space}*(:)\p{space}*(\p{Nd}+)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"string"},"2":{name:"keyword.control.mermaid"},"3":{name:"constant.numeric.decimal.mermaid"},"4":{name:"keyword.control.mermaid"}},end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"variable"}},comment:"(taskName)",match:/\p{space}*,?\p{space}*([^\,\#\n]+)/dgv}]}]},{begin:/(?<=^|\n(?!$))\p{space}*(xychart(?:-beta)?(?:\p{space}+horizontal)?)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"XY Chart",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\:\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{match:/%%[^\n]*/dgv,name:"comment"},{captures:{"1":{name:"keyword.control.mermaid"},"2":{name:"string"}},match:/(?<=^|\n(?!$))\p{space}*(title)\p{space}+(\p{space}*["\(\)\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*)/dgiv},{begin:/(?<=^|\n(?!$))\p{space}*(x-axis)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"(x-axis)",end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"constant.numeric.decimal.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"constant.numeric.decimal.mermaid"}},comment:"(decimal) (-->) (decimal)",match:/\p{space}*([\-\+]?\p{Nd}+\.?\p{Nd}*)\p{space}*(-->)\p{space}*([\-\+]?\p{Nd}+\.?\p{Nd}*)/dgv},{captures:{"1":{name:"string"}},comment:"(\"text\")",match:/\p{space}+("[\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*")/dgv},{captures:{"1":{name:"string"}},comment:"(text)",match:/\p{space}+([\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{begin:/\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"([)(text)(,)(text)*(])",end:/\p{space}*(\])/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{captures:{"1":{name:"constant.numeric.decimal.mermaid"}},comment:"(decimal)",match:/\p{space}*([\-\+]?\p{Nd}+\.?\p{Nd}*)/dgv},{captures:{"1":{name:"string"}},comment:"(\"text\")",match:/\p{space}*("[\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*")/dgv},{captures:{"1":{name:"string"}},comment:"(text)",match:/\p{space}*([\(\$\&\%\^\/\#\.\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)/dgv},{captures:{"1":{name:"keyword.control.mermaid"}},comment:"(,)",match:/\p{space}*(,)/dgv}]}]},{begin:/(?<=^|\n(?!$))\p{space}*(y-axis)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"}},comment:"(y-axis)",end:/(?=$|\n)/dgv,patterns:[{captures:{"1":{name:"constant.numeric.decimal.mermaid"},"2":{name:"keyword.control.mermaid"},"3":{name:"constant.numeric.decimal.mermaid"}},comment:"(decimal) (-->) (decimal)",match:/\p{space}*([\-\+]?\p{Nd}+\.?\p{Nd}*)\p{space}*(-->)\p{space}*([\-\+]?\p{Nd}+\.?\p{Nd}*)/dgv},{captures:{"1":{name:"string"}},comment:"(\"text\")",match:/\p{space}+("[\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}\p{space}]*")/dgv},{captures:{"1":{name:"string"}},comment:"(text)",match:/\p{space}+([\(\$\&\%\^\/\#\.\,\?\!\;\:\*\+\=\<\>'\\\-\p{L}\p{M}\p{N}\p{Pc}]*)/dgv}]},{begin:/(?<=^|\n(?!$))\p{space}*(line|bar)\p{space}*(\[)/dgiv,beginCaptures:{"1":{name:"keyword.control.mermaid"},"2":{name:"keyword.control.mermaid"}},comment:"(line|bar) ([)(decimal)+(])",end:/\p{space}*(\])/dgv,endCaptures:{"1":{name:"keyword.control.mermaid"}},patterns:[{captures:{"1":{name:"constant.numeric.decimal.mermaid"}},comment:"(decimal)",match:/\p{space}*([\-\+]?\p{Nd}+\.?\p{Nd}*)/dgv},{captures:{"1":{name:"keyword.control.mermaid"}},comment:"(,)",match:/\p{space}*(,)/dgv}]}]}]},"mermaid-ado-code-block":{begin:/\p{space}*:::\p{space}*mermaid\p{space}*(?=$|\n)/dgiv,contentName:"meta.embedded.block.mermaid",end:/\p{space}*:::\p{space}*/dgv,patterns:[{include:"#mermaid"}]},"mermaid-code-block":{begin:/(?<=[\`\~])mermaid(\p{space}+[^\`\~]*)?(?=$|\n)/dgiv,contentName:"meta.embedded.block.mermaid",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{include:"#mermaid"}]},"mermaid-code-block-with-attributes":{begin:/(?<=[\`\~])\{\p{space}*\.?mermaid(\p{space}+[^\`\~]*)?(?=$|\n)/dgiv,contentName:"meta.embedded.block.mermaid",end:new EmulatedRegExp("((?<=^|\\n(?!$)))(?=\\p{space}*[\\`\\~]{3,}\\p{space}*(?=$|\\n))","dgv",{"strategy":"line_or_search_start"}),patterns:[{include:"#mermaid"}]}},scopeName:"markdown.mermaid.codeblock",embeddedLangs:undefined,aliases:["mmd"]})
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
lang
|
|
7
|
+
]
|
package/dist/mips.d.mts
ADDED
package/dist/mips.mjs
ADDED
package/dist/mipsasm.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
|
+
|
|
3
|
+
const lang = Object.freeze({displayName:"MIPS Assembly",fileTypes:["s","mips","spim","asm"],name:"mipsasm",patterns:[{comment:"ok actually this are instructions, but one also could call them funtions…",match:/\b(mul|abs|div|divu|mulo|mulou|neg|negu|not|rem|remu|rol|ror|li|seq|sge|sgeu|sgt|sgtu|sle|sleu|sne|b|beqz|bge|bgeu|bgt|bgtu|ble|bleu|blt|bltu|bnez|la|ld|ulh|ulhu|ulw|sd|ush|usw|move|mfc1\.d|l\.d|l\.s|s\.d|s\.s)\b/dgv,name:"support.function.pseudo.mips"},{match:/\b(abs\.d|abs\.s|add|add\.d|add\.s|addi|addiu|addu|and|andi|bc1f|bc1t|beq|bgez|bgezal|bgtz|blez|bltz|bltzal|bne|break|c\.eq\.d|c\.eq\.s|c\.le\.d|c\.le\.s|c\.lt\.d|c\.lt\.s|ceil\.w\.d|ceil\.w\.s|clo|clz|cvt\.d\.s|cvt\.d\.w|cvt\.s\.d|cvt\.s\.w|cvt\.w\.d|cvt\.w\.s|div|div\.d|div\.s|divu|eret|floor\.w\.d|floor\.w\.s|j|jal|jalr|jr|lb|lbu|lh|lhu|ll|lui|lw|lwc1|lwl|lwr|madd|maddu|mfc0|mfc1|mfhi|mflo|mov\.d|mov\.s|movf|movf\.d|movf\.s|movn|movn\.d|movn\.s|movt|movt\.d|movt\.s|movz|movz\.d|movz\.s|msub|mtc0|mtc1|mthi|mtlo|mul|mul\.d|mul\.s|mult|multu|neg\.d|neg\.s|nop|nor|or|ori|round\.w\.d|round\.w\.s|sb|sc|sdc1|sh|sll|sllv|slt|slti|sltiu|sltu|sqrt\.d|sqrt\.s|sra|srav|srl|srlv|sub|sub\.d|sub\.s|subu|sw|swc1|swl|swr|syscall|teq|teqi|tge|tgei|tgeiu|tgeu|tlt|tlti|tltiu|tltu|trunc\.w\.d|trunc\.w\.s|xor|xori)\b/dgv,name:"support.function.mips"},{match:/\.(ascii|asciiz|byte|data|double|float|half|kdata|ktext|space|text|word|set\p{space}*(noat|at))\b/dgv,name:"storage.type.mips"},{match:/\.(align|extern||globl)\b/dgv,name:"storage.modifier.mips"},{captures:{"1":{name:"entity.name.function.label.mips"}},match:/\b([A-Za-z0-9_]+):/dgv,name:"meta.function.label.mips"},{captures:{"1":{name:"punctuation.definition.variable.mips"}},match:/(\$)(0|[2-9]|1\p{Nd}|2[0-5]|2[89]|3[0-1])\b/dgv,name:"variable.other.register.usable.by-number.mips"},{captures:{"1":{name:"punctuation.definition.variable.mips"}},match:/(\$)(zero|v[01]|a[0-3]|t\p{Nd}|s[0-7]|gp|sp|fp|ra)\b/dgv,name:"variable.other.register.usable.by-name.mips"},{captures:{"1":{name:"punctuation.definition.variable.mips"}},match:/(\$)(at|k[01]|1|2[67])\b/dgv,name:"variable.other.register.reserved.mips"},{captures:{"1":{name:"punctuation.definition.variable.mips"}},match:/(\$)f(\p{Nd}|1\p{Nd}|2\p{Nd}|3[0-1])\b/dgv,name:"variable.other.register.usable.floating-point.mips"},{match:/\b\p{Nd}+\.\p{Nd}+\b/dgv,name:"constant.numeric.float.mips"},{match:/\b(\p{Nd}+|0(x|X)[a-fA-F0-9]+)\b/dgv,name:"constant.numeric.integer.mips"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.mips"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.mips"}},name:"string.quoted.double.mips",patterns:[{match:/\\[rnt\\"]/dgv,name:"constant.character.escape.mips"}]},{begin:/((?<=^|\n(?!$))[ \t]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.mips"}},end:new EmulatedRegExp("","dgv",{"strategy":"not_search_start"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.mips"}},end:/\n/dgv,name:"comment.line.number-sign.mips"}]}],scopeName:"source.mips",embeddedLangs:undefined,aliases:["mips"]})
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
lang
|
|
7
|
+
]
|
package/dist/mmd.d.mts
ADDED
package/dist/mmd.mjs
ADDED
package/dist/mojo.d.mts
ADDED
package/dist/mojo.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
|
+
|
|
3
|
+
const lang = Object.freeze({displayName:"Mojo",name:"mojo",patterns:[{include:"#statement"},{include:"#expression"}],repository:{"annotated-parameter":{begin:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.annotation.python"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"}]},"assignment-operator":{match:/<<=|>>=|\/\/=|\*\*=|\+=|-=|\/=|@=|\*=|%=|~=|\^=|&=|\|=|=(?!=)/dgv,name:"keyword.operator.assignment.python"},backticks:{begin:/`/dgv,end:/(?:`|(?<!\\)(\n))/dgv,name:"string.quoted.single.python"},"builtin-callables":{patterns:[{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#builtin-exceptions"},{include:"#builtin-functions"},{include:"#builtin-types"}]},"builtin-exceptions":{match:/(?<!\.)\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\b/dgv,name:"support.type.exception.python"},"builtin-functions":{patterns:[{match:/(?<!\.)\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\b/dgv,name:"support.function.builtin.python"},{match:/(?<!\.)\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\b/dgv,name:"variable.legacy.builtin.python"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{match:/(?<!\.)\b(__mlir_attr|__mlir_op|__mlir_type|bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\b/dgv,name:"support.type.python"},"call-wrapper-inheritance":{begin:/\b(?=([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,comment:"same as a function call, but in inheritance context",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#inheritance-name"},{include:"#function-arguments"}]},"class-declaration":{patterns:[{begin:/\p{space}*(class|struct|trait)\p{space}+(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(:|\())/dgv,beginCaptures:{"1":{name:"storage.type.class.python"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.section.class.begin.python"}},name:"meta.class.python",patterns:[{include:"#class-name"},{include:"#class-inheritance"}]}]},"class-inheritance":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.inheritance.begin.python"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.inheritance.end.python"}},name:"meta.class.inheritance.python",patterns:[{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.arguments.python"},{match:/,/dgv,name:"punctuation.separator.inheritance.python"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"},{match:/\bmetaclass\b/dgv,name:"support.type.metaclass.python"},{include:"#illegal-names"},{include:"#class-kwarg"},{include:"#call-wrapper-inheritance"},{include:"#expression-base"},{include:"#member-access-class"},{include:"#inheritance-identifier"}]},"class-kwarg":{captures:{"1":{name:"entity.other.inherited-class.python variable.parameter.class.python"},"2":{name:"keyword.operator.assignment.python"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},"class-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.class.python"}]},codetags:{captures:{"1":{name:"keyword.codetag.notation.python"}},match:/\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\b/dgv},comments:{patterns:[{begin:new EmulatedRegExp("#\\p{space}*(type:)(?:(?=($E$\\p{space}*))\\2)(?!(?=$|\\n)|#)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.typehint.comment.python"},"1":{name:"comment.typehint.directive.notation.python"}},contentName:"meta.typehint.comment.python",end:/(?:(?=$|\n)|(?=#))/dgv,name:"comment.line.number-sign.python",patterns:[{match:/ignore(?=\p{space}*(?:(?=$|\n)|#))/dgvy,name:"comment.typehint.ignore.notation.python"},{match:/(?<!\.)\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\b/dgv,name:"comment.typehint.type.notation.python"},{match:/([\[\]\(\)\,\.\=\*]|(->))/dgv,name:"comment.typehint.punctuation.notation.python"},{match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"comment.typehint.variable.notation.python"}]},{include:"#comments-base"}]},"comments-base":{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.python"}},end:/((?=$|\n))/dgv,name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-double-three":{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.python"}},end:/((?=$|\n)|(?="""))/dgv,name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-single-three":{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.python"}},end:/((?=$|\n)|(?='''))/dgv,name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"curly-braces":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.dict.begin.python"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.dict.end.python"}},patterns:[{match:/:/dgv,name:"punctuation.separator.dict.python"},{include:"#expression"}]},decorator:{begin:/(?<=^|\n(?!$))\p{space}*((@))\p{space}*(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{name:"entity.name.function.decorator.python"},"2":{name:"punctuation.definition.decorator.python"}},end:/(\))([^\n]*?)(?=\p{space}*(?:#|(?=$|\n)))|(?=\n|#)/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"},"2":{name:"invalid.illegal.decorator.python"}},name:"meta.function.decorator.python",patterns:[{include:"#decorator-name"},{include:"#function-arguments"}]},"decorator-name":{patterns:[{include:"#builtin-callables"},{include:"#illegal-object-name"},{captures:{"2":{name:"punctuation.separator.period.python"}},match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)|(\.)/dgv,name:"entity.name.function.decorator.python"},{include:"#line-continuation"},{captures:{"1":{name:"invalid.illegal.decorator.python"}},match:/\p{space}*([^\(A-Za-z\p{space}_\.\#\\][^\n]*?)(?=#|(?=$|\n))/dgv,name:"invalid.illegal.decorator.python"}]},"double-one-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-one-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-one-regexp-character-set"},{include:"#double-one-regexp-comments"},{include:"#regexp-flags"},{include:"#double-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-one-regexp-lookahead"},{include:"#double-one-regexp-lookahead-negative"},{include:"#double-one-regexp-lookbehind"},{include:"#double-one-regexp-lookbehind-negative"},{include:"#double-one-regexp-conditional"},{include:"#double-one-regexp-parentheses-non-capturing"},{include:"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?="""))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-three-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-three-regexp-character-set"},{include:"#double-three-regexp-comments"},{include:"#regexp-flags"},{include:"#double-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-three-regexp-lookahead"},{include:"#double-three-regexp-lookahead-negative"},{include:"#double-three-regexp-lookbehind"},{include:"#double-three-regexp-lookbehind-negative"},{include:"#double-three-regexp-conditional"},{include:"#double-three-regexp-parentheses-non-capturing"},{include:"#double-three-regexp-parentheses"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},ellipsis:{match:/\.\.\./dgv,name:"constant.other.ellipsis.python"},"escape-sequence":{match:/\\(x[0-9A-Fa-f]{2}|[0-7]{1,3}|[\\"'abfnrtv])/dgv,name:"constant.character.escape.python"},"escape-sequence-unicode":{patterns:[{match:/\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+?\})/dgv,name:"constant.character.escape.python"}]},expression:{comment:"All valid Python expressions",patterns:[{include:"#expression-base"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"expression-bare":{comment:"valid Python expressions w/o comments and line continuation",patterns:[{include:"#backticks"},{include:"#literal"},{include:"#regexp"},{include:"#string"},{include:"#lambda"},{include:"#generator"},{include:"#illegal-operator"},{include:"#operator"},{include:"#curly-braces"},{include:"#item-access"},{include:"#list"},{include:"#odd-function-call"},{include:"#round-braces"},{include:"#function-call"},{include:"#builtin-functions"},{include:"#builtin-types"},{include:"#builtin-exceptions"},{include:"#magic-names"},{include:"#special-names"},{include:"#illegal-names"},{include:"#special-variables"},{include:"#ellipsis"},{include:"#punctuation"},{include:"#line-continuation"}]},"expression-base":{comment:"valid Python expressions with comments and line continuation",patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{comment:"All valid Python expressions, except comments and line continuation",patterns:[{include:"#expression-bare"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"fregexp-base-expression":{patterns:[{include:"#fregexp-quantifier"},{include:"#fstring-formatting-braces"},{match:/\{[^\n]*?\}/dgv},{include:"#regexp-base-common"}]},"fregexp-quantifier":{match:/\{\{(\p{Nd}+|\p{Nd}+,(\p{Nd}+)?|,\p{Nd}+)\}\}/dgv,name:"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{begin:/(\b[fF])([bBuU])?('''|""")/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{name:"invalid.illegal.prefix.python"},"3":{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{begin:/(\b[fF])([bBuU])?((['"]))/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{name:"invalid.illegal.prefix.python"},"3":{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-formatting":{patterns:[{include:"#fstring-formatting-braces"},{include:"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"2":{name:"invalid.illegal.brace.python"},"3":{name:"constant.character.format.placeholder.other.python"}},comment:"empty braces are illegal",match:/(\{)(\p{space}*?)(\})/dgv},{match:/(\{\{|\}\})/dgv,name:"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{match:/(\}(?!\}))/dgv,name:"invalid.illegal.brace.python"},"fstring-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#fstring-formatting"}]},"fstring-illegal-multi-brace":{patterns:[{include:"#impossible"}]},"fstring-illegal-single-brace":{begin:/(\{)(?=[^\n\}]*(?=$|\n)\n?)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"it is illegal to have a multiline brace inside a single-line string",end:/(\})|(?=\n)/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-multi-brace":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:/(\})/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-multi"},{include:"#f-expression"}]},"fstring-multi-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|'''|"""))|\n/dgv,name:"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{begin:/(\b[bBuU])([fF])('''|""")/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python string.quoted.multi.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{begin:/(\b[bBuU])([fF])((['"]))/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python string.quoted.single.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#fstring-formatting"}]},"fstring-raw-multi-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|'''|"""))|\n/dgv,name:"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{begin:/(\b(?:[rR][fF]|[fF][rR]))('''|""")/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{begin:/(\b(?:[rR][fF]|[fF][rR]))((['"]))/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-raw-single-core"}]},"fstring-raw-single-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|(['"])|((?<!\\)\n)))|\n/dgv,name:"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:/(\})|(?=\n)/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-single-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|(['"])|((?<!\\)\n)))|\n/dgv,name:"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{patterns:[{match:/(=(![rsa])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![rsa])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![rsa])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)(?=\})/dgv},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:/(=?(?:![rsa])?)(:)(?=[^\n]*?\{)/dgv,beginCaptures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},end:/(?=\})/dgv,patterns:[{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{match:/([bcdeEfFgGnosxX\%])(?=\})/dgv,name:"storage.type.format.python"},{match:/(\.\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(,)/dgv,name:"storage.type.format.python"},{match:/(\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(#)/dgv,name:"storage.type.format.python"},{match:/([\-\+ ])/dgv,name:"storage.type.format.python"},{match:/([\<\>\=\^])/dgv,name:"storage.type.format.python"},{match:/([\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.format.python"}]},"fstring-terminator-single":{patterns:[{match:/(=(![rsa])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![rsa])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![rsa])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)(?=\})/dgv},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:/(=?(?:![rsa])?)(:)(?=[^\n]*?\{)/dgv,beginCaptures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},end:/(?=\})|(?=\n)/dgv,patterns:[{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{match:/([bcdeEfFgGnosxX\%])(?=\})/dgv,name:"storage.type.format.python"},{match:/(\.\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(,)/dgv,name:"storage.type.format.python"},{match:/(\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(#)/dgv,name:"storage.type.format.python"},{match:/([\-\+ ])/dgv,name:"storage.type.format.python"},{match:/([\<\>\=\^])/dgv,name:"storage.type.format.python"},{match:/([\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.format.python"}]},"function-arguments":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.function-call.arguments.python",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.python"},{captures:{"1":{name:"keyword.operator.unpacking.arguments.python"}},match:/(?:(?<=[\,\(])|(?<=^|\n(?!$)))\p{space}*(\*{1,2})/dgv},{include:"#lambda-incomplete"},{include:"#illegal-names"},{captures:{"1":{name:"variable.parameter.function-call.python"},"2":{name:"keyword.operator.assignment.python"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"},{include:"#expression"},{captures:{"1":{name:"punctuation.definition.arguments.end.python"},"2":{name:"punctuation.definition.arguments.begin.python"}},match:/\p{space}*(\))\p{space}*(\()/dgv}]},"function-call":{begin:/\b(?=([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,comment:"Regular function call of the type \"name(args)\"",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#special-variables"},{include:"#function-name"},{include:"#function-arguments"}]},"function-declaration":{begin:/\p{space}*(?:\b(async)\p{space}+)?\b(def|fn)\p{space}+(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*[\(\[])/dgv,beginCaptures:{"1":{name:"storage.type.function.async.python"},"2":{name:"storage.type.function.python"}},end:/(:|(?=[\#'"\n]))/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.python"}},name:"meta.function.python",patterns:[{include:"#function-modifier"},{include:"#function-def-name"},{include:"#parameters"},{include:"#meta_parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.python"}]},"function-modifier":{match:/(raises|capturing)/dgv,name:"storage.modifier"},"function-name":{patterns:[{include:"#builtin-possible-callables"},{comment:"Some color schemas support meta.function-call.generic scope",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.function-call.generic.python"}]},generator:{begin:/\bfor\b/dgv,beginCaptures:{"0":{name:"keyword.control.flow.python"}},comment:"Match \"for ... in\" construct used in generators and for loops to\ncorrectly identify the \"in\" as a control flow keyword.\n",end:/\bin\b/dgv,endCaptures:{"0":{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-names":{captures:{"1":{name:"keyword.control.flow.python"},"2":{name:"storage.type.function.python"},"3":{name:"keyword.control.import.python"}},match:/\b(?:(and|assert|async|await|break|class|struct|trait|continue|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\.)lambda|lambda(?=\p{space}*[\.\=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(def|fn|capturing|raises)|(as|import))\b/dgv},"illegal-object-name":{comment:"It's illegal to name class or function \"True\"",match:/\b(True|False|None)\b/dgv,name:"keyword.illegal.name.python"},"illegal-operator":{patterns:[{match:/&&|\|\||--|\+\+/dgv,name:"invalid.illegal.operator.python"},{match:/[\?\$]/dgv,name:"invalid.illegal.operator.python"},{comment:"We don't want `!` to flash when we're typing `!=`",match:/!\b/dgv,name:"invalid.illegal.operator.python"}]},import:{comment:"Import statements used to correctly mark `from`, `import`, and `as`\n",patterns:[{begin:/\b(?<!\.)(from)\b(?=[^\n]+import)/dgv,beginCaptures:{"1":{name:"keyword.control.import.python"}},end:/(?=$|\n)|(?=import)/dgv,patterns:[{match:/\.+/dgv,name:"punctuation.separator.period.python"},{include:"#expression"}]},{begin:/\b(?<!\.)(import)\b/dgv,beginCaptures:{"1":{name:"keyword.control.import.python"}},end:/(?=$|\n)/dgv,patterns:[{match:/\b(?<!\.)as\b/dgv,name:"keyword.control.import.python"},{include:"#expression"}]}]},impossible:{comment:"This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.",match:/(?=$|\n)[^\n](?<=^|\n(?!$))/dgv},"inheritance-identifier":{captures:{"1":{name:"entity.other.inherited-class.python"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},"inheritance-name":{patterns:[{include:"#lambda-incomplete"},{include:"#builtin-possible-callables"},{include:"#inheritance-identifier"}]},"item-access":{patterns:[{begin:/\b(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\[)/dgv,end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.item-access.python",patterns:[{include:"#item-name"},{include:"#item-index"},{include:"#expression"}]}]},"item-index":{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.item-access.arguments.python",end:/(?=\])/dgv,patterns:[{match:/:/dgv,name:"punctuation.separator.slice.python"},{include:"#expression"}]},"item-name":{patterns:[{include:"#special-variables"},{include:"#builtin-functions"},{include:"#special-names"},{match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.indexed-name.python"}]},lambda:{patterns:[{captures:{"1":{name:"keyword.control.flow.python"}},match:/((?<=\.)lambda|lambda(?=\p{space}*[\.\=]))/dgv},{captures:{"1":{name:"storage.type.function.lambda.python"}},match:/\b(lambda)\p{space}*?(?=[\,\n]|(?=$|\n))/dgv},{begin:/\b(lambda)\b/dgv,beginCaptures:{"1":{name:"storage.type.function.lambda.python"}},contentName:"meta.function.lambda.parameters.python",end:/(:)|(\n)/dgv,endCaptures:{"1":{name:"punctuation.section.function.lambda.begin.python"}},name:"meta.lambda-function.python",patterns:[{match:/\b(owned|borrowed|inout)\b/dgv,name:"storage.modifier"},{match:/\//dgv,name:"keyword.operator.positional.parameter.python"},{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-nested-incomplete"},{include:"#illegal-names"},{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.parameters.python"}},match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=:|(?=$|\n)))/dgv},{include:"#comments"},{include:"#backticks"},{include:"#lambda-parameter-with-default"},{include:"#line-continuation"},{include:"#illegal-operator"}]}]},"lambda-incomplete":{match:/\blambda(?=\p{space}*[\,\)])/dgv,name:"storage.type.function.lambda.python"},"lambda-nested-incomplete":{match:/\blambda(?=\p{space}*[\:\,\)])/dgv,name:"storage.type.function.lambda.python"},"lambda-parameter-with-default":{begin:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"keyword.operator.python"}},end:/(,)|(?=:|(?=$|\n))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"line-continuation":{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.python"},"2":{name:"invalid.illegal.line.continuation.python"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=$|\n)\n?)/dgv},{begin:/(\\)\p{space}*(?=$|\n)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.python"}},end:/(?=(?<=^|\n(?!$))\p{space}*(?=$|\n))|(?!(\p{space}*[rR]?('''|"""|'|"))|((?=$|\n)))/dgv,patterns:[{include:"#regexp"},{include:"#string"}]}]},list:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.python"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.python"}},patterns:[{include:"#expression"}]},literal:{patterns:[{match:/\b(True|False|None|NotImplemented|Ellipsis)\b/dgv,name:"constant.language.python"},{include:"#number"}]},"loose-default":{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.python"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"magic-function-names":{captures:{"1":{name:"support.function.magic.python"}},comment:"these methods have magic interpretation by python and are generally called\nindirectly through syntactic constructs\n",match:/\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|ge|get|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|long|lshift|lt|missing|mod|mul|ne|neg|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\b/dgv},"magic-names":{patterns:[{include:"#magic-function-names"},{include:"#magic-variable-names"}]},"magic-variable-names":{captures:{"1":{name:"support.variable.magic.python"}},comment:"magic variables which a class/module may have.",match:/\b(__(?:all|annotations|bases|builtins|class|struct|trait|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\b/dgv},"member-access":{begin:/(\.)\p{space}*(?!\.)/dgv,beginCaptures:{"1":{name:"punctuation.separator.period.python"}},end:/(?<=\P{space})(?=[^\p{L}\p{M}\p{N}\p{Pc}])|((?<=^|\n(?!$))|(?<=\p{space}))(?=[^\\\p{L}\p{M}\p{N}\p{Pc}\p{space}])|(?=$|\n)/dgv,name:"meta.member.access.python",patterns:[{include:"#function-call"},{include:"#member-access-base"},{include:"#member-access-attribute"}]},"member-access-attribute":{comment:"Highlight attribute access in otherwise non-specialized cases.",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.attribute.python"},"member-access-base":{patterns:[{include:"#magic-names"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#special-names"},{include:"#line-continuation"},{include:"#item-access"}]},"member-access-class":{begin:/(\.)\p{space}*(?!\.)/dgv,beginCaptures:{"1":{name:"punctuation.separator.period.python"}},end:/(?<=\P{space})(?=[^\p{L}\p{M}\p{N}\p{Pc}])|(?=$|\n)/dgv,name:"meta.member.access.python",patterns:[{include:"#call-wrapper-inheritance"},{include:"#member-access-base"},{include:"#inheritance-identifier"}]},meta_parameters:{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.python"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{begin:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.annotation.python"}},end:/(,)|(?=\])/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},{include:"#comments"}]},number:{name:"constant.numeric.python",patterns:[{include:"#number-float"},{include:"#number-dec"},{include:"#number-hex"},{include:"#number-oct"},{include:"#number-bin"},{include:"#number-long"},{match:/\b\p{Nd}+[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.name.python"}]},"number-bin":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[bB])(_?[01])+\b/dgv,name:"constant.numeric.bin.python"},"number-dec":{captures:{"1":{name:"storage.type.imaginary.number.python"},"2":{name:"invalid.illegal.dec.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(?:[1-9](?:_?\p{Nd})*|0+|\p{Nd}(?:_?\p{Nd})*([jJ])|0(\p{Nd}+)(?![eE\.]))\b/dgv,name:"constant.numeric.dec.python"},"number-float":{captures:{"1":{name:"storage.type.imaginary.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(?:\.\p{Nd}(?:_?\p{Nd})*|\p{Nd}(?:_?\p{Nd})*\.\p{Nd}(?:_?\p{Nd})*|\p{Nd}(?:_?\p{Nd})*\.)(?:[eE][\+\-]?\p{Nd}(?:_?\p{Nd})*)?|\p{Nd}(?:_?\p{Nd})*[eE][\+\-]?\p{Nd}(?:_?\p{Nd})*)([jJ])?\b/dgv,name:"constant.numeric.float.python"},"number-hex":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[xX])(_?[0-9a-fA-F])+\b/dgv,name:"constant.numeric.hex.python"},"number-long":{captures:{"2":{name:"storage.type.number.python"}},comment:"this is to support python2 syntax for long ints",match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])([1-9]\p{Nd}*|0)([lL])\b/dgv,name:"constant.numeric.bin.python"},"number-oct":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[oO])(_?[0-7])+\b/dgv,name:"constant.numeric.oct.python"},"odd-function-call":{begin:/(?<=\]|\))\p{space}*(?=\()/dgv,comment:"A bit obscured function call where there may have been an\narbitrary number of other operations to get the function.\nE.g. \"arr[idx](args)\"\n",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},patterns:[{include:"#function-arguments"}]},operator:{captures:{"1":{name:"keyword.operator.logical.python"},"2":{name:"keyword.control.flow.python"},"3":{name:"keyword.operator.bitwise.python"},"4":{name:"keyword.operator.arithmetic.python"},"5":{name:"keyword.operator.comparison.python"},"6":{name:"keyword.operator.assignment.python"}},match:/\b(?<!\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\p{space}+from)?))(?!\p{space}*:)\b|(<<|>>|&|\||\^|~)|(\*\*|\*|\+|-|%|\/\/|\/|@)|(!=|==|>=|<=|<|>)|(:=)/dgv},"parameter-special":{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"variable.parameter.function.language.special.self.python"},"3":{name:"variable.parameter.function.language.special.cls.python"},"4":{name:"punctuation.separator.parameters.python"}},match:/\b((self)|(cls))\b\p{space}*(?:(,)|(?=\)))/dgv},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.python"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{match:/\b(owned|borrowed|inout)\b/dgv,name:"storage.modifier"},{match:/\//dgv,name:"keyword.operator.positional.parameter.python"},{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-incomplete"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#parameter-special"},{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.parameters.python"}},match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\)\#\n\=]))/dgv},{include:"#comments"},{include:"#loose-default"},{include:"#annotated-parameter"}]},punctuation:{patterns:[{match:/:/dgv,name:"punctuation.separator.colon.python"},{match:/,/dgv,name:"punctuation.separator.element.python"}]},regexp:{patterns:[{include:"#regexp-single-three-line"},{include:"#regexp-double-three-line"},{include:"#regexp-single-one-line"},{include:"#regexp-double-one-line"}]},"regexp-backreference":{captures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{name:"entity.name.tag.named.backreference.regexp"},"3":{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},match:/(\()(\?P=[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?)(\))/dgv,name:"meta.backreference.named.regexp"},"regexp-backreference-number":{captures:{"1":{name:"entity.name.tag.backreference.regexp"}},match:/(\\[1-9]\p{Nd}?)/dgv,name:"meta.backreference.regexp"},"regexp-base-common":{patterns:[{match:/\./dgv,name:"support.other.match.any.regexp"},{match:/\^/dgv,name:"support.other.match.begin.regexp"},{match:/\$/dgv,name:"support.other.match.end.regexp"},{match:/[\+\*\?]\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.disjunction.regexp"},{include:"#regexp-escape-sequence"}]},"regexp-base-expression":{patterns:[{include:"#regexp-quantifier"},{include:"#regexp-base-common"}]},"regexp-charecter-set-escapes":{patterns:[{match:/\\[abfnrtv\\]/dgv,name:"constant.character.escape.regexp"},{include:"#regexp-escape-special"},{match:/\\([0-7]{1,3})/dgv,name:"constant.character.escape.regexp"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-escape-catchall"}]},"regexp-double-one-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(")|(?<!\\)(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#double-one-regexp-expression"}]},"regexp-double-three-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(""")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#double-three-regexp-expression"}]},"regexp-escape-catchall":{match:/\\([^\n]|\n)/dgv,name:"constant.character.escape.regexp"},"regexp-escape-character":{match:/\\(x[0-9A-Fa-f]{2}|0[0-7]{1,2}|[0-7]{3})/dgv,name:"constant.character.escape.regexp"},"regexp-escape-sequence":{patterns:[{include:"#regexp-escape-special"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-backreference-number"},{include:"#regexp-escape-catchall"}]},"regexp-escape-special":{match:/\\([AbBdDsSwWZ])/dgv,name:"support.other.escape.special.regexp"},"regexp-escape-unicode":{match:/\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.unicode.regexp"},"regexp-flags":{match:/\(\?[aiLmsux]+\)/dgv,name:"storage.modifier.flag.regexp"},"regexp-quantifier":{match:/\{(\p{Nd}+|\p{Nd}+,(\p{Nd}+)?|,\p{Nd}+)\}/dgv,name:"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(')/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(')|(?<!\\)(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#single-one-regexp-expression"}]},"regexp-single-three-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(''')/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(''')/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#single-three-regexp-expression"}]},"return-annotation":{begin:/(->)/dgv,beginCaptures:{"1":{name:"punctuation.separator.annotation.result.python"}},end:/(?=:)/dgv,patterns:[{include:"#expression"}]},"round-braces":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.python"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.python"}},patterns:[{include:"#expression"}]},semicolon:{patterns:[{match:/;(?=$|\n)/dgv,name:"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-one-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-one-regexp-character-set"},{include:"#single-one-regexp-comments"},{include:"#regexp-flags"},{include:"#single-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-one-regexp-lookahead"},{include:"#single-one-regexp-lookahead-negative"},{include:"#single-one-regexp-lookbehind"},{include:"#single-one-regexp-lookbehind-negative"},{include:"#single-one-regexp-conditional"},{include:"#single-one-regexp-parentheses-non-capturing"},{include:"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?='''))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-three-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-three-regexp-character-set"},{include:"#single-three-regexp-comments"},{include:"#regexp-flags"},{include:"#single-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-three-regexp-lookahead"},{include:"#single-three-regexp-lookahead-negative"},{include:"#single-three-regexp-lookbehind"},{include:"#single-three-regexp-lookbehind-negative"},{include:"#single-three-regexp-conditional"},{include:"#single-three-regexp-parentheses-non-capturing"},{include:"#single-three-regexp-parentheses"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"special-names":{match:/\b(_*[A-Z][_\p{Nd}]*[A-Z])[A-Z\p{Nd}]*(_[\p{L}\p{M}\p{N}\p{Pc}]*)?\b/dgv,name:"constant.other.caps.python"},"special-variables":{captures:{"1":{name:"variable.language.special.self.python"},"2":{name:"variable.language.special.cls.python"}},match:/\b(?<!\.)(?:(self)|(cls))\b/dgv},statement:{patterns:[{include:"#import"},{include:"#class-declaration"},{include:"#function-declaration"},{include:"#generator"},{include:"#statement-keyword"},{include:"#assignment-operator"},{include:"#decorator"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:/\b((async\p{space}+)?\p{space}*(def|fn))\b/dgv,name:"storage.type.function.python"},{comment:"if `as` is eventually followed by `:` or line continuation\nit's probably control flow like:\n with foo as bar, \\\n Foo as Bar:\n try:\n do_stuff()\n except Exception as e:\n pass\n",match:/\b(?<!\.)as\b(?=[^\n]*[\:\\])/dgv,name:"keyword.control.flow.python"},{comment:"other legal use of `as` is in an import",match:/\b(?<!\.)as\b/dgv,name:"keyword.control.import.python"},{match:/\b(?<!\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\b/dgv,name:"keyword.control.flow.python"},{match:/\b(?<!\.)(global|nonlocal)\b/dgv,name:"storage.modifier.declaration.python"},{match:/\b(?<!\.)(class|struct|trait)\b/dgv,name:"storage.type.class.python"},{captures:{"1":{name:"keyword.control.flow.python"}},match:/(?<=^|\n(?!$))\p{space}*(case|match)(?=\p{space}*([\-\+\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\(\[\{'"\:\#]|(?=$|\n)))\b/dgv},{captures:{"1":{name:"storage.modifier.declaration.python"},"2":{name:"variable.other.python"}},match:/\b(var|let|alias) \p{space}*([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},string:{patterns:[{include:"#string-quoted-multi-line"},{include:"#string-quoted-single-line"},{include:"#string-bin-quoted-multi-line"},{include:"#string-bin-quoted-single-line"},{include:"#string-raw-quoted-multi-line"},{include:"#string-raw-quoted-single-line"},{include:"#string-raw-bin-quoted-multi-line"},{include:"#string-raw-bin-quoted-single-line"},{include:"#fstring-fnorm-quoted-multi-line"},{include:"#fstring-fnorm-quoted-single-line"},{include:"#fstring-normf-quoted-multi-line"},{include:"#fstring-normf-quoted-single-line"},{include:"#fstring-raw-quoted-multi-line"},{include:"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{begin:/(\b[bB])('''|""")/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.multi.python",patterns:[{include:"#string-entity"}]},"string-bin-quoted-single-line":{begin:/(\b[bB])((['"]))/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.single.python",patterns:[{include:"#string-entity"}]},"string-brace-formatting":{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"3":{name:"storage.type.format.python"},"4":{name:"storage.type.format.python"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]'"]+\])*(![rsa])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)?\})/dgv,name:"meta.format.brace.python"},{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"3":{name:"storage.type.format.python"},"4":{name:"storage.type.format.python"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]'"]+\])*(![rsa])?(:)[^'"\{\}\n]*(?:\{[^'"\}\n]*?\}[^'"\{\}\n]*)*\})/dgv,name:"meta.format.brace.python"}]},"string-consume-escape":{match:/\\['"\n\\]/dgv},"string-entity":{patterns:[{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#string-formatting"}]},"string-formatting":{captures:{"1":{name:"constant.character.format.placeholder.other.python"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\-\+\#0 ]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([hlL])?[diouxXeEfFgGcrsab\%])/dgv,name:"meta.format.percent.python"},"string-line-continuation":{match:/\\(?=$|\n)/dgv,name:"constant.language.python"},"string-mojo-code-block":{begin:/(?<=^|\n(?!$))(\p{space}*`{3,})(mojo)(?=$|\n)/dgv,beginCaptures:{"1":{name:"string.quoted.single.python"},"2":{name:"string.quoted.single.python"}},contentName:"source.mojo",end:/(?<=^|\n(?!$))((?!))(?=$|\n)/dgv,endCaptures:{"1":{name:"string.quoted.single.python"}},name:"meta.embedded.block.mojo",patterns:[{include:"source.mojo"}]},"string-multi-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,comment:"template using {% ... %}",end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,comment:"template using {% ... %}",end:/(?='''|""")/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!'''|""")[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!'''|""")\})/dgv,comment:"odd format or format-like syntax",end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!'''|""")[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!'''|""")\})/dgv,comment:"odd format or format-like syntax",end:/(?='''|""")/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-quoted-multi-line":{begin:/(?:\b([rR])(?=[uU]))?([uU])?('''|""")/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-unicode"},{include:"#string-multi-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-quoted-single-line":{begin:/(?:\b([rR])(?=[uU]))?([uU])?((['"]))/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-unicode"},{include:"#string-single-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-raw-bin-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{begin:/(\b(?:R[bB]|[bB]R))('''|""")/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.multi.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{begin:/(\b(?:R[bB]|[bB]R))((['"]))/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.single.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"},{include:"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{begin:/\b(([uU]R)|(R))('''|""")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"punctuation.definition.string.begin.python"}},end:/(\4)()()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-raw"},{include:"#string-multi-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-raw-quoted-single-line":{begin:/\b(([uU]R)|(R))((['"]))/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"punctuation.definition.string.begin.python"}},end:/(\4)|((?<!\\)\n)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-raw"},{include:"#string-single-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,comment:"template using {% ... %}",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,comment:"template using {% ... %}",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!(['"])|((?<!\\)\n))[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!(['"])|((?<!\\)\n))\})/dgv,comment:"odd format or format-like syntax",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!(['"])|((?<!\\)\n))[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!(['"])|((?<!\\)\n))\})/dgv,comment:"odd format or format-like syntax",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#string-mojo-code-block"},{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},scopeName:"source.mojo",embeddedLangs:undefined,aliases:undefined})
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
lang
|
|
7
|
+
]
|
package/dist/move.d.mts
ADDED
package/dist/move.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const lang = Object.freeze({displayName:"Move",name:"move",patterns:[{include:"#address"},{include:"#comments"},{include:"#module"},{include:"#script"},{include:"#annotation"},{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}],repository:{"=== DEPRECATED_BELOW ===":{},abilities:{comment:"Ability",match:/\b(store|key|drop|copy)\b/dgv,name:"support.type.ability.move"},address:{begin:/\b(address)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.address.keyword.move"}},comment:"Address block",end:/(?<=\})/dgv,name:"meta.address_block.move",patterns:[{include:"#comments"},{begin:/(?<=address)/dgv,comment:"Address value/const",end:/(?=[\{])/dgv,name:"meta.address.definition.move",patterns:[{include:"#comments"},{include:"#address_literal"},{comment:"Named Address",match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.move"}]},{include:"#module"}]},annotation:{begin:/#\[/dgv,end:/\]/dgv,name:"support.constant.annotation.move",patterns:[{comment:"Annotation name",match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?==)/dgv,name:"meta.annotation.name.move"},{begin:/=/dgv,comment:"Annotation value",end:/(?=[\,\]])/dgv,name:"meta.annotation.value.move",patterns:[{include:"#literals"}]}]},as:{comment:"Keyword as (highlighted)",match:/\b(as)\b/dgv,name:"keyword.control.as.move"},"as-import":{comment:"Keyword as in import statement; not highlighted",match:/\b(as)\b/dgv,name:"meta.import.as.move"},block:{begin:/\{/dgv,comment:"Block expression or definition",end:/\}/dgv,name:"meta.block.move",patterns:[{include:"#expr"}]},"block-comments":{patterns:[{begin:/\/\*[\*\!](?![\*\/])/dgv,comment:"Block documentation comment",end:/\*\//dgv,name:"comment.block.documentation.move"},{begin:/\/\*/dgv,comment:"Block comment",end:/\*\//dgv,name:"comment.block.move"}]},capitalized:{comment:"MyType - capitalized type name",match:/\b([A-Z][a-zA-Z_0-9]*)\b/dgv,name:"entity.name.type.use.move"},comments:{name:"meta.comments.move",patterns:[{include:"#doc-comments"},{include:"#line-comments"},{include:"#block-comments"}]},const:{begin:/\b(const)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.const.move"}},end:/;/dgv,name:"meta.const.move",patterns:[{include:"#comments"},{include:"#primitives"},{include:"#literals"},{include:"#types"},{match:/\b([A-Z][A-Z_0-9]+)\b/dgv,name:"constant.other.move"},{include:"#error_const"}]},control:{comment:"Control flow",match:/\b(return|while|loop|if|else|break|continue|abort)\b/dgv,name:"keyword.control.move"},"doc-comments":{begin:/\/\/\//dgv,comment:"Documentation comment",end:/(?=$|\n)/dgv,name:"comment.block.documentation.move",patterns:[{captures:{"1":{name:"markup.underline.link.move"}},comment:"Escaped member / link",match:/`([\p{L}\p{M}\p{N}\p{Pc}]+)`/dgv}]},entry:{comment:"entry",match:/\b(entry)\b/dgv,name:"storage.modifier.visibility.entry.move"},enum:{begin:/\b(enum)\b/dgv,beginCaptures:{"1":{name:"keyword.control.enum.move"}},comment:"Enum syntax",end:/(?<=\})/dgv,name:"meta.enum.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#type_param"},{comment:"Enum name (ident)",match:/\b[A-Z][a-zA-Z_0-9]*\b/dgv,name:"entity.name.type.enum.move"},{include:"#has"},{include:"#abilities"},{begin:/\{/dgv,end:/\}/dgv,name:"meta.enum.definition.move",patterns:[{include:"#comments"},{match:/\b([A-Z][A-Za-z_0-9]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.enum.move"},{match:/\b([A-Z][A-Za-z_0-9]*)\b/dgv,name:"entity.name.type.enum.move"},{begin:/\(/dgv,end:/\)/dgv,name:"meta.enum.tuple.move",patterns:[{include:"#comments"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.enum.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]}]}]},error_const:{match:/\b(E[A-Z][A-Za-z0-9_]*)\b/dgv,name:"variable.other.error.const.move"},escaped_identifier:{begin:/`/dgv,comment:"Escaped variable",end:/`/dgv,name:"variable.language.escaped.move"},expr:{comment:"Aggregate Expression",name:"meta.expression.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#expr_generic"},{include:"#packed_field"},{include:"#import"},{include:"#as"},{include:"#mut"},{include:"#let"},{include:"#types"},{include:"#literals"},{include:"#control"},{include:"#move_copy"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#label"},{include:"#macro_call"},{include:"#local_call"},{include:"#method_call"},{include:"#path_access"},{include:"#match_expression"},{match:/\$(?=[a-z])/dgv,name:"keyword.operator.macro.dollar.move"},{match:/(?<=[\$])[a-z][A-Z_0-9a-z]*/dgv,name:"variable.other.meta.move"},{comment:"ALL_CONST_CAPS",match:/\b([A-Z][A-Z_]+)\b/dgv,name:"constant.other.move"},{include:"#error_const"},{comment:"CustomType",match:/\b([A-Z][a-zA-Z_0-9]*)\b/dgv,name:"entity.name.type.move"},{include:"#paren"},{include:"#block"}]},expr_generic:{begin:/<(?=([\p{space}a-z_\,0-9A-Z\<\>]+>))/dgv,comment:"< angle brackets >",end:/>/dgv,name:"meta.expression.generic.type.move",patterns:[{include:"#comments"},{include:"#types"},{include:"#capitalized"},{include:"#expr_generic"}]},friend:{begin:/\b(friend)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.friend.move",patterns:[{include:"#comments"},{include:"#address_literal"},{comment:"Name of the imported module",match:/\b([a-zA-Z][A-Za-z_0-9]*)\b/dgv,name:"entity.name.type.module.move"}]},fun:{patterns:[{include:"#fun_signature"},{include:"#block"}]},fun_body:{begin:/\{/dgv,comment:"Function body",end:/(?<=\})/dgv,name:"meta.fun_body.move",patterns:[{include:"#expr"}]},fun_call:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?:<[\p{L}\p{M}\p{N}\p{Pc}\p{space}\,]+>)?\p{space}*[\(]/dgv,beginCaptures:{"1":{name:"entity.name.function.call.move"}},comment:"Function call",end:/[\)]/dgv,name:"meta.fun_call.move",patterns:[{include:"#comments"},{include:"#resource_methods"},{include:"#self_access"},{include:"#module_access"},{include:"#move_copy"},{include:"#literals"},{include:"#fun_call"},{include:"#block"},{include:"#mut"},{include:"#as"}]},fun_signature:{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.fun.move"}},comment:"Function signature",end:/(?=[\;\{])/dgv,name:"meta.fun_signature.move",patterns:[{include:"#comments"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"},{begin:/(?<=\bfun)/dgv,comment:"Function name",end:/(?=[\<\(])/dgv,name:"meta.function_name.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"}]},{include:"#type_param"},{begin:/[\(]/dgv,comment:"Parentheses",end:/[\)]/dgv,name:"meta.parentheses.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#expr_generic"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#capitalized"},{include:"#types"},{include:"#mut"}]},{comment:"Keyword acquires",match:/\b(acquires)\b/dgv,name:"storage.modifier"}]},has:{comment:"Has Abilities",match:/\b(has)\b/dgv,name:"keyword.control.ability.has.move"},has_ability:{begin:/(?<=[\}\)])\p{space}+(has)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.has.ability.move",patterns:[{include:"#comments"},{include:"#abilities"}]},ident:{match:/\b([a-zA-Z][A-Z_a-z0-9]*)\b/dgv,name:"meta.identifier.move"},import:{begin:/\b(use)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/;/dgv,name:"meta.import.move",patterns:[{include:"#comments"},{include:"#use_fun"},{include:"#address_literal"},{include:"#as-import"},{comment:"Uppercase entities",match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.move"},{begin:/\{/dgv,comment:"Module members",end:/\}/dgv,patterns:[{include:"#comments"},{include:"#as-import"},{comment:"Uppercase entities",match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.move"}]},{comment:"Name of the imported module",match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.entity.name.type.module.move"}]},inline:{comment:"inline",match:/\b(inline)\b/dgv,name:"storage.modifier.visibility.inline.move"},label:{comment:"Label",match:/'[a-z][a-z_0-9]*/dgv,name:"string.quoted.single.label.move"},let:{comment:"Keyword let",match:/\b(let)\b/dgv,name:"keyword.control.move"},"line-comments":{begin:/\/\//dgv,comment:"Single-line comment",end:/(?=$|\n)/dgv,name:"comment.line.double-slash.move"},literals:{comment:"Literals supported in Move",name:"meta.literal.move",patterns:[{comment:"base16 address literal",match:/@0x[A-F0-9a-f]+/dgv,name:"support.constant.address.base16.move"},{comment:"named address literal @[ident]",match:/@[a-zA-Z][a-zA-Z_0-9]*/dgv,name:"support.constant.address.name.move"},{comment:"Hex literal",match:/0x[_a-fA-F0-9]+(?:u(?:8|16|32|64|128|256))?/dgv,name:"constant.numeric.hex.move"},{comment:"Numeric literal",match:/(?<!(?:[\p{L}\p{M}\p{N}\p{Pc}]|(?<!\.)\.))\p{Nd}[_0-9]*(?:\.(?!\.)(?:\p{Nd}[_0-9]*)?)?(?:[eE][\+\-]?[_0-9]+)?(?:[u](?:8|16|32|64|128|256))?/dgv,name:"constant.numeric.move"},{begin:/\bb"/dgv,comment:"vector ascii bytestring literal",end:/"/dgv,name:"meta.vector.literal.ascii.move",patterns:[{comment:"character escape",match:/\\[^\n]/dgv,name:"constant.character.escape.move"},{comment:"Special symbol escape",match:/\\[nrt\x00"]/dgv,name:"constant.character.escape.move"},{comment:"HEX Escape",match:/\\x[a-fA-F0-9][A-Fa-f0-9]/dgv,name:"constant.character.escape.hex.move"},{comment:"ASCII Character",match:/[\x00-\x7F]/dgv,name:"string.quoted.double.raw.move"}]},{begin:/x"/dgv,comment:"vector hex literal",end:/"/dgv,name:"meta.vector.literal.hex.move",patterns:[{comment:"vector hex literal",match:/[A-Fa-f0-9]+/dgv,name:"constant.character.move"}]},{comment:"bool literal",match:/\b(?:true|false)\b/dgv,name:"constant.language.boolean.move"},{begin:/vector\[/dgv,comment:"vector literal (macro?)",end:/\]/dgv,name:"meta.vector.literal.macro.move",patterns:[{include:"#expr"}]}]},local_call:{comment:"call to a local / imported fun",match:/\b([a-z][_a-z0-9]*)(?=[\<\(])/dgv,name:"entity.name.function.call.local.move"},macro:{begin:/\b(macro)\b/dgv,beginCaptures:{"1":{name:"keyword.control.macro.move"}},comment:"macro fun [ident] {}",end:/(?<=\})/dgv,name:"meta.macro.move",patterns:[{include:"#comments"},{include:"#fun"}]},macro_call:{captures:{"2":{name:"support.function.macro.move"}},comment:"Macro fun call",match:/(\b|\.)([a-z][A-Za-z0-9_]*)!/dgv,name:"meta.macro.call"},match_expression:{begin:/\b(match)\b/dgv,beginCaptures:{"1":{name:"keyword.control.match.move"}},comment:"enum pattern matching",end:/(?<=\})/dgv,name:"meta.match.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#types"},{begin:/\{/dgv,comment:"Block expression or definition",end:/\}/dgv,name:"meta.match.block.move",patterns:[{comment:"arrow operator",match:/\b(=>)\b/dgv,name:"operator.match.move"},{include:"#expr"}]},{include:"#expr"}]},method_call:{captures:{"1":{name:"entity.name.function.call.path.move"}},comment:"<expr>.[ident]<>?() call",match:/\.([a-z][_a-z0-9]*)(?=[\<\(])/dgv,name:"meta.path.call.move"},module:{begin:/\b(module)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},comment:"Module definition",end:/(?<=[\;\}])/dgv,name:"meta.module.move",patterns:[{include:"#comments"},{begin:/(?<=\b(module)\b)/dgv,comment:"Module name",end:/(?=[\;\{])/dgv,patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:/(?<=\b(module))/dgv,comment:"Module namespace / address",end:/(?=[\(\:\:\)\{])/dgv,name:"constant.other.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]},{begin:/(?<=::)/dgv,comment:"Module name",end:/(?=[\p{space}\;\{])/dgv,name:"entity.name.type.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"}]}]},{begin:/\{/dgv,comment:"Module scope",end:/\}/dgv,name:"meta.module_scope.move",patterns:[{include:"#comments"},{include:"#annotation"},{include:"#entry"},{include:"#public-scope"},{include:"#public"},{include:"#native"},{include:"#import"},{include:"#friend"},{include:"#const"},{include:"#struct"},{include:"#has_ability"},{include:"#enum"},{include:"#macro"},{include:"#fun"},{include:"#spec"}]}]},module_access:{captures:{"1":{name:"meta.entity.name.type.accessed.module.move"},"2":{name:"entity.name.function.call.move"}},comment:"Use of module type or method",match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)::([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.module_access.move"},module_label:{begin:/(?<=^|\n(?!$))\p{space}*(module)\b/dgv,comment:"Module label, inline module definition",end:/;\p{space}*(?=$|\n)/dgv,name:"meta.module.label.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{begin:/(?<=\bmodule\b)/dgv,comment:"Module namespace / address",end:/(?=[\(\:\:\)\{])/dgv,name:"constant.other.move"},{begin:/(?<=::)/dgv,comment:"Module name",end:/(?=[\p{space}\{])/dgv,name:"entity.name.type.move"}]},move_copy:{comment:"Keywords move and copy",match:/\b(move|copy)\b/dgv,name:"variable.language.move"},mut:{comment:"Mutable reference and let mut",match:/\b(mut)\b/dgv,name:"storage.modifier.mut.move"},native:{comment:"native",match:/\b(native)\b/dgv,name:"storage.modifier.visibility.native.move"},packed_field:{comment:"[ident]: ",match:/[a-z][a-z0-9_]+\p{space}*:\p{space}*(?=\p{space})/dgv,name:"meta.struct.field.move"},paren:{begin:/\(/dgv,end:/\)/dgv,name:"meta.paren.move",patterns:[{include:"#expr"}]},path_access:{comment:"<expr>.[ident] access",match:/\.[a-z][_a-z0-9]*\b/dgv,name:"meta.path.access.move"},phantom:{comment:"Keyword phantom inside type parameters",match:/\b(phantom)\b/dgv,name:"keyword.control.phantom.move"},primitives:{comment:"Primitive types",match:/\b(u8|u16|u32|u64|u128|u256|address|bool|signer)\b/dgv,name:"support.type.primitives.move"},public:{comment:"public",match:/\b(public)\b/dgv,name:"storage.modifier.visibility.public.move"},"public-scope":{begin:/(?<=\b(public))\p{space}*\(/dgv,comment:"public (friend/script/package)",end:/\)/dgv,name:"meta.public.scoped.move",patterns:[{include:"#comments"},{match:/\b(friend|script|package)\b/dgv,name:"keyword.control.public.scope.move"}]},resource_methods:{comment:"Methods to work with resource",match:/\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\b/dgv,name:"support.function.typed.move"},script:{begin:/\b(script)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.script.move"}},end:/(?<=\})/dgv,name:"meta.script.move",patterns:[{include:"#comments"},{begin:/\{/dgv,comment:"Script scope",end:/\}/dgv,name:"meta.script_scope.move",patterns:[{include:"#const"},{include:"#comments"},{include:"#import"},{include:"#fun"}]}]},self_access:{captures:{"1":{name:"variable.language.self.move"},"2":{name:"entity.name.function.call.move"}},comment:"Use of Self",match:/\b(Self)::([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.self_access.move"},spec:{begin:/\b(spec)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.spec.move"}},end:/(?<=[\;\}])/dgv,name:"meta.spec.move",patterns:[{comment:"Spec target",match:/\b(module|schema|struct|fun)/dgv,name:"storage.modifier.spec.target.move"},{comment:"Spec define inline",match:/\b(define)/dgv,name:"storage.modifier.spec.define.move"},{comment:"Target name",match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"},{begin:/\{/dgv,comment:"Spec block",end:/\}/dgv,patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#spec_define"},{include:"#spec_keywords"},{include:"#control"},{include:"#fun_call"},{include:"#literals"},{include:"#types"},{include:"#let"}]}]},spec_block:{begin:/\{/dgv,comment:"Spec block",end:/\}/dgv,name:"meta.spec_block.move",patterns:[{include:"#comments"},{include:"#spec_block"},{include:"#spec_types"},{include:"#fun_call"},{include:"#literals"},{include:"#control"},{include:"#types"},{include:"#let"}]},spec_define:{begin:/\b(define)\b/dgv,beginCaptures:{"1":{name:"keyword.control.move.spec"}},comment:"Spec define keyword",end:/(?=[\;\{])/dgv,name:"meta.spec_define.move",patterns:[{include:"#comments"},{include:"#spec_types"},{include:"#types"},{begin:/(?<=\bdefine)/dgv,comment:"Function name",end:/(?=[\(])/dgv,patterns:[{include:"#comments"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.move"}]}]},spec_keywords:{match:/\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\b/dgv,name:"keyword.control.move.spec"},spec_types:{comment:"Spec-only types",match:/\b(range|num|vector|bool|u8|u16|u32|u64|u128|u256|address)\b/dgv,name:"support.type.vector.move"},struct:{begin:/\b(struct)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.type.move"}},end:/(?<=[\}\;\)])/dgv,name:"meta.struct.move",patterns:[{include:"#comments"},{include:"#escaped_identifier"},{include:"#has"},{include:"#abilities"},{comment:"Struct name (ident)",match:/\b[A-Z][a-zA-Z_0-9]*\b/dgv,name:"entity.name.type.struct.move"},{begin:/\(/dgv,comment:"Positional fields",end:/\)/dgv,name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#capitalized"},{include:"#types"}]},{include:"#type_param"},{begin:/\(/dgv,comment:"Simple struct",end:/(?<=[\)])/dgv,name:"meta.struct.paren.move",patterns:[{include:"#comments"},{include:"#types"}]},{begin:/\{/dgv,comment:"Struct body",end:/\}/dgv,name:"meta.struct.body.move",patterns:[{include:"#comments"},{include:"#self_access"},{include:"#escaped_identifier"},{include:"#module_access"},{include:"#expr_generic"},{include:"#capitalized"},{include:"#types"}]},{include:"#has_ability"}]},struct_pack:{begin:/(?<=[A-Za-z0-9_\>])\p{space}*\{/dgv,comment:"Struct { field: value... }; identified as generic / ident followed by curly's",end:/\}/dgv,name:"meta.struct.pack.move",patterns:[{include:"#comments"}]},type_param:{begin:/</dgv,comment:"Generic type param",end:/>/dgv,name:"meta.generic_param.move",patterns:[{include:"#comments"},{include:"#phantom"},{include:"#capitalized"},{include:"#module_access"},{include:"#abilities"}]},types:{comment:"Built-in types + vector",name:"meta.types.move",patterns:[{include:"#primitives"},{include:"#vector"}]},use_fun:{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"storage.modifier.fun.move"}},comment:"use { fun } internals",end:/(?=;)/dgv,name:"meta.import.fun.move",patterns:[{include:"#comments"},{comment:"as keyword",match:/\b(as)\b/dgv,name:"keyword.control.as.move"},{comment:"Self keyword",match:/\b(Self)\b/dgv,name:"variable.language.self.use.fun.move"},{comment:"Function name",match:/\b(_______[a-z][a-z_0-9]+)\b/dgv,name:"entity.name.function.use.move"},{include:"#types"},{include:"#escaped_identifier"},{include:"#capitalized"}]},vector:{comment:"vector type",match:/\b(vector)\b/dgv,name:"support.type.vector.move"}},scopeName:"source.move",embeddedLangs:undefined,aliases:undefined})
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
lang
|
|
5
|
+
]
|
package/dist/nar.d.mts
ADDED
package/dist/nar.mjs
ADDED
package/dist/narrat.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const lang = Object.freeze({displayName:"Narrat Language",name:"narrat",patterns:[{include:"#comments"},{include:"#expression"}],repository:{commands:{patterns:[{match:/\b(set|var)\b/dgv,name:"keyword.commands.variables.narrat"},{match:/\b(talk|think)\b/dgv,name:"keyword.commands.text.narrat"},{match:/\b(jump|run|wait|return|save|save_prompt)/dgv,name:"keyword.commands.flow.narrat"},{match:/\b(log|clear_dialog)\b/dgv,name:"keyword.commands.helpers.narrat"},{match:/\b(set_screen|empty_layer|set_button)/dgv,name:"keyword.commands.screens.narrat"},{match:/\b(play|pause|stop)\b/dgv,name:"keyword.commands.audio.narrat"},{match:/\b(notify|enable_notifications|disable_notifications)\b/dgv,name:"keyword.commands.notifications.narrat"},{match:/\b(set_stat|get_stat_value|add_stat)/dgv,name:"keyword.commands.stats.narrat"},{match:/\b(neg|abs|random|random_float|random_from_args|min|max|clamp|floor|round|ceil|sqrt|(?<=^|\n(?!$)))\b/dgv,name:"keyword.commands.math.narrat"},{match:/\b(concat|join)\b/dgv,name:"keyword.commands.string.narrat"},{match:/\b(text_field)\b/dgv,name:"keyword.commands.text_field.narrat"},{match:/\b(add_level|set_level|add_xp|roll|get_level|get_xp)\b/dgv,name:"keyword.commands.skills.narrat"},{match:/\b(add_item|remove_item|enable_interaction|disable_interaction|has_item?|item_amount?)/dgv,name:"keyword.commands.inventory.narrat"},{match:/\b(start_quest|start_objective|complete_objective|complete_quest|quest_started?|objective_started?|quest_completed?|objective_completed?)/dgv,name:"keyword.commands.quests.narrat"}]},comments:{patterns:[{match:/\/\/[^\n]*(?=$|\n)/dgv,name:"comment.line.narrat"}]},expression:{patterns:[{include:"#keywords"},{include:"#commands"},{include:"#operators"},{include:"#primitives"},{include:"#strings"},{include:"#paren-expression"}]},interpolation:{patterns:[{match:/([\p{L}\p{M}\p{N}\p{Pc}]|\.)+/dgv,name:"variable.interpolation.narrat"}]},keywords:{patterns:[{match:/\b(if|else|choice)\b/dgv,name:"keyword.control.narrat"},{match:/\$[\p{L}\p{M}\p{N}\p{Pc}\|\.]+\b/dgv,name:"variable.value.narrat"},{match:/(?<=^|\n(?!$))[\p{L}\p{M}\p{N}\p{Pc}]+(?=(\p{space}|[\p{L}\p{M}\p{N}\p{Pc}])*:)/dgv,name:"entity.name.function.narrat"},{match:/(?<=^|\n(?!$))[\p{L}\p{M}\p{N}\p{Pc}]+(?!(\p{space}|[\p{L}\p{M}\p{N}\p{Pc}])*:)/dgv,name:"invalid.label.narrat"},{match:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])[^\^](\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)(?=(\p{space}|[\p{L}\p{M}\p{N}\p{Pc}])*:)/dgv,name:"entity.other.attribute-name"}]},operators:{patterns:[{match:/(&&|\|\||!=|==|>=|<=|<|>|!|\?)\p{space}/dgv,name:"keyword.operator.logic.narrat"},{match:/(\+|-|\*|\/)\p{space}/dgv,name:"keyword.operator.arithmetic.narrat"}]},"paren-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.paren.open"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.paren.close"}},name:"expression.group",patterns:[{include:"#expression"}]},primitives:{patterns:[{match:/\b\p{Nd}+\b/dgv,name:"constant.numeric.narrat"},{match:/\btrue\b/dgv,name:"constant.language.true.narrat"},{match:/\bfalse\b/dgv,name:"constant.language.false.narrat"},{match:/\bnull\b/dgv,name:"constant.language.null.narrat"},{match:/\bundefined\b/dgv,name:"constant.language.undefined.narrat"}]},strings:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.narrat",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.narrat"},{begin:/%\{/dgv,beginCaptures:{"0":{name:"punctuation.template.open"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.template.close.narrat"}},name:"expression.template",patterns:[{include:"#expression"},{include:"#interpolation"}]}]}},scopeName:"source.narrat",embeddedLangs:undefined,aliases:["nar"]})
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
lang
|
|
5
|
+
]
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const lang = Object.freeze({displayName:"Nextflow",name:"nextflow",patterns:[{include:"#nextflow"}],repository:{"enum-def":{begin:/(?<=^|\n(?!$))\p{space}*(enum)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"keyword.nextflow"},"2":{name:"storage.type.groovy"}},end:/\}/dgv,patterns:[{include:"source.nextflow-groovy#comments"},{include:"#enum-values"}]},"enum-values":{patterns:[{begin:/(?<=;|(?<=^|\n(?!$)))\p{space}*\b([A-Z0-9_]+)(?=\p{space}*(?:,|\}|\(|(?=$|\n)))/dgv,beginCaptures:{"1":{name:"constant.enum.name.groovy"}},end:/,|(?=\})|(?<=^|\n(?!$))(?!\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?:,|(?=$|\n)))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,name:"meta.enum.value.groovy",patterns:[{match:/,/dgv,name:"punctuation.definition.seperator.parameter.groovy"},{include:"#groovy-code"}]}]}]},"function-body":{patterns:[{match:/\p{space}/dgv},{begin:/(?=(?:[\p{L}\p{M}\p{N}\p{Pc}]|<)[^\(]*\p{space}+(?:[\p{L}\p{M}\p{N}\p{Pc}\$]|<)+\p{space}*\()/dgv,end:/(?=[\p{L}\p{M}\p{N}\p{Pc}\$]+\p{space}*\()/dgv,name:"meta.method.return-type.java",patterns:[{include:"source.nextflow-groovy#types"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}\$]+)\p{space}*\(/dgv,beginCaptures:{"1":{name:"entity.name.function.java"}},end:/\)/dgv,name:"meta.definition.method.signature.java",patterns:[{begin:/(?=[^\)])/dgv,end:/(?=\))/dgv,name:"meta.method.parameters.groovy",patterns:[{begin:/(?=[^\,\)])/dgv,end:/(?=,|\))/dgv,name:"meta.method.parameter.groovy",patterns:[{match:/,/dgv,name:"punctuation.definition.separator.groovy"},{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.groovy"}},end:/(?=,|\))/dgv,name:"meta.parameter.default.groovy",patterns:[{include:"source.nextflow-groovy#groovy-code"}]},{include:"source.nextflow-groovy#parameters"}]}]}]},{begin:/(?=<)/dgv,end:/(?=\p{space})/dgv,name:"meta.method.paramerised-type.groovy",patterns:[{begin:/</dgv,end:/>/dgv,name:"storage.type.parameters.groovy",patterns:[{include:"source.nextflow-groovy#types"},{match:/,/dgv,name:"punctuation.definition.seperator.groovy"}]}]},{begin:/\{/dgv,end:/(?=\})/dgv,name:"meta.method.body.java",patterns:[{include:"source.nextflow-groovy#groovy-code"}]}]},"function-def":{applyEndPatternLast:1,begin:/(?<=;|(?<=^|\n(?!$))|\{)(?=\p{space}*(?:def|(?:(?:boolean|byte|char|short|int|float|long|double)|@?(?:[a-zA-Z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*[A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*)[\[\]]*(?:<[^\n]*>)?n)\p{space}+([^\=]+\p{space}+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*\()/dgv,end:/\}|(?=[^\{])/dgv,name:"meta.definition.method.groovy",patterns:[{include:"#function-body"}]},"include-statement":{patterns:[{match:/(?<=^|\n(?!$))\b(include)\b/dgv,name:"keyword.nextflow"},{match:/\b(from)\b/dgv,name:"keyword.nextflow"}]},nextflow:{patterns:[{include:"#enum-def"},{include:"#function-def"},{include:"#process-def"},{include:"#workflow-def"},{include:"#output-def"},{include:"#include-statement"},{include:"source.nextflow-groovy"}]},"output-def":{begin:/(?<=^|\n(?!$))\p{space}*(output)\p{space}*\{/dgv,beginCaptures:{"1":{name:"keyword.nextflow"}},end:/\}/dgv,name:"output.nextflow",patterns:[{include:"source.nextflow-groovy#groovy"}]},"process-body":{patterns:[{match:/(?:input|output|when|script|shell|exec):/dgv,name:"constant.block.nextflow"},{match:/\b(tuple|path|file|val|stdin|stdout)(\(|\p{space})/dgv,name:"entity.name.function.nextflow"},{include:"source.nextflow-groovy#groovy"}]},"process-def":{begin:/(?<=^|\n(?!$))\p{space}*(process)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+|"[^"]+"|'[^']+')\p{space}*\{/dgv,beginCaptures:{"1":{name:"keyword.nextflow"},"2":{name:"function.nextflow"}},end:/\}/dgv,name:"process.nextflow",patterns:[{include:"#process-body"}]},"workflow-body":{patterns:[{match:/(?:take|main|emit):/dgv,name:"constant.block.nextflow"},{include:"source.nextflow-groovy#groovy"}]},"workflow-def":{begin:/(?<=^|\n(?!$))\p{space}*(workflow)(?:\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+|"[^"]+"|'[^']+'))?\p{space}*\{/dgv,beginCaptures:{"1":{name:"keyword.nextflow"},"2":{name:"constant.nextflow"}},end:/\}/dgv,name:"workflow.nextflow",patterns:[{include:"#workflow-body"}]}},scopeName:"source.nextflow",embeddedLangs:undefined,aliases:["nf"]})
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
lang
|
|
5
|
+
]
|
package/dist/nf.d.mts
ADDED
package/dist/nf.mjs
ADDED
package/dist/nginx.d.mts
ADDED