@shikijs/langs-precompiled 3.1.0 → 3.2.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/dist/abap.mjs +1 -1
- package/dist/actionscript-3.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-html.mjs +1 -1
- package/dist/angular-inline-style.mjs +1 -1
- package/dist/angular-inline-template.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/apache.mjs +1 -1
- package/dist/apex.mjs +1 -1
- package/dist/apl.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/beancount.mjs +1 -1
- package/dist/berry.mjs +1 -1
- package/dist/bicep.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/bsl.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/cairo.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/clojure.mjs +1 -1
- package/dist/cmake.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/csharp.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cue.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dart.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/desktop.mjs +1 -1
- package/dist/diff.mjs +1 -1
- package/dist/dotenv.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/elm.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/es-tag-css.mjs +1 -1
- package/dist/es-tag-glsl.mjs +1 -1
- package/dist/es-tag-html.mjs +1 -1
- package/dist/es-tag-sql.mjs +1 -1
- package/dist/es-tag-xml.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fish.mjs +1 -1
- package/dist/fluent.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/fsharp.mjs +1 -1
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/gdshader.mjs +1 -1
- package/dist/genie.mjs +1 -1
- package/dist/git-rebase.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/glsl.mjs +1 -1
- package/dist/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/graphql.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/haml.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hcl.mjs +1 -1
- package/dist/hjson.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html-derivative.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/http.mjs +1 -1
- package/dist/hxml.mjs +1 -1
- package/dist/hy.mjs +1 -1
- package/dist/imba.mjs +1 -3
- package/dist/index.mjs +2 -0
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja-html.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jison.mjs +1 -1
- package/dist/json.mjs +1 -1
- package/dist/json5.mjs +1 -1
- package/dist/jsonc.mjs +1 -1
- package/dist/jsonl.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -2
- package/dist/kotlin.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/lean.mjs +1 -1
- package/dist/less.mjs +1 -1
- package/dist/liquid.mjs +1 -1
- package/dist/llvm.d.mts +3 -0
- package/dist/llvm.mjs +5 -0
- package/dist/log.mjs +1 -1
- package/dist/lua.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown-vue.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/move.mjs +1 -1
- package/dist/narrat.mjs +1 -1
- package/dist/nextflow.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/plsql.mjs +1 -1
- package/dist/po.mjs +1 -1
- package/dist/polar.mjs +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/powerquery.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prisma.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/proto.mjs +1 -1
- package/dist/pug.mjs +1 -1
- package/dist/puppet.mjs +1 -1
- package/dist/purescript.mjs +6 -2
- package/dist/python.mjs +1 -1
- package/dist/qss.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/razor.mjs +1 -1
- package/dist/reg.mjs +1 -1
- package/dist/regexp.mjs +1 -1
- package/dist/rel.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/rst.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/rust.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/sass.mjs +1 -1
- package/dist/scala.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/scss.mjs +1 -1
- package/dist/sdbl.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/shellsession.mjs +1 -1
- package/dist/smalltalk.mjs +1 -1
- package/dist/solidity.mjs +1 -1
- package/dist/soy.mjs +1 -1
- package/dist/sparql.mjs +1 -1
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/ssh-config.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/system-verilog.mjs +1 -1
- package/dist/systemd.mjs +1 -1
- package/dist/talonscript.mjs +1 -1
- package/dist/tasl.mjs +1 -1
- package/dist/tcl.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/twig.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typespec.mjs +1 -1
- package/dist/typst.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vala.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/verilog.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vue-html.mjs +1 -1
- package/dist/vue-sfc-style-variable-injection.mjs +1 -1
- package/dist/vue.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wenyan.mjs +1 -1
- package/dist/wgsl.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wit.d.mts +3 -0
- package/dist/wit.mjs +5 -0
- package/dist/wolfram.mjs +1 -1
- package/dist/xml.mjs +1 -1
- package/dist/yaml.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/dist/zig.mjs +1 -1
- package/package.json +6 -4
package/dist/puppet.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Puppet",fileTypes:["pp"],foldingStartMarker:/(^\p{space}*\/\*|(\{|\[|\()\p{space}*(?=\n?$))/dgv,foldingStopMarker:/(\*\/|^\p{space}*(\}|\]|\)))/dgv,name:"puppet",patterns:[{include:"#line_comment"},{include:"#constants"},{begin:/^\p{space}*\/\*/dgv,end:/\*\//dgv,name:"comment.block.puppet"},{begin:/\b(node)\b/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{match:/\bdefault\b/dgv,name:"keyword.puppet"},{include:"#strings"},{include:"#regex-literal"}]},{begin:/\b(class)\p{space}+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{begin:/\b(inherits)\b\p{space}+/dgv,captures:{"1":{name:"storage.modifier.puppet"}},end:/(?=\(|\{)/dgv,name:"meta.definition.class.inherits.puppet",patterns:[{match:/\b((?:[\-_A-Za-z0-9"\.]+::)*[\-_A-Za-z0-9"\.]+)\b/dgv,name:"support.type.puppet"}]},{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(plan)\p{space}+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.plan.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.plan.puppet",patterns:[{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(define|function)\p{space}+([a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\p{space}*(\()/dgv,captures:{"1":{name:"storage.type.function.puppet"},"2":{name:"entity.name.function.puppet"}},end:/(?=\{)/dgv,name:"meta.function.puppet",patterns:[{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{captures:{"1":{name:"keyword.control.puppet"}},match:/\b(case|else|elsif|if|unless)(?!::)\b/dgv},{include:"#keywords"},{include:"#resource-definition"},{include:"#heredoc"},{include:"#strings"},{include:"#puppet-datatypes"},{include:"#array"},{match:/((\$?)"?[a-zA-Z_\x7F-ÿ][a-zA-Z0-9_\x7F-ÿ]*"?):(?=\p{space}+|(?=\n?$))/dgv,name:"entity.name.section.puppet"},{include:"#numbers"},{include:"#variable"},{begin:/\b(import|include|contain|require)\p{space}+(?![^\n]*=>)/dgv,beginCaptures:{"1":{name:"keyword.control.import.include.puppet"}},contentName:"variable.parameter.include.puppet",end:/(?=\p{space}|(?=\n?$))/dgv,name:"meta.include.puppet"},{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{match:/(?<=\{)\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?=\})/dgv,name:"constant.other.bareword.puppet"},{match:/\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\b(?![^\n]*\{)/dgv,name:"support.function.puppet"},{match:/=>/dgv,name:"punctuation.separator.key-value.puppet"},{match:/->/dgv,name:"keyword.control.orderarrow.puppet"},{match:/~>/dgv,name:"keyword.control.notifyarrow.puppet"},{include:"#regex-literal"}],repository:{array:{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.begin.puppet"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.array.end.puppet"}},name:"meta.array.puppet",patterns:[{match:/\p{space}*,\p{space}*/dgv},{include:"#parameter-default-types"},{include:"#line_comment"}]},constants:{patterns:[{match:/\b(absent|directory|false|file|present|running|stopped|true)\b(?![^\n]*\{)/dgv,name:"constant.language.puppet"}]},"double-quoted-string":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.quoted.double.interpolated.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},escaped_char:{match:/\\[^\n]/dgv,name:"constant.character.escape.puppet"},function_call:{begin:/([a-zA-Z_][a-zA-Z0-9_]*)(\()/dgv,end:/\)/dgv,name:"meta.function-call.puppet",patterns:[{include:"#parameter-default-types"},{match:/,/dgv,name:"punctuation.separator.parameters.puppet"}]},hash:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.hash.begin.puppet"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.hash.end.puppet"}},name:"meta.hash.puppet",patterns:[{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{include:"#parameter-default-types"},{include:"#line_comment"}]},heredoc:{patterns:[{begin:/@\([\p{Zs}\t]*"([^\:\/\) \t]+)"[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][a-zA-Z0-9_\+]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[tsrnL\$]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|\||-)?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.interpolated.heredoc.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},{begin:/@\([\p{Zs}\t]*([^\:\/\) \t]+)[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][a-zA-Z0-9_\+]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[tsrnL\$]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|\||-)?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.unquoted.heredoc.puppet"}]},interpolated_puppet:{patterns:[{begin:/(\$\{)(\p{Nd}+)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.pre-defined.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(_[a-zA-Z0-9_]*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(([a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]}]},keywords:{captures:{"1":{name:"keyword.puppet"}},match:/\b(undef)\b/dgv},line_comment:{patterns:[{captures:{"1":{name:"comment.line.number-sign.puppet"},"2":{name:"punctuation.definition.comment.puppet"}},match:/^((#)[^\n]*(?=\n?$)\n?)/dgv,name:"meta.comment.full-line.puppet"},{captures:{"1":{name:"punctuation.definition.comment.puppet"}},match:/(#)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.puppet"}]},nested_braces:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_parens:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},numbers:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}]|\p{Nd})([\-\+]?)0x(?:[0-9a-f])+(?![\p{L}\p{M}\p{N}\p{Pc}]|\p{Nd})/dgiv,name:"constant.numeric.hexadecimal.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}]|\.)([\-\+]?)(?<!\p{Nd})\p{Nd}+(?:e(\+|-)?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}]|\p{Nd}|\.)/dgiv,name:"constant.numeric.integer.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?)\p{Nd}+\.\p{Nd}+(?:e(\+|-)?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}]|\p{Nd})/dgiv,name:"constant.numeric.integer.puppet"}]},"parameter-default-types":{patterns:[{include:"#strings"},{include:"#numbers"},{include:"#variable"},{include:"#hash"},{include:"#array"},{include:"#function_call"},{include:"#constants"},{include:"#puppet-datatypes"}]},"puppet-datatypes":{patterns:[{match:/(?<![a-zA-Z\$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])/dgv,name:"storage.type.puppet"}]},"regex-literal":{match:/(\/)([^\n]+?)[^\\]\//dgv,name:"string.regexp.literal.puppet"},"resource-definition":{begin:/(?:^|\b)(::[a-z][a-z0-9_]*|[a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\p{space}*(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"meta.definition.resource.puppet storage.type.puppet"}},contentName:"entity.name.section.puppet",end:/:/dgv,patterns:[{include:"#strings"},{include:"#variable"},{include:"#array"}]},"resource-parameters":{patterns:[{captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"}},match:/((\$+)[a-zA-Z_][a-zA-Z0-9_]*)\p{space}*(?=,|\))/dgv,name:"meta.function.argument.puppet"},{begin:/((\$+)[a-zA-Z_][a-zA-Z0-9_]*)\p{space}*(=)\p{space}*\p{space}*/dgv,captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"},"3":{name:"keyword.operator.assignment.puppet"}},end:/(?=,|\))/dgv,name:"meta.function.argument.puppet",patterns:[{include:"#parameter-default-types"}]}]},"single-quoted-string":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.quoted.single.puppet",patterns:[{include:"#escaped_char"}]},strings:{patterns:[{include:"#double-quoted-string"},{include:"#single-quoted-string"}]},variable:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)(\p{Nd}+)/dgv,name:"variable.other.readwrite.global.pre-defined.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)_[a-zA-Z0-9_]*/dgv,name:"variable.other.readwrite.global.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)(([a-z][a-zA-Z0-9_]*)?(?:::[a-z][a-zA-Z0-9_]*)*)/dgv,name:"variable.other.readwrite.global.puppet"}]}},scopeName:"source.puppet",embeddedLangs:undefined,aliases:undefined})
|
|
1
|
+
const lang = Object.freeze({displayName:"Puppet",fileTypes:["pp"],foldingStartMarker:/(^\p{space}*\/\*|([\{\[\(])\p{space}*(?=\n?$))/dgv,foldingStopMarker:/(\*\/|^\p{space}*([\}\]\)]))/dgv,name:"puppet",patterns:[{include:"#line_comment"},{include:"#constants"},{begin:/^\p{space}*\/\*/dgv,end:/\*\//dgv,name:"comment.block.puppet"},{begin:/\b(node)\b/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{match:/\bdefault\b/dgv,name:"keyword.puppet"},{include:"#strings"},{include:"#regex-literal"}]},{begin:/\b(class)\p{space}+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{begin:/\b(inherits)\b\p{space}+/dgv,captures:{"1":{name:"storage.modifier.puppet"}},end:/(?=[\(\{])/dgv,name:"meta.definition.class.inherits.puppet",patterns:[{match:/\b((?:[\-_A-Za-z0-9"\.]+::)*[\-_A-Za-z0-9"\.]+)\b/dgv,name:"support.type.puppet"}]},{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(plan)\p{space}+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.plan.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.plan.puppet",patterns:[{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(define|function)\p{space}+([a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\p{space}*(\()/dgv,captures:{"1":{name:"storage.type.function.puppet"},"2":{name:"entity.name.function.puppet"}},end:/(?=\{)/dgv,name:"meta.function.puppet",patterns:[{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{captures:{"1":{name:"keyword.control.puppet"}},match:/\b(case|else|elsif|if|unless)(?!::)\b/dgv},{include:"#keywords"},{include:"#resource-definition"},{include:"#heredoc"},{include:"#strings"},{include:"#puppet-datatypes"},{include:"#array"},{match:/((\$?)"?[a-zA-Z_\x7F-ÿ][a-zA-Z0-9_\x7F-ÿ]*"?):(?=\p{space}+|(?=\n?$))/dgv,name:"entity.name.section.puppet"},{include:"#numbers"},{include:"#variable"},{begin:/\b(import|include|contain|require)\p{space}+(?![^\n]*=>)/dgv,beginCaptures:{"1":{name:"keyword.control.import.include.puppet"}},contentName:"variable.parameter.include.puppet",end:/(?=\p{space}|(?=\n?$))/dgv,name:"meta.include.puppet"},{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{match:/(?<=\{)\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?=\})/dgv,name:"constant.other.bareword.puppet"},{match:/\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\b(?![^\n]*\{)/dgv,name:"support.function.puppet"},{match:/=>/dgv,name:"punctuation.separator.key-value.puppet"},{match:/->/dgv,name:"keyword.control.orderarrow.puppet"},{match:/~>/dgv,name:"keyword.control.notifyarrow.puppet"},{include:"#regex-literal"}],repository:{array:{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.begin.puppet"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.array.end.puppet"}},name:"meta.array.puppet",patterns:[{match:/\p{space}*,\p{space}*/dgv},{include:"#parameter-default-types"},{include:"#line_comment"}]},constants:{patterns:[{match:/\b(absent|directory|false|file|present|running|stopped|true)\b(?![^\n]*\{)/dgv,name:"constant.language.puppet"}]},"double-quoted-string":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.quoted.double.interpolated.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},escaped_char:{match:/\\[^\n]/dgv,name:"constant.character.escape.puppet"},function_call:{begin:/([a-zA-Z_][a-zA-Z0-9_]*)(\()/dgv,end:/\)/dgv,name:"meta.function-call.puppet",patterns:[{include:"#parameter-default-types"},{match:/,/dgv,name:"punctuation.separator.parameters.puppet"}]},hash:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.hash.begin.puppet"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.hash.end.puppet"}},name:"meta.hash.puppet",patterns:[{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{include:"#parameter-default-types"},{include:"#line_comment"}]},heredoc:{patterns:[{begin:/@\([\p{Zs}\t]*"([^\:\/\) \t]+)"[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][a-zA-Z0-9_\+]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[tsrnL\$]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|[\|\-])?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.interpolated.heredoc.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},{begin:/@\([\p{Zs}\t]*([^\:\/\) \t]+)[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][a-zA-Z0-9_\+]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[tsrnL\$]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|[\|\-])?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.unquoted.heredoc.puppet"}]},interpolated_puppet:{patterns:[{begin:/(\$\{)(\p{Nd}+)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.pre-defined.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(_[a-zA-Z0-9_]*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(([a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]}]},keywords:{captures:{"1":{name:"keyword.puppet"}},match:/\b(undef)\b/dgv},line_comment:{patterns:[{captures:{"1":{name:"comment.line.number-sign.puppet"},"2":{name:"punctuation.definition.comment.puppet"}},match:/^((#)[^\n]*(?=\n?$)\n?)/dgv,name:"meta.comment.full-line.puppet"},{captures:{"1":{name:"punctuation.definition.comment.puppet"}},match:/(#)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.puppet"}]},nested_braces:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_parens:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},numbers:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])([\-\+]?)0x(?:[0-9a-f])+(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,name:"constant.numeric.hexadecimal.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])([\-\+]?)(?<!\p{Nd})\p{Nd}+(?:e([\+\-])?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\.])/dgiv,name:"constant.numeric.integer.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?)\p{Nd}+\.\p{Nd}+(?:e([\+\-])?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,name:"constant.numeric.integer.puppet"}]},"parameter-default-types":{patterns:[{include:"#strings"},{include:"#numbers"},{include:"#variable"},{include:"#hash"},{include:"#array"},{include:"#function_call"},{include:"#constants"},{include:"#puppet-datatypes"}]},"puppet-datatypes":{patterns:[{match:/(?<![a-zA-Z\$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])/dgv,name:"storage.type.puppet"}]},"regex-literal":{match:/(\/)([^\n]+?)[^\\]\//dgv,name:"string.regexp.literal.puppet"},"resource-definition":{begin:/(?:^|\b)(::[a-z][a-z0-9_]*|[a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\p{space}*(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"meta.definition.resource.puppet storage.type.puppet"}},contentName:"entity.name.section.puppet",end:/:/dgv,patterns:[{include:"#strings"},{include:"#variable"},{include:"#array"}]},"resource-parameters":{patterns:[{captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"}},match:/((\$+)[a-zA-Z_][a-zA-Z0-9_]*)\p{space}*(?=[\,\)])/dgv,name:"meta.function.argument.puppet"},{begin:/((\$+)[a-zA-Z_][a-zA-Z0-9_]*)\p{space}*(=)\p{space}*\p{space}*/dgv,captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"},"3":{name:"keyword.operator.assignment.puppet"}},end:/(?=[\,\)])/dgv,name:"meta.function.argument.puppet",patterns:[{include:"#parameter-default-types"}]}]},"single-quoted-string":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.quoted.single.puppet",patterns:[{include:"#escaped_char"}]},strings:{patterns:[{include:"#double-quoted-string"},{include:"#single-quoted-string"}]},variable:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)(\p{Nd}+)/dgv,name:"variable.other.readwrite.global.pre-defined.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)_[a-zA-Z0-9_]*/dgv,name:"variable.other.readwrite.global.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)(([a-z][a-zA-Z0-9_]*)?(?:::[a-z][a-zA-Z0-9_]*)*)/dgv,name:"variable.other.readwrite.global.puppet"}]}},scopeName:"source.puppet",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/purescript.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
throw new Error("purescript is not supported due to the grammar limits")
|
|
3
|
+
const lang = Object.freeze({displayName:"PureScript",fileTypes:["purs"],name:"purescript",patterns:[{include:"#module_declaration"},{include:"#module_import"},{include:"#type_synonym_declaration"},{include:"#data_type_declaration"},{include:"#typeclass_declaration"},{include:"#instance_declaration"},{include:"#derive_declaration"},{include:"#infix_op_declaration"},{include:"#foreign_import_data"},{include:"#foreign_import"},{include:"#function_type_declaration"},{include:"#typed_hole"},{include:"#keywords_orphan"},{include:"#control_keywords"},{include:"#function_infix"},{include:"#data_ctor"},{include:"#infix_op"},{include:"#constants_numeric_decimal"},{include:"#constant_numeric"},{include:"#constant_boolean"},{include:"#string_triple_quoted"},{include:"#string_single_quoted"},{include:"#string_double_quoted"},{include:"#markup_newline"},{include:"#double_colon_parens"},{include:"#double_colon_inlined"},{include:"#double_colon_orphan"},{include:"#comments"},{match:/<-|->/dgv,name:"keyword.other.arrow.purescript"},{match:/[[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+/dgv,name:"keyword.operator.purescript"},{match:/,/dgv,name:"punctuation.separator.comma.purescript"}],repository:{block_comment:{patterns:[{applyEndPatternLast:1,begin:/\{-\p{space}*\|/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},end:/-\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},name:"comment.block.documentation.purescript",patterns:[{include:"#block_comment"}]},{applyEndPatternLast:1,begin:/\{-/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},end:/-\}/dgv,name:"comment.block.purescript",patterns:[{include:"#block_comment"}]}]},characters:{patterns:[{captures:{"1":{name:"constant.character.escape.purescript"},"2":{name:"constant.character.escape.octal.purescript"},"3":{name:"constant.character.escape.hexadecimal.purescript"},"4":{name:"constant.character.escape.control.purescript"}},match:/(?:[ -\[\]-\~]|(\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\"'\&]))|(\\o[0-7]+)|(\\x\p{AHex}+)|(\^[A-Z\@\[\]\\\^_]))/dgv}]},class_constraint:{patterns:[{captures:{"1":{patterns:[{match:/\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*/dgv,name:"entity.name.type.purescript"}]},"2":{patterns:[{include:"#type_name"},{include:"#generic_type"}]}},match:/([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\p{space}+(?<classConstraint>(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*))*)/dgv,name:"meta.class-constraint.purescript"}]},comments:{patterns:[{begin:/(^[ \t]+)?(?=--+)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.purescript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},end:/\n/dgv,name:"comment.line.double-dash.purescript"}]},{include:"#block_comment"}]},constant_boolean:{patterns:[{match:/\b(true|false)(?!')\b/dgv,name:"constant.language.boolean.purescript"}]},constant_numeric:{patterns:[{match:/\b(([0-9]+_?)*[0-9]+|0([xX]\p{AHex}+|[oO][0-7]+))\b/dgv,name:"constant.numeric.purescript"}]},constants_numeric_decimal:{patterns:[{captures:{"0":{name:"constant.numeric.decimal.purescript"},"1":{name:"meta.delimiter.decimal.period.purescript"},"2":{name:"meta.delimiter.decimal.period.purescript"},"3":{name:"meta.delimiter.decimal.period.purescript"},"4":{name:"meta.delimiter.decimal.period.purescript"},"5":{name:"meta.delimiter.decimal.period.purescript"},"6":{name:"meta.delimiter.decimal.period.purescript"}},match:/(?<!\$)\b(?:[0-9]+(\.)[0-9]+[eE][\+\-]?[0-9]+\b|[0-9]+[eE][\+\-]?[0-9]+\b|[0-9]+(\.)[0-9]+\b|[0-9]+\b(?!\.))(?!\$)/dgv,name:"constant.numeric.decimal.purescript"}]},control_keywords:{patterns:[{match:/\b(do|ado|if|then|else|case|of|let|in)(?!('|\p{space}*([\:\=])))\b/dgv,name:"keyword.control.purescript"}]},data_ctor:{patterns:[{match:/\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*/dgv,name:"entity.name.tag.purescript"}]},data_type_declaration:{patterns:[{begin:/^(\p{space})*(data|newtype)\p{space}+([^\n]+?)\p{space}*(?==|(?=\n?$))/dgv,beginCaptures:{"2":{name:"storage.type.data.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,name:"meta.declaration.type.data.purescript",patterns:[{include:"#comments"},{captures:{"2":{patterns:[{include:"#data_ctor"}]}},match:/(?<=([\|\=])\p{space}*)([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)/dgv},{captures:{"0":{name:"keyword.operator.pipe.purescript"}},match:/\|/dgv},{include:"#record_types"},{include:"#type_signature"}]}]},derive_declaration:{patterns:[{begin:/^\p{space}*\b(derive)(\p{space}+newtype)?(\p{space}+instance)?(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"},"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"keyword.other.purescript"}},contentName:"meta.type-signature.purescript",end:/^(?=\P{space})/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.derive.purescript",patterns:[{include:"#type_signature"}]}]},double_colon:{patterns:[{match:/(?:::|∷)/dgv,name:"keyword.other.double-colon.purescript"}]},double_colon_inlined:{patterns:[{patterns:[{captures:{"1":{name:"keyword.other.double-colon.purescript"},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},match:/((?:::|∷))([^\n]*)(?=<-|""")/dgv}]},{patterns:[{captures:{"1":{name:"keyword.other.double-colon.purescript"},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},match:/((?:::|∷))([^\n]*)/dgv}]}]},double_colon_orphan:{patterns:[{begin:/(\p{space}*)(::|∷)(\p{space}*)(?=\n?$)/dgv,beginCaptures:{"2":{name:"keyword.other.double-colon.purescript"}},end:/^(?!\1[ \t]*|[ \t]*(?=\n?$))()/dgv,patterns:[{include:"#type_signature"}]}]},double_colon_parens:{patterns:[{captures:{"1":{patterns:[{include:"$self"}]},"2":{name:"keyword.other.double-colon.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},match:/\((?<paren>(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:)\))*)\))*)\))*)\))*)\))*)(::|∷)(?<paren2>(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:)\))*)\))*)\))*)\))*)\))*)\)/dgv}]},foreign_import:{patterns:[{begin:/^(\p{space}*)(foreign)\p{space}+(import)\p{space}+([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)/dgv,beginCaptures:{"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"entity.name.function.purescript"}},contentName:"meta.type-signature.purescript",end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,name:"meta.foreign.purescript",patterns:[{include:"#double_colon"},{include:"#type_signature"},{include:"#record_types"}]}]},foreign_import_data:{patterns:[{begin:/^(\p{space}*)(foreign)\p{space}+(import)\p{space}+(data)(?:\p{space}+([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*((?:::|∷)))?/dgv,beginCaptures:{"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"keyword.other.purescript"},"5":{name:"entity.name.type.purescript"},"6":{name:"keyword.other.double-colon.purescript"}},contentName:"meta.kind-signature.purescript",end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,name:"meta.foreign.data.purescript",patterns:[{include:"#comments"},{include:"#type_signature"},{include:"#record_types"}]}]},function_infix:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.purescript"},"2":{name:"punctuation.definition.entity.purescript"}},match:/(`)(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(`)/dgv,name:"keyword.operator.function.infix.purescript"}]},function_type_declaration:{patterns:[{begin:/^(\p{space}*)([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*(::|∷)(?![^\n]*<-)/dgv,beginCaptures:{"2":{name:"entity.name.function.purescript"},"3":{name:"keyword.other.double-colon.purescript"}},contentName:"meta.type-signature.purescript",end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,name:"meta.function.type-declaration.purescript",patterns:[{include:"#double_colon"},{include:"#type_signature"},{include:"#record_types"},{include:"#row_types"}]}]},generic_type:{patterns:[{match:/\b(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*/dgv,name:"variable.other.generic-type.purescript"}]},infix_op:{patterns:[{match:/\((?!--+\))[[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+\)/dgv,name:"entity.name.function.infix.purescript"}]},infix_op_declaration:{patterns:[{begin:/^\b(infix[l\|r]?)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/((?=\n?$))/dgv,name:"meta.infix.declaration.purescript",patterns:[{include:"#comments"},{include:"#data_ctor"},{match:/\p{Nd}+/dgv,name:"constant.numeric.purescript"},{captures:{"1":{name:"keyword.other.purescript"}},match:/([[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+)/dgv},{captures:{"1":{name:"keyword.other.purescript"},"2":{name:"entity.name.type.purescript"}},match:/\b(type)\p{space}+([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\b/dgv},{captures:{"1":{name:"keyword.other.purescript"}},match:/\b(as|type)\b/dgv}]}]},instance_declaration:{patterns:[{begin:/^\p{space}*\b(else\p{space}+)?(newtype\p{space}+)?(instance)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"},"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"keyword.other.purescript"}},contentName:"meta.type-signature.purescript",end:/(\bwhere\b|(?=^\P{space}))/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.instance.purescript",patterns:[{include:"#type_signature"}]}]},keywords_orphan:{patterns:[{match:/^\p{space}*\b(derive|where|data|type|newtype|foreign(\p{space}+import)?(\p{space}+data)?)(?!')\b/dgv,name:"keyword.other.purescript"}]},kind_signature:{patterns:[{match:/\*/dgv,name:"keyword.other.star.purescript"},{match:/!/dgv,name:"keyword.other.exclaimation-point.purescript"},{match:/#/dgv,name:"keyword.other.pound-sign.purescript"},{match:/->|→/dgv,name:"keyword.other.arrow.purescript"}]},markup_newline:{patterns:[{match:/\\(?=\n?$)/dgv,name:"markup.other.escape.newline.purescript"}]},module_declaration:{patterns:[{begin:/^\p{space}*\b(module)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/(\bwhere\b)/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.module.purescript",patterns:[{include:"#comments"},{include:"#module_name"},{include:"#module_exports"},{match:/[a-z]+/dgv,name:"invalid.purescript"}]}]},module_exports:{patterns:[{begin:/\(/dgv,end:/\)/dgv,name:"meta.declaration.exports.purescript",patterns:[{include:"#comments"},{match:/\b(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*/dgv,name:"entity.name.function.purescript"},{include:"#type_name"},{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.constructor-list.purescript"}]}]},module_import:{patterns:[{begin:/^\p{space}*\b(import)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/^(?=\P{space})/dgv,name:"meta.import.purescript",patterns:[{include:"#module_name"},{include:"#string_double_quoted"},{include:"#comments"},{include:"#module_exports"},{captures:{"1":{name:"keyword.other.purescript"}},match:/\b(as|hiding)\b/dgv}]}]},module_name:{patterns:[{match:/(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)*[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.?/dgv,name:"support.other.module.purescript"}]},record_field_declaration:{patterns:[{begin:/([ \,]"(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)"|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*(::|∷)/dgv,beginCaptures:{"1":{patterns:[{match:/(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*/dgv,name:"entity.other.attribute-name.purescript"},{match:/"([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)"/dgv,name:"string.quoted.double.purescript"}]},"2":{name:"keyword.other.double-colon.purescript"}},contentName:"meta.type-signature.purescript",end:/(?=([ \,]"(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)"|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*(::|∷)|\}| \)|^(?!(?!)[ \t]|[ \t]*(?=\n?$)))/dgv,name:"meta.record-field.type-declaration.purescript",patterns:[{include:"#record_types"},{include:"#type_signature"},{include:"#comments"}]}]},record_types:{patterns:[{begin:/\{(?!-)/dgv,beginCaptures:{"0":{name:"keyword.operator.type.record.begin.purescript"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.operator.type.record.end.purescript"}},name:"meta.type.record.purescript",patterns:[{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#comments"},{include:"#record_field_declaration"},{include:"#type_signature"}]}]},row_types:{patterns:[{begin:/\((?=\p{space}*([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|"[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*"|"[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*")\p{space}*(::|∷))/dgv,end:/(?=^\P{space})/dgv,name:"meta.type.row.purescript",patterns:[{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#comments"},{include:"#record_field_declaration"},{include:"#type_signature"}]}]},string_double_quoted:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},name:"string.quoted.double.purescript",patterns:[{include:"#characters"},{begin:/\\\p{space}/dgv,beginCaptures:{"0":{name:"markup.other.escape.newline.begin.purescript"}},end:/\\/dgv,endCaptures:{"0":{name:"markup.other.escape.newline.end.purescript"}},patterns:[{match:/\P{space}+/dgv,name:"invalid.illegal.character-not-allowed-here.purescript"}]}]}]},string_single_quoted:{patterns:[{captures:{"1":{name:"punctuation.definition.string.begin.purescript"},"2":{patterns:[{include:"#characters"}]},"7":{name:"punctuation.definition.string.end.purescript"}},match:/(')((?:[ -\[\]-\~]|(\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\"'\&]))|(\\o[0-7]+)|(\\x\p{AHex}+)|(\^[A-Z\@\[\]\\\^_])))(')/dgv,name:"string.quoted.single.purescript"}]},string_triple_quoted:{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},name:"string.quoted.triple.purescript"}]},type_kind_signature:{patterns:[{begin:/^(data|newtype)\p{space}+([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*((?:::|∷))/dgv,beginCaptures:{"1":{name:"storage.type.data.purescript"},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]},"3":{name:"keyword.other.double-colon.purescript"}},end:/(?=^\P{space})/dgv,name:"meta.declaration.type.data.signature.purescript",patterns:[{include:"#type_signature"},{captures:{"0":{name:"keyword.operator.assignment.purescript"}},match:/=/dgv},{captures:{"1":{patterns:[{include:"#data_ctor"}]},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},match:/\b([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\p{space}+(?<ctorArgs>(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|(?:(?:[\p{L}\p{M}\p{N}\p{Pc}\(\)'→⇒\[\]\,]|->|=>)+\p{space}*)+)(?:\p{space}*\p{space}+\p{space}*(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|(?:(?:[\p{L}\p{M}\p{N}\p{Pc}\(\)'→⇒\[\]\,]|->|=>)+\p{space}*)+))*)?/dgv},{captures:{"0":{name:"keyword.operator.pipe.purescript"}},match:/\|/dgv},{include:"#record_types"}]}]},type_name:{patterns:[{match:/\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*/dgv,name:"entity.name.type.purescript"}]},type_signature:{patterns:[{include:"#record_types"},{captures:{"1":{patterns:[{include:"#class_constraint"}]},"6":{name:"keyword.other.big-arrow.purescript"}},match:/\((?<classConstraints>([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\p{space}+(?<classConstraint>(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*))*)(?:\p{space}*,\p{space}*([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\p{space}+((?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*))*))*)\)\p{space}*(=>|<=|[⇐⇒])/dgv,name:"meta.class-constraints.purescript"},{captures:{"1":{patterns:[{include:"#class_constraint"}]},"4":{name:"keyword.other.big-arrow.purescript"}},match:/(([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\p{space}+(?<classConstraint>(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|(?:[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*))*))\p{space}*(=>|<=|[⇐⇒])/dgv,name:"meta.class-constraints.purescript"},{match:/(?<![[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']])(->|→)/dgv,name:"keyword.other.arrow.purescript"},{match:/(?<![[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']])(=>|⇒)/dgv,name:"keyword.other.big-arrow.purescript"},{match:/<=|⇐/dgv,name:"keyword.other.big-arrow-left.purescript"},{match:/forall|∀/dgv,name:"keyword.other.forall.purescript"},{include:"#string_double_quoted"},{include:"#generic_type"},{include:"#type_name"},{include:"#comments"},{match:/[[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+/dgv,name:"keyword.other.purescript"}]},type_synonym_declaration:{patterns:[{begin:/^(\p{space})*(type)\p{space}+([^\n]+?)\p{space}*(?==|(?=\n?$))/dgv,beginCaptures:{"2":{name:"storage.type.data.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},contentName:"meta.type-signature.purescript",end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,name:"meta.declaration.type.type.purescript",patterns:[{captures:{"0":{name:"keyword.operator.assignment.purescript"}},match:/=/dgv},{include:"#type_signature"},{include:"#record_types"},{include:"#row_types"},{include:"#comments"}]}]},typeclass_declaration:{patterns:[{begin:/^\p{space}*\b(class)(?!')\b/dgv,beginCaptures:{"1":{name:"storage.type.class.purescript"}},end:/(\bwhere\b|(?=^\P{space}))/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.typeclass.purescript",patterns:[{include:"#type_signature"}]}]},typed_hole:{patterns:[{match:/\?(?:[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)/dgv,name:"entity.name.function.typed-hole.purescript"}]}},scopeName:"source.purescript",embeddedLangs:undefined,aliases:undefined})
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
lang
|
|
7
|
+
]
|
package/dist/python.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Python",name:"python",patterns:[{include:"#statement"},{include:"#expression"}],repository:{"annotated-parameter":{begin:/\b([\p{Alpha}_][\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:"invalid.deprecated.backtick.python",patterns:[{include:"#expression"}]},"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(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(?=([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,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)\p{space}+(?=[\p{Alpha}_][\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([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},"class-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\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:/*@__PURE__*/ new EmulatedRegExp("#\\p{space}*(type:)(?:(?=(\\p{space}*))\\2)(?!(?=\\n?$)|#)","dgv",{"hiddenCaptures":[2]}),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:/([\p{Alpha}_][\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:/^\p{space}*((@))\p{space}*(?=[\p{Alpha}_][\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:/([\p{Alpha}_][\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}*([^\(\p{Alpha}\p{space}_\.\#\\][^\n]*?)(?=#|(?=\n?$))/dgv,name:"invalid.illegal.decorator.python"}]},docstring:{patterns:[{begin:/('''|""")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.python"}},end:/((?!))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"}},name:"string.quoted.docstring.multi.python",patterns:[{include:"#docstring-prompt"},{include:"#codetags"},{include:"#docstring-guts-unicode"}]},{begin:/([rR])('''|""")/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"}},name:"string.quoted.docstring.raw.multi.python",patterns:[{include:"#string-consume-escape"},{include:"#docstring-prompt"},{include:"#codetags"}]},{begin:/('|")/dgv,beginCaptures:{"1":{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.quoted.docstring.single.python",patterns:[{include:"#codetags"},{include:"#docstring-guts-unicode"}]},{begin:/([rR])('|")/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.docstring.raw.single.python",patterns:[{include:"#string-consume-escape"},{include:"#codetags"}]}]},"docstring-guts-unicode":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"docstring-prompt":{captures:{"1":{name:"keyword.control.flow.python"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:^|^)\\p{space}*((?:>>>|\\.\\.\\.)\\p{space})(?=\\p{space}*\\P{space})","dgv",{"strategy":"clip_search"})},"docstring-statement":{begin:/^(?=\p{space}*[rR]?('''|"""|'|"))/dgv,end:/((?<=(?!))|^)(?!\p{space}*[rR]?('''|"""|'|"))/dgv,patterns:[{include:"#docstring"}]},"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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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:{patterns:[{include:"#expression-base"},{include:"#member-access"},{match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"expression-bare":{patterns:[{include:"#backticks"},{include:"#illegal-anno"},{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":{patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{patterns:[{include:"#expression-bare"},{include:"#member-access"},{match:/\b([\p{Alpha}_][\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"}},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"}},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"}},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"}},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:/(?:(?<=[\,\(])|^)\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([\p{Alpha}_][\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(?=([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,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)\p{space}+(?=[\p{Alpha}_][\p{Alpha}\p{M}\p{Nd}\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-def-name"},{include:"#parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.python"}]},"function-name":{patterns:[{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\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"}},end:/\bin\b/dgv,endCaptures:{"0":{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-anno":{match:/->/dgv,name:"invalid.illegal.annotation.python"},"illegal-names":{captures:{"1":{name:"keyword.control.flow.python"},"2":{name:"keyword.control.import.python"}},match:/\b(?:(and|assert|async|await|break|class|continue|def|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)|(as|import))\b/dgv},"illegal-object-name":{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"},{match:/!\b/dgv,name:"invalid.illegal.operator.python"}]},import:{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:{match:/(?=\n?$)[^\n]^/dgv},"inheritance-identifier":{captures:{"1":{name:"entity.other.inherited-class.python"}},match:/\b([\p{Alpha}_][\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(?=[\p{Alpha}_][\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([\p{Alpha}_][\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:/\//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:/([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=:|(?=\n?$)))/dgv},{include:"#comments"},{include:"#backticks"},{include:"#illegal-anno"},{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([\p{Alpha}_][\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:/*@__PURE__*/ new EmulatedRegExp("(?=^\\p{space}*(?=\\n?$))|(?!(\\p{space}*[rR]?('''|\"\"\"|'|\"))|(^(?=\\n?$)))","dgv",{"strategy":"clip_search"}),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"}},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"}},match:/\b(__(?:all|annotations|bases|builtins|class|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}])|(^|(?<=\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":{match:/\b([\p{Alpha}_][\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"}]},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[0-9]+[\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](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([jJ])|0([0-9]+)(?![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}])(?:(?:\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.)(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[eE][\+\-]?[0-9](?:_?[0-9])*)([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"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])([1-9][0-9]*|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,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:/\//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:/([\p{Alpha}_][\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}+[\p{Alpha}\p{Nd}]+)?)(\))/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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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(_*[\p{Upper}][_\p{Nd}]*[\p{Upper}])[\p{Upper}\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:"#docstring-statement"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:/\b((async\p{space}+)?\p{space}*def)\b/dgv,name:"storage.type.function.python"},{match:/\b(?<!\.)as\b(?=[^\n]*[\:\\])/dgv,name:"keyword.control.flow.python"},{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)\b/dgv,name:"storage.type.class.python"},{captures:{"1":{name:"keyword.control.flow.python"}},match:/^\p{space}*(case|match)(?=\p{space}*([\-\+\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\(\[\{'"\:\#]|(?=\n?$)))\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}]*(\.[\p{Alpha}_][\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}]*(\.[\p{Alpha}_][\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-multi-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,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,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,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,end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,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,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,end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},scopeName:"source.python",embeddedLangs:undefined,aliases:["py"]})
|
|
3
|
+
const lang = Object.freeze({displayName:"Python",name:"python",patterns:[{include:"#statement"},{include:"#expression"}],repository:{"annotated-parameter":{begin:/\b([\p{Alpha}_][\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:"invalid.deprecated.backtick.python",patterns:[{include:"#expression"}]},"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(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(?=([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,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)\p{space}+(?=[\p{Alpha}_][\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([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},"class-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\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:/*@__PURE__*/ new EmulatedRegExp("#\\p{space}*(type:)(?:(?=(\\p{space}*))\\2)(?!(?=\\n?$)|#)","dgv",{"hiddenCaptures":[2]}),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:/([\p{Alpha}_][\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:/^\p{space}*((@))\p{space}*(?=[\p{Alpha}_][\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:/([\p{Alpha}_][\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}*([^\(\p{Alpha}\p{space}_\.\#\\][^\n]*?)(?=#|(?=\n?$))/dgv,name:"invalid.illegal.decorator.python"}]},docstring:{patterns:[{begin:/('''|""")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.python"}},end:/((?!))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"}},name:"string.quoted.docstring.multi.python",patterns:[{include:"#docstring-prompt"},{include:"#codetags"},{include:"#docstring-guts-unicode"}]},{begin:/([rR])('''|""")/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"}},name:"string.quoted.docstring.raw.multi.python",patterns:[{include:"#string-consume-escape"},{include:"#docstring-prompt"},{include:"#codetags"}]},{begin:/(['"])/dgv,beginCaptures:{"1":{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.quoted.docstring.single.python",patterns:[{include:"#codetags"},{include:"#docstring-guts-unicode"}]},{begin:/([rR])(['"])/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.docstring.raw.single.python",patterns:[{include:"#string-consume-escape"},{include:"#codetags"}]}]},"docstring-guts-unicode":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"docstring-prompt":{captures:{"1":{name:"keyword.control.flow.python"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:^|^)\\p{space}*((?:>>>|\\.\\.\\.)\\p{space})(?=\\p{space}*\\P{space})","dgv",{"strategy":"clip_search"})},"docstring-statement":{begin:/^(?=\p{space}*[rR]?('''|"""|['"]))/dgv,end:/((?<=(?!))|^)(?!\p{space}*[rR]?('''|"""|['"]))/dgv,patterns:[{include:"#docstring"}]},"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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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\p{AHex}{2}|[0-7]{1,3}|[\\"'abfnrtv])/dgv,name:"constant.character.escape.python"},"escape-sequence-unicode":{patterns:[{match:/\\(u\p{AHex}{4}|U\p{AHex}{8}|N\{[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+?\})/dgv,name:"constant.character.escape.python"}]},expression:{patterns:[{include:"#expression-base"},{include:"#member-access"},{match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"expression-bare":{patterns:[{include:"#backticks"},{include:"#illegal-anno"},{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":{patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{patterns:[{include:"#expression-bare"},{include:"#member-access"},{match:/\b([\p{Alpha}_][\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"}},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"}},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"}},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"}},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:/(?:(?<=[\,\(])|^)\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([\p{Alpha}_][\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(?=([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,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)\p{space}+(?=[\p{Alpha}_][\p{Alpha}\p{M}\p{Nd}\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-def-name"},{include:"#parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.python"}]},"function-name":{patterns:[{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\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"}},end:/\bin\b/dgv,endCaptures:{"0":{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-anno":{match:/->/dgv,name:"invalid.illegal.annotation.python"},"illegal-names":{captures:{"1":{name:"keyword.control.flow.python"},"2":{name:"keyword.control.import.python"}},match:/\b(?:(and|assert|async|await|break|class|continue|def|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)|(as|import))\b/dgv},"illegal-object-name":{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"},{match:/!\b/dgv,name:"invalid.illegal.operator.python"}]},import:{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:{match:/(?=\n?$)[^\n]^/dgv},"inheritance-identifier":{captures:{"1":{name:"entity.other.inherited-class.python"}},match:/\b([\p{Alpha}_][\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(?=[\p{Alpha}_][\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([\p{Alpha}_][\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:/\//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:/([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=:|(?=\n?$)))/dgv},{include:"#comments"},{include:"#backticks"},{include:"#illegal-anno"},{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([\p{Alpha}_][\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:/*@__PURE__*/ new EmulatedRegExp("(?=^\\p{space}*(?=\\n?$))|(?!(\\p{space}*[rR]?('''|\"\"\"|['\"]))|(^(?=\\n?$)))","dgv",{"strategy":"clip_search"}),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"}},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"}},match:/\b(__(?:all|annotations|bases|builtins|class|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}])|(^|(?<=\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":{match:/\b([\p{Alpha}_][\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"}]},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[0-9]+[\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](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([jJ])|0([0-9]+)(?![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}])(?:(?:\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.)(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[eE][\+\-]?[0-9](?:_?[0-9])*)([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])(_?\p{AHex})+\b/dgv,name:"constant.numeric.hex.python"},"number-long":{captures:{"2":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])([1-9][0-9]*|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,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:/\//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:/([\p{Alpha}_][\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}+[\p{Alpha}\p{Nd}]+)?)(\))/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\p{AHex}{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\p{AHex}{4}|U\p{AHex}{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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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}+[\p{Alpha}\p{Nd}]+)?|\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}+[\p{Alpha}\p{Nd}]+)?>)/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(_*\p{Upper}[_\p{Nd}]*\p{Upper})[\p{Upper}\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:"#docstring-statement"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:/\b((async\p{space}+)?\p{space}*def)\b/dgv,name:"storage.type.function.python"},{match:/\b(?<!\.)as\b(?=[^\n]*[\:\\])/dgv,name:"keyword.control.flow.python"},{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)\b/dgv,name:"storage.type.class.python"},{captures:{"1":{name:"keyword.control.flow.python"}},match:/^\p{space}*(case|match)(?=\p{space}*([\-\+\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\(\[\{'"\:\#]|(?=\n?$)))\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}]*(\.[\p{Alpha}_][\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}]*(\.[\p{Alpha}_][\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-multi-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,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,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,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,end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,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,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,end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},scopeName:"source.python",embeddedLangs:undefined,aliases:["py"]})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|