@shikijs/langs-precompiled 3.3.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-ts.mjs +1 -1
  6. package/dist/applescript.mjs +1 -1
  7. package/dist/ara.mjs +1 -1
  8. package/dist/asciidoc.mjs +1 -1
  9. package/dist/asm.mjs +1 -1
  10. package/dist/astro.mjs +1 -1
  11. package/dist/awk.mjs +1 -1
  12. package/dist/ballerina.mjs +1 -1
  13. package/dist/bat.mjs +1 -1
  14. package/dist/blade.mjs +1 -1
  15. package/dist/c.mjs +1 -1
  16. package/dist/cadence.mjs +1 -1
  17. package/dist/clarity.mjs +1 -1
  18. package/dist/cmake.mjs +1 -1
  19. package/dist/cobol.mjs +1 -1
  20. package/dist/codeql.mjs +1 -1
  21. package/dist/coffee.mjs +1 -1
  22. package/dist/common-lisp.mjs +1 -1
  23. package/dist/coq.mjs +1 -1
  24. package/dist/cpp-macro.mjs +1 -1
  25. package/dist/cpp.mjs +1 -1
  26. package/dist/crystal.mjs +1 -1
  27. package/dist/css.mjs +1 -1
  28. package/dist/cypher.mjs +1 -1
  29. package/dist/d.mjs +1 -1
  30. package/dist/dax.mjs +1 -1
  31. package/dist/dream-maker.mjs +1 -1
  32. package/dist/elixir.mjs +1 -1
  33. package/dist/elm.mjs +1 -1
  34. package/dist/emacs-lisp.mjs +1 -1
  35. package/dist/erlang.mjs +1 -1
  36. package/dist/fennel.mjs +1 -1
  37. package/dist/fortran-free-form.mjs +1 -1
  38. package/dist/fsharp.mjs +1 -1
  39. package/dist/gdresource.mjs +1 -1
  40. package/dist/gdscript.mjs +1 -1
  41. package/dist/gherkin.mjs +1 -1
  42. package/dist/gleam.mjs +1 -1
  43. package/dist/glimmer-js.mjs +1 -1
  44. package/dist/glimmer-ts.mjs +1 -1
  45. package/dist/glsl.mjs +1 -1
  46. package/dist/gnuplot.mjs +1 -1
  47. package/dist/go.mjs +1 -1
  48. package/dist/groovy.mjs +1 -1
  49. package/dist/hack.mjs +1 -1
  50. package/dist/handlebars.mjs +1 -1
  51. package/dist/haxe.mjs +1 -1
  52. package/dist/hlsl.mjs +1 -1
  53. package/dist/html.mjs +1 -1
  54. package/dist/imba.mjs +1 -1
  55. package/dist/java.mjs +1 -1
  56. package/dist/javascript.mjs +1 -1
  57. package/dist/jinja.mjs +1 -1
  58. package/dist/jsonnet.mjs +1 -1
  59. package/dist/jsx.mjs +1 -1
  60. package/dist/julia.mjs +1 -1
  61. package/dist/kusto.mjs +1 -1
  62. package/dist/latex.mjs +1 -1
  63. package/dist/lean.mjs +1 -1
  64. package/dist/less.mjs +1 -1
  65. package/dist/liquid.mjs +1 -1
  66. package/dist/llvm.mjs +1 -1
  67. package/dist/log.mjs +1 -1
  68. package/dist/logo.mjs +1 -1
  69. package/dist/luau.mjs +1 -1
  70. package/dist/make.mjs +1 -1
  71. package/dist/markdown.mjs +1 -1
  72. package/dist/marko.mjs +1 -1
  73. package/dist/matlab.mjs +1 -1
  74. package/dist/mdc.mjs +1 -1
  75. package/dist/mdx.mjs +1 -1
  76. package/dist/mermaid.mjs +1 -1
  77. package/dist/mipsasm.mjs +1 -1
  78. package/dist/mojo.mjs +1 -1
  79. package/dist/nginx.mjs +1 -1
  80. package/dist/nim.mjs +1 -1
  81. package/dist/nix.mjs +1 -1
  82. package/dist/nushell.mjs +1 -1
  83. package/dist/objective-c.mjs +1 -1
  84. package/dist/objective-cpp.mjs +1 -1
  85. package/dist/ocaml.mjs +1 -1
  86. package/dist/pascal.mjs +1 -1
  87. package/dist/perl.mjs +1 -1
  88. package/dist/php.mjs +1 -1
  89. package/dist/plsql.mjs +1 -1
  90. package/dist/powershell.mjs +1 -1
  91. package/dist/prolog.mjs +1 -1
  92. package/dist/python.mjs +1 -1
  93. package/dist/qss.mjs +1 -1
  94. package/dist/r.mjs +1 -1
  95. package/dist/racket.mjs +1 -1
  96. package/dist/raku.mjs +1 -1
  97. package/dist/riscv.mjs +1 -1
  98. package/dist/ruby.mjs +1 -1
  99. package/dist/sas.mjs +1 -1
  100. package/dist/scheme.mjs +1 -1
  101. package/dist/shaderlab.mjs +1 -1
  102. package/dist/shellscript.mjs +1 -1
  103. package/dist/smalltalk.mjs +1 -3
  104. package/dist/splunk.mjs +1 -1
  105. package/dist/sql.mjs +1 -1
  106. package/dist/stata.mjs +1 -1
  107. package/dist/stylus.mjs +1 -1
  108. package/dist/svelte.mjs +1 -1
  109. package/dist/system-verilog.mjs +1 -1
  110. package/dist/systemd.mjs +1 -1
  111. package/dist/talonscript.mjs +1 -1
  112. package/dist/templ.mjs +1 -1
  113. package/dist/terraform.mjs +1 -1
  114. package/dist/tex.mjs +1 -1
  115. package/dist/toml.mjs +1 -1
  116. package/dist/tsx.mjs +1 -1
  117. package/dist/typescript.mjs +1 -1
  118. package/dist/typst.mjs +1 -1
  119. package/dist/v.mjs +1 -1
  120. package/dist/vala.mjs +1 -1
  121. package/dist/vb.mjs +1 -1
  122. package/dist/vhdl.mjs +1 -1
  123. package/dist/viml.mjs +1 -1
  124. package/dist/vyper.mjs +1 -1
  125. package/dist/wasm.mjs +1 -1
  126. package/dist/wikitext.mjs +1 -1
  127. package/dist/wolfram.mjs +1 -1
  128. package/dist/zenscript.mjs +1 -1
  129. package/package.json +4 -4
package/dist/vyper.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Vyper",name:"vyper",patterns:[{include:"#statement"},{include:"#expression"},{include:"#reserved-names-vyper"}],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"},{match:/(?<!\.)\b(abi_encode|abi_decode|_abi_encode|_abi_decode|floor|ceil|convert|slice|len|concat|sha256|method_id|keccak256|ecrecover|ecadd|ecmul|extract32|as_wei_value|raw_call|blockhash|blobhash|bitwise_and|bitwise_or|bitwise_xor|bitwise_not|uint256_addmod|uint256_mulmod|unsafe_add|unsafe_sub|unsafe_mul|unsafe_div|pow_mod256|uint2str|isqrt|sqrt|shift|create_minimal_proxy_to|create_forwarder_to|create_copy_of|create_from_blueprint|min|max|empty|abs|min_value|max_value|epsilon)\b/dgv,name:"support.function.builtin.vyper"},{match:/(?<!\.)\b(send|print|breakpoint|selfdestruct|raw_call|raw_log|raw_revert|create_minimal_proxy_to|create_forwarder_to|create_copy_of|create_from_blueprint)\b/dgv,name:"support.function.builtin.lowlevel.vyper"},{match:/(?<!\.)\b(struct|enum|flag|event|interface|HashMap|DynArray|Bytes|String)\b/dgv,name:"support.type.reference.vyper"},{match:/(?<!\.)\b(nonreentrant|internal|view|pure|private|immutable|constant)\b/dgv,name:"support.function.builtin.modifiers.safe.vyper"},{match:/(?<!\.)\b(deploy|nonpayable|payable|external|modifying)\b/dgv,name:"support.function.builtin.modifiers.unsafe.vyper"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{patterns:[{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"},{match:/(?<!\.)\b(uint248|HashMap|bytes22|int88|bytes24|bytes11|int24|bytes28|bytes19|uint136|decimal|uint40|uint168|uint120|int112|bytes4|uint192|String|int104|bytes29|int120|uint232|bytes8|bool|bytes14|int56|uint32|int232|uint48|bytes17|bytes12|uint24|int160|int72|int256|uint56|uint80|uint104|uint144|uint200|bytes20|uint160|bytes18|bytes16|uint8|int40|Bytes|uint72|bytes2|bytes23|int48|bytes6|bytes13|int192|bytes15|uint96|address|uint64|uint88|bytes7|int64|bytes32|bytes30|int176|int248|uint128|int8|int136|int216|bytes31|int144|bytes1|int168|bytes5|uint216|int200|bytes25|uint112|int128|bytes10|uint16|DynArray|int16|int32|int208|int184|bytes9|int224|bytes3|int80|uint152|bytes21|int96|uint256|uint176|uint240|bytes27|bytes26|int240|uint224|uint184|uint208|int152)\b/dgv,name:"support.type.basetype.vyper"},{match:/(?<!\.)\b(max_int128|min_int128|nonlocal|babbage|_default_|___init___|await|indexed|____init____|true|constant|with|from|nonpayable|finally|enum|zero_wei|del|for|____default____|if|none|or|global|def|not|class|twei|struct|mwei|empty_bytes32|nonreentrant|transient|false|assert|event|pass|finney|init|lovelace|min_decimal|shannon|public|external|internal|flagunreachable|_init_|return|in|and|raise|try|gwei|break|zero_address|pwei|range|wei|while|ada|yield|as|immutable|continue|async|lambda|default|is|szabo|kwei|import|max_uint256|elif|___default___|else|except|max_decimal|interface|payable|ether)\b/dgv,name:"support.type.keywords.vyper"},{match:/(?<!\.)\b(ZERO_ADDRESS|EMPTY_BYTES32|MAX_INT128|MIN_INT128|MAX_DECIMAL|MIN_DECIMAL|MIN_UINT256|MAX_UINT256|super)\b/dgv,name:"support.type.constant.vyper"},{match:/(?<!\.)\b(implements|uses|initializes|exports)\b/dgv,name:"entity.other.inherited-class.modules.vyper"}]},"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"},{include:"#special-variables-types"}]},"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])([BUbu])?('''|""")/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])([BUbu])?((["']))/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([BUbu])([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([BUbu])([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:/(=(![ars])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![ars])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![ars])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)(?=\})/dgv},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:/(=?(?:![ars])?)(:)(?=[^\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:/([\%EFGXb-gnosx])(?=\})/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:/(=(![ars])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![ars])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![ars])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)(?=\})/dgv},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:/(=?(?:![ars])?)(:)(?=[^\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:/([\%EFGXb-gnosx])(?=\})/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:[{match:/\b(__default__)\b/dgv,name:"entity.name.function.fallback.vyper"},{match:/\b(__init__)\b/dgv,name:"entity.name.function.constructor.vyper"},{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"},{include:"#special-variables-types"}]},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"},{include:"#special-variables-types"}]},"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:/\\([ABDSWZbdsw])/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:/\(\?[Laimsux]+\)/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"}]},"reserved-names-vyper":{match:/\b(max_int128|min_int128|nonlocal|babbage|_default_|___init___|await|indexed|____init____|true|constant|with|from|nonpayable|finally|enum|zero_wei|del|for|____default____|if|none|or|global|def|not|class|twei|struct|mwei|empty_bytes32|nonreentrant|transient|false|assert|event|pass|finney|init|lovelace|min_decimal|shannon|public|external|internal|flagunreachable|_init_|return|in|and|raise|try|gwei|break|zero_address|pwei|range|wei|while|ada|yield|as|immutable|continue|async|lambda|default|is|szabo|kwei|import|max_uint256|elif|___default___|else|except|max_decimal|interface|payable|ether)\b/dgv,name:"name.reserved.vyper"},"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},"special-variables-types":{patterns:[{match:/(?<!\.)\b(log)\b/dgv,name:"variable.language.special.log.vyper"},{match:/(?<!\.)\b(msg)\b/dgv,name:"variable.language.special.msg.vyper"},{match:/(?<!\.)\b(block)\b/dgv,name:"variable.language.special.block.vyper"},{match:/(?<!\.)\b(tx)\b/dgv,name:"variable.language.special.tx.vyper"},{match:/(?<!\.)\b(chain)\b/dgv,name:"variable.language.special.chain.vyper"},{match:/(?<!\.)\b(extcall)\b/dgv,name:"variable.language.special.extcall.vyper"},{match:/(?<!\.)\b(staticcall)\b/dgv,name:"variable.language.special.staticcall.vyper"},{match:/\b(__interface__)\b/dgv,name:"variable.language.special.__interface__.vyper"}]},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}]*|\[[^\]"']+\])*(![ars])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)?\})/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}]*|\[[^\]"']+\])*(![ars])?(:)[^\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}+|\*))?([Lhl])?[\%EFGXa-giorsux])/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.vyper",embeddedLangs:undefined,aliases:["vy"]})
3
+ const lang = Object.freeze({displayName:"Vyper",name:"vyper",patterns:[{include:"#statement"},{include:"#expression"},{include:"#reserved-names-vyper"}],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"},{match:/(?<!\.)\b(abi_encode|abi_decode|_abi_encode|_abi_decode|floor|ceil|convert|slice|len|concat|sha256|method_id|keccak256|ecrecover|ecadd|ecmul|extract32|as_wei_value|raw_call|blockhash|blobhash|bitwise_and|bitwise_or|bitwise_xor|bitwise_not|uint256_addmod|uint256_mulmod|unsafe_add|unsafe_sub|unsafe_mul|unsafe_div|pow_mod256|uint2str|isqrt|sqrt|shift|create_minimal_proxy_to|create_forwarder_to|create_copy_of|create_from_blueprint|min|max|empty|abs|min_value|max_value|epsilon)\b/dgv,name:"support.function.builtin.vyper"},{match:/(?<!\.)\b(send|print|breakpoint|selfdestruct|raw_call|raw_log|raw_revert|create_minimal_proxy_to|create_forwarder_to|create_copy_of|create_from_blueprint)\b/dgv,name:"support.function.builtin.lowlevel.vyper"},{match:/(?<!\.)\b(struct|enum|flag|event|interface|HashMap|DynArray|Bytes|String)\b/dgv,name:"support.type.reference.vyper"},{match:/(?<!\.)\b(nonreentrant|internal|view|pure|private|immutable|constant)\b/dgv,name:"support.function.builtin.modifiers.safe.vyper"},{match:/(?<!\.)\b(deploy|nonpayable|payable|external|modifying)\b/dgv,name:"support.function.builtin.modifiers.unsafe.vyper"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{patterns:[{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"},{match:/(?<!\.)\b(uint248|HashMap|bytes22|int88|bytes24|bytes11|int24|bytes28|bytes19|uint136|decimal|uint40|uint168|uint120|int112|bytes4|uint192|String|int104|bytes29|int120|uint232|bytes8|bool|bytes14|int56|uint32|int232|uint48|bytes17|bytes12|uint24|int160|int72|int256|uint56|uint80|uint104|uint144|uint200|bytes20|uint160|bytes18|bytes16|uint8|int40|Bytes|uint72|bytes23??|int48|bytes6|bytes13|int192|bytes15|uint96|address|uint64|uint88|bytes7|int64|bytes32|bytes30|int176|int248|uint128|int8|int136|int216|bytes31|int144|bytes1|int168|bytes5|uint216|int200|bytes25|uint112|int128|bytes10|uint16|DynArray|int16|int32|int208|int184|bytes9|int224|bytes3|int80|uint152|bytes21|int96|uint256|uint176|uint240|bytes27|bytes26|int240|uint224|uint184|uint208|int152)\b/dgv,name:"support.type.basetype.vyper"},{match:/(?<!\.)\b(max_int128|min_int128|nonlocal|babbage|_default_|___init___|await|indexed|____init____|true|constant|with|from|nonpayable|finally|enum|zero_wei|del|for|____default____|if|none|or|global|def|not|class|twei|struct|mwei|empty_bytes32|nonreentrant|transient|false|assert|event|pass|finney|init|lovelace|min_decimal|shannon|public|external|internal|flagunreachable|_init_|return|in|and|raise|try|gwei|break|zero_address|pwei|range|wei|while|ada|yield|as|immutable|continue|async|lambda|default|is|szabo|kwei|import|max_uint256|elif|___default___|else|except|max_decimal|interface|payable|ether)\b/dgv,name:"support.type.keywords.vyper"},{match:/(?<!\.)\b(ZERO_ADDRESS|EMPTY_BYTES32|MAX_INT128|MIN_INT128|MAX_DECIMAL|MIN_DECIMAL|MIN_UINT256|MAX_UINT256|super)\b/dgv,name:"support.type.constant.vyper"},{match:/(?<!\.)\b(implements|uses|initializes|exports)\b/dgv,name:"entity.other.inherited-class.modules.vyper"}]},"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"},{include:"#special-variables-types"}]},"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])([BUbu])?('''|""")/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])([BUbu])?((["']))/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([BUbu])([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([BUbu])([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:/(=(![ars])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![ars])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![ars])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)(?=\})/dgv},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:/(=?(?:![ars])?)(:)(?=[^\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:/([\%EFGXb-gnosx])(?=\})/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:/(=(![ars])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![ars])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![ars])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)(?=\})/dgv},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:/(=?(?:![ars])?)(:)(?=[^\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:/([\%EFGXb-gnosx])(?=\})/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:[{match:/\b(__default__)\b/dgv,name:"entity.name.function.fallback.vyper"},{match:/\b(__init__)\b/dgv,name:"entity.name.function.constructor.vyper"},{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"},{include:"#special-variables-types"}]},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|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|len??|long|lshift|lt|missing|mod|mul|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"},{include:"#special-variables-types"}]},"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:/\\([ABDSWZbdsw])/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:/\(\?[Laimsux]+\)/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"}]},"reserved-names-vyper":{match:/\b(max_int128|min_int128|nonlocal|babbage|_default_|___init___|await|indexed|____init____|true|constant|with|from|nonpayable|finally|enum|zero_wei|del|for|____default____|if|none|or|global|def|not|class|twei|struct|mwei|empty_bytes32|nonreentrant|transient|false|assert|event|pass|finney|init|lovelace|min_decimal|shannon|public|external|internal|flagunreachable|_init_|return|in|and|raise|try|gwei|break|zero_address|pwei|range|wei|while|ada|yield|as|immutable|continue|async|lambda|default|is|szabo|kwei|import|max_uint256|elif|___default___|else|except|max_decimal|interface|payable|ether)\b/dgv,name:"name.reserved.vyper"},"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},"special-variables-types":{patterns:[{match:/(?<!\.)\b(log)\b/dgv,name:"variable.language.special.log.vyper"},{match:/(?<!\.)\b(msg)\b/dgv,name:"variable.language.special.msg.vyper"},{match:/(?<!\.)\b(block)\b/dgv,name:"variable.language.special.block.vyper"},{match:/(?<!\.)\b(tx)\b/dgv,name:"variable.language.special.tx.vyper"},{match:/(?<!\.)\b(chain)\b/dgv,name:"variable.language.special.chain.vyper"},{match:/(?<!\.)\b(extcall)\b/dgv,name:"variable.language.special.extcall.vyper"},{match:/(?<!\.)\b(staticcall)\b/dgv,name:"variable.language.special.staticcall.vyper"},{match:/\b(__interface__)\b/dgv,name:"variable.language.special.__interface__.vyper"}]},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}]*|\[[^\]"']+\])*(![ars])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)?\})/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}]*|\[[^\]"']+\])*(![ars])?(:)[^\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}+|\*))?([Lhl])?[\%EFGXa-giorsux])/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.vyper",embeddedLangs:undefined,aliases:["vy"]})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/wasm.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"WebAssembly",name:"wasm",patterns:[{include:"#comments"},{include:"#strings"},{include:"#instructions"},{include:"#types"},{include:"#modules"},{include:"#constants"},{include:"#invalid"}],repository:{comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.wat"}},match:/(;;)[^\n]*(?=\n?$)/dgv,name:"comment.line.wat"},{begin:/\(;/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.wat"}},end:/;\)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.wat"}},name:"comment.block.wat"}]},constants:{patterns:[{patterns:[{captures:{"1":{name:"support.type.wat"}},match:/\b(i8x16)(?:\p{space}+0x\p{AHex}{1,2}){16}\b/dgv,name:"constant.numeric.vector.wat"},{captures:{"1":{name:"support.type.wat"}},match:/\b(i16x8)(?:\p{space}+0x\p{AHex}{1,4}){8}\b/dgv,name:"constant.numeric.vector.wat"},{captures:{"1":{name:"support.type.wat"}},match:/\b(i32x4)(?:\p{space}+0x\p{AHex}{1,8}){4}\b/dgv,name:"constant.numeric.vector.wat"},{captures:{"1":{name:"support.type.wat"}},match:/\b(i64x2)(?:\p{space}+0x\p{AHex}{1,16}){2}\b/dgv,name:"constant.numeric.vector.wat"}]},{patterns:[{match:/[\-\+]?\b[0-9][0-9]*(?:\.[0-9][0-9]*)?(?:[Ee][\-\+]?[0-9]+)?\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\b0x(\p{AHex}*\.\p{AHex}+|\p{AHex}+\.?)[Pp][\-\+]?[0-9]+\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\binf\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\bnan:0x\p{AHex}\p{AHex}*\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\b(?:0x\p{AHex}\p{AHex}*|\p{Nd}\p{Nd}*)\b/dgv,name:"constant.numeric.integer.wat"}]}]},instructions:{patterns:[{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(i(?:32|64))\.trunc_sat_f(?:32|64)_[su]\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(i32)\.extend(?:8|16)_s\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i64)\.extend(?:8|16|32)_s\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(memory)\.(?:copy|fill|init|drop)\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(v128)\.(?:const|and|or|xor|not|andnot|bitselect|load|store)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i8x16)\.(?:shuffle|swizzle|splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane_[su]|add_saturate_[su]|sub_saturate_[su]|avgr_u|narrow_i16x8_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i16x8)\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane_[su]|add_saturate_[su]|sub_saturate_[su]|avgr_u|load8x8_[su]|narrow_i32x4_[su]|widen_(low|high)_i8x16_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i32x4)\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane|load16x4_[su]|trunc_sat_f32x4_[su]|widen_(low|high)_i16x8_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i64x2)\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|extract_lane|load32x2_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(f32x4)\.(?:splat|replace_lane|add|sub|mul|neg|extract_lane|eq|ne|lt|le|gt|ge|abs|min|max|div|sqrt|convert_i32x4_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(f64x2)\.(?:splat|replace_lane|add|sub|mul|neg|extract_lane|eq|ne|lt|le|gt|ge|abs|min|max|div|sqrt)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v8x16)\.(?:load_splat|shuffle|swizzle)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v16x8)\.load_splat\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v32x4)\.load_splat\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v64x2)\.load_splat\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"},"2":{name:"support.class.wat"},"3":{name:"support.class.wat"},"4":{name:"support.class.wat"}},match:/\b(i32)\.(atomic)\.(?:load(?:8_u|16_u)?|store(?:8|16)?|wait|(rmw)\.(?:add|sub|and|or|xor|xchg|cmpxchg)|(rmw(?:8|16))\.(?:add|sub|and|or|xor|xchg|cmpxchg)_u)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"},"2":{name:"support.class.wat"},"3":{name:"support.class.wat"},"4":{name:"support.class.wat"}},match:/\b(i64)\.(atomic)\.(?:load(?:(?:8|16|32)_u)?|store(?:8|16|32)?|wait|(rmw)\.(?:add|sub|and|or|xor|xchg|cmpxchg)|(rmw(?:8|16|32))\.(?:add|sub|and|or|xor|xchg|cmpxchg)_u)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(atomic)\.(?:notify|fence)\b/dgv,name:"keyword.operator.word.wat"},{match:/\bshared\b/dgv,name:"storage.modifier.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(ref)\.(?:null|is_null|func|extern)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(table)\.(?:get|size|grow|fill|init|copy)\b/dgv,name:"keyword.operator.word.wat"},{match:/\b(?:extern|func|null)ref\b/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\breturn_call(?:_indirect)?\b/dgv,name:"keyword.control.wat"}]},{patterns:[{match:/\b(?:try|catch|throw|rethrow|br_on_exn)\b/dgv,name:"keyword.control.wat"},{match:/(?<=\()event\b/dgv,name:"storage.type.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(i32|i64|f32|f64|externref|funcref|nullref|exnref)\.p(?:ush|op)\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i32)\.(?:load|load(?:8|16)(?:_[su])?|store(?:8|16)?)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i64)\.(?:load|load(?:8|16|32)(?:_[su])?|store(?:8|16|32)?)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f(?:32|64))\.(?:load|store)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.memory.wat"}},match:/\b(memory)\.(?:size|grow)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"entity.other.attribute-name.wat"}},match:/\b(offset|align)=\b/dgv},{captures:{"1":{name:"support.class.local.wat"}},match:/\b(local)\.(?:get|set|tee)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.global.wat"}},match:/\b(global)\.[gs]et\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i(?:32|64))\.(const|eqz|eq|ne|lt_[su]|gt_[su]|le_[su]|ge_[su]|clz|ctz|popcnt|add|sub|mul|div_[su]|rem_[su]|and|or|xor|shl|shr_[su]|rotl|rotr)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f(?:32|64))\.(const|eq|ne|lt|gt|le|ge|abs|neg|ceil|floor|trunc|nearest|sqrt|add|sub|mul|div|min|max|copysign)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i32)\.(wrap_i64|trunc_(f(?:32|64))_[su]|reinterpret_f32)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i64)\.(extend_i32_[su]|trunc_f(32|64)_[su]|reinterpret_f64)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f32)\.(convert_i(32|64)_[su]|demote_f64|reinterpret_i32)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f64)\.(convert_i(32|64)_[su]|promote_f32|reinterpret_i64)\b/dgv,name:"keyword.operator.word.wat"},{match:/\b(?:unreachable|nop|block|loop|if|then|else|end|br|br_if|br_table|return|call|call_indirect)\b/dgv,name:"keyword.control.wat"},{match:/\b(?:drop|select)\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(ref)\.(?:eq|test|cast)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(struct)\.(?:new_canon|new_canon_default|get|get_s|get_u|set)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(array)\.(?:new_canon|new_canon_default|get|get_s|get_u|set|len|new_canon_fixed|new_canon_data|new_canon_elem)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i31)\.(?:new|get_s|get_u)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\bbr_on_(?:non_null|cast|cast_fail)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(extern)\.(?:in|ex)ternalize\b/dgv,name:"keyword.operator.word.wat"}]}]},invalid:{patterns:[{match:/[^\(\)\p{space}]+/dgv,name:"invalid.wat"}]},modules:{patterns:[{patterns:[{captures:{"1":{name:"storage.modifier.wat"}},match:/(?<=\(data)\p{space}+(passive)\b/dgv}]},{patterns:[{match:/(?<=\()(?:module|import|export|memory|data|table|elem|start|func|type|param|result|global|local)\b/dgv,name:"storage.type.wat"},{captures:{"1":{name:"storage.modifier.wat"}},match:/(?<=\()\p{space}*(mut)\b/dgv,name:"storage.modifier.wat"},{captures:{"1":{name:"entity.name.function.wat"}},match:/(?<=\(func|\(start|call|return_call|ref\.func)\p{space}+(\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*)/dgv},{begin:/\)\p{space}+(\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*)/dgv,beginCaptures:{"1":{name:"entity.name.function.wat"}},end:/\)/dgv,patterns:[{match:/(?<=\p{space})\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*/dgv,name:"entity.name.function.wat"}]},{captures:{"1":{name:"support.type.function.wat"}},match:/(?<=\(type)\p{space}+(\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*)/dgv},{match:/\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*\b/dgv,name:"variable.other.wat"}]}]},strings:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"string.quoted.double.wat",patterns:[{match:/\\(["'\\nt]|\p{AHex}{2})/dgv,name:"constant.character.escape.wat"}]},types:{patterns:[{patterns:[{match:/\bv128\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:extern|func|null)ref\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\bexnref\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:i32|i64|f32|f64)\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:i8|i16|ref|funcref|externref|anyref|eqref|i31ref|nullfuncref|nullexternref|structref|arrayref|nullref)\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:type|func|extern|any|eq|nofunc|noextern|struct|array|none)\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:struct|array|sub|final|rec|field|mut)\b(?!\.)/dgv,name:"entity.name.type.wat"}]}]}},scopeName:"source.wat",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"WebAssembly",name:"wasm",patterns:[{include:"#comments"},{include:"#strings"},{include:"#instructions"},{include:"#types"},{include:"#modules"},{include:"#constants"},{include:"#invalid"}],repository:{comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.wat"}},match:/(;;)[^\n]*(?=\n?$)/dgv,name:"comment.line.wat"},{begin:/\(;/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.wat"}},end:/;\)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.wat"}},name:"comment.block.wat"}]},constants:{patterns:[{patterns:[{captures:{"1":{name:"support.type.wat"}},match:/\b(i8x16)(?:\p{space}+0x\p{AHex}{1,2}){16}\b/dgv,name:"constant.numeric.vector.wat"},{captures:{"1":{name:"support.type.wat"}},match:/\b(i16x8)(?:\p{space}+0x\p{AHex}{1,4}){8}\b/dgv,name:"constant.numeric.vector.wat"},{captures:{"1":{name:"support.type.wat"}},match:/\b(i32x4)(?:\p{space}+0x\p{AHex}{1,8}){4}\b/dgv,name:"constant.numeric.vector.wat"},{captures:{"1":{name:"support.type.wat"}},match:/\b(i64x2)(?:\p{space}+0x\p{AHex}{1,16}){2}\b/dgv,name:"constant.numeric.vector.wat"}]},{patterns:[{match:/[\-\+]?\b[0-9][0-9]*(?:\.[0-9][0-9]*)?(?:[Ee][\-\+]?[0-9]+)?\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\b0x(\p{AHex}*\.\p{AHex}+|\p{AHex}+\.?)[Pp][\-\+]?[0-9]+\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\binf\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\bnan:0x\p{AHex}\p{AHex}*\b/dgv,name:"constant.numeric.float.wat"},{match:/[\-\+]?\b(?:0x\p{AHex}\p{AHex}*|\p{Nd}\p{Nd}*)\b/dgv,name:"constant.numeric.integer.wat"}]}]},instructions:{patterns:[{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(i(?:32|64))\.trunc_sat_f(?:32|64)_[su]\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(i32)\.extend(?:8|16)_s\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i64)\.extend(?:8|16|32)_s\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(memory)\.(?:copy|fill|init|drop)\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(v128)\.(?:const|and|or|xor|not|andnot|bitselect|load|store)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i8x16)\.(?:shuffle|swizzle|splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane_[su]|add_saturate_[su]|sub_saturate_[su]|avgr_u|narrow_i16x8_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i16x8)\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane_[su]|add_saturate_[su]|sub_saturate_[su]|avgr_u|load8x8_[su]|narrow_i32x4_[su]|widen_(low|high)_i8x16_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i32x4)\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane|load16x4_[su]|trunc_sat_f32x4_[su]|widen_(low|high)_i16x8_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i64x2)\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|extract_lane|load32x2_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(f32x4)\.(?:splat|replace_lane|add|sub|mul|neg|extract_lane|eq|ne|lt|le|gt|ge|abs|min|max|div|sqrt|convert_i32x4_[su])\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(f64x2)\.(?:splat|replace_lane|add|sub|mul|neg|extract_lane|eq|ne|lt|le|gt|ge|abs|min|max|div|sqrt)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v8x16)\.(?:load_splat|shuffle|swizzle)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v16x8)\.load_splat\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v32x4)\.load_splat\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(v64x2)\.load_splat\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"},"2":{name:"support.class.wat"},"3":{name:"support.class.wat"},"4":{name:"support.class.wat"}},match:/\b(i32)\.(atomic)\.(?:load(?:8_u|16_u)?|store(?:8|16)?|wait|(rmw)\.(?:add|sub|and|or|xor|xchg|cmpxchg)|(rmw(?:8|16))\.(?:add|sub|and|or|xor|xchg|cmpxchg)_u)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"},"2":{name:"support.class.wat"},"3":{name:"support.class.wat"},"4":{name:"support.class.wat"}},match:/\b(i64)\.(atomic)\.(?:load(?:(?:8|16|32)_u)?|store(?:8|16|32)?|wait|(rmw)\.(?:add|sub|and|or|xor|xchg|cmpxchg)|(rmw(?:8|16|32))\.(?:add|sub|and|or|xor|xchg|cmpxchg)_u)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(atomic)\.(?:notify|fence)\b/dgv,name:"keyword.operator.word.wat"},{match:/\bshared\b/dgv,name:"storage.modifier.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(ref)\.(?:null|is_null|func|extern)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(table)\.(?:get|size|grow|fill|init|copy)\b/dgv,name:"keyword.operator.word.wat"},{match:/\b(?:extern|func|null)ref\b/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\breturn_call(?:_indirect)?\b/dgv,name:"keyword.control.wat"}]},{patterns:[{match:/\b(?:try|catch|throw|rethrow|br_on_exn)\b/dgv,name:"keyword.control.wat"},{match:/(?<=\()event\b/dgv,name:"storage.type.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(i32|i64|f32|f64|externref|funcref|nullref|exnref)\.p(?:ush|op)\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i32)\.(?:load|load(?:8|16)(?:_[su])?|store(?:8|16)?)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i64)\.(?:load|load(?:8|16|32)(?:_[su])?|store(?:8|16|32)?)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f(?:32|64))\.(?:load|store)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.memory.wat"}},match:/\b(memory)\.(?:size|grow)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"entity.other.attribute-name.wat"}},match:/\b(offset|align)=\b/dgv},{captures:{"1":{name:"support.class.local.wat"}},match:/\b(local)\.(?:get|set|tee)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.global.wat"}},match:/\b(global)\.[gs]et\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i(?:32|64))\.(const|eqz?|ne|lt_[su]|gt_[su]|le_[su]|ge_[su]|clz|ctz|popcnt|add|sub|mul|div_[su]|rem_[su]|and|or|xor|shl|shr_[su]|rotl|rotr)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f(?:32|64))\.(const|eq|ne|lt|gt|le|ge|abs|neg|ceil|floor|trunc|nearest|sqrt|add|sub|mul|div|min|max|copysign)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i32)\.(wrap_i64|trunc_(f(?:32|64))_[su]|reinterpret_f32)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(i64)\.(extend_i32_[su]|trunc_f(32|64)_[su]|reinterpret_f64)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f32)\.(convert_i(32|64)_[su]|demote_f64|reinterpret_i32)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.type.wat"}},match:/\b(f64)\.(convert_i(32|64)_[su]|promote_f32|reinterpret_i64)\b/dgv,name:"keyword.operator.word.wat"},{match:/\b(?:unreachable|nop|block|loop|if|then|else|end|br|br_if|br_table|return|call|call_indirect)\b/dgv,name:"keyword.control.wat"},{match:/\b(?:drop|select)\b/dgv,name:"keyword.operator.word.wat"}]},{patterns:[{captures:{"1":{name:"support.class.wat"}},match:/\b(ref)\.(?:eq|test|cast)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(struct)\.(?:new_canon|new_canon_default|get|get_s|get_u|set)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(array)\.(?:new_canon|new_canon_default|get|get_s|get_u|set|len|new_canon_fixed|new_canon_data|new_canon_elem)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(i31)\.(?:new|get_s|get_u)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\bbr_on_(?:non_null|cast|cast_fail)\b/dgv,name:"keyword.operator.word.wat"},{captures:{"1":{name:"support.class.wat"}},match:/\b(extern)\.(?:in|ex)ternalize\b/dgv,name:"keyword.operator.word.wat"}]}]},invalid:{patterns:[{match:/[^\(\)\p{space}]+/dgv,name:"invalid.wat"}]},modules:{patterns:[{patterns:[{captures:{"1":{name:"storage.modifier.wat"}},match:/(?<=\(data)\p{space}+(passive)\b/dgv}]},{patterns:[{match:/(?<=\()(?:module|import|export|memory|data|table|elem|start|func|type|param|result|global|local)\b/dgv,name:"storage.type.wat"},{captures:{"1":{name:"storage.modifier.wat"}},match:/(?<=\()\p{space}*(mut)\b/dgv,name:"storage.modifier.wat"},{captures:{"1":{name:"entity.name.function.wat"}},match:/(?<=\(func|\(start|call|return_call|ref\.func)\p{space}+(\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*)/dgv},{begin:/\)\p{space}+(\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*)/dgv,beginCaptures:{"1":{name:"entity.name.function.wat"}},end:/\)/dgv,patterns:[{match:/(?<=\p{space})\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*/dgv,name:"entity.name.function.wat"}]},{captures:{"1":{name:"support.type.function.wat"}},match:/(?<=\(type)\p{space}+(\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*)/dgv},{match:/\$[\!\#-'\*\+\--\:\<-Z\\\^-z\|\~]*\b/dgv,name:"variable.other.wat"}]}]},strings:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"string.quoted.double.wat",patterns:[{match:/\\(["'\\nt]|\p{AHex}{2})/dgv,name:"constant.character.escape.wat"}]},types:{patterns:[{patterns:[{match:/\bv128\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:extern|func|null)ref\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\bexnref\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:i32|i64|f32|f64)\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:i8|i16|ref|funcref|externref|anyref|eqref|i31ref|nullfuncref|nullexternref|structref|arrayref|nullref)\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:type|func|extern|any|eq|nofunc|noextern|struct|array|none)\b(?!\.)/dgv,name:"entity.name.type.wat"}]},{patterns:[{match:/\b(?:struct|array|sub|final|rec|field|mut)\b(?!\.)/dgv,name:"entity.name.type.wat"}]}]}},scopeName:"source.wat",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang