@shikijs/langs-precompiled 1.26.1 → 1.26.2

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 (153) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/angular-expression.mjs +1 -1
  4. package/dist/angular-let-declaration.mjs +1 -1
  5. package/dist/angular-ts.mjs +1 -1
  6. package/dist/apex.mjs +1 -1
  7. package/dist/apl.mjs +1 -1
  8. package/dist/applescript.mjs +1 -1
  9. package/dist/ara.mjs +1 -1
  10. package/dist/asm.mjs +1 -1
  11. package/dist/astro.mjs +1 -1
  12. package/dist/awk.mjs +1 -1
  13. package/dist/ballerina.mjs +1 -1
  14. package/dist/beancount.mjs +1 -1
  15. package/dist/berry.mjs +1 -1
  16. package/dist/bicep.mjs +1 -1
  17. package/dist/blade.mjs +1 -1
  18. package/dist/c.mjs +1 -1
  19. package/dist/cadence.mjs +1 -1
  20. package/dist/cairo.mjs +1 -1
  21. package/dist/clojure.mjs +1 -1
  22. package/dist/cobol.mjs +1 -1
  23. package/dist/codeql.mjs +2 -6
  24. package/dist/coffee.mjs +1 -1
  25. package/dist/common-lisp.mjs +1 -1
  26. package/dist/coq.mjs +1 -1
  27. package/dist/cpp-macro.mjs +1 -1
  28. package/dist/cpp.mjs +1 -1
  29. package/dist/crystal.mjs +1 -1
  30. package/dist/css.mjs +1 -1
  31. package/dist/cue.mjs +1 -1
  32. package/dist/d.mjs +1 -1
  33. package/dist/dart.mjs +1 -1
  34. package/dist/dax.mjs +1 -1
  35. package/dist/dotenv.mjs +1 -1
  36. package/dist/dream-maker.mjs +1 -1
  37. package/dist/elm.mjs +1 -1
  38. package/dist/emacs-lisp.mjs +1 -1
  39. package/dist/fish.mjs +1 -1
  40. package/dist/fluent.mjs +1 -1
  41. package/dist/fortran-free-form.mjs +1 -1
  42. package/dist/fsharp.mjs +1 -1
  43. package/dist/gdresource.mjs +1 -1
  44. package/dist/gdscript.mjs +1 -1
  45. package/dist/genie.mjs +1 -1
  46. package/dist/gleam.mjs +1 -1
  47. package/dist/glimmer-js.mjs +1 -1
  48. package/dist/glimmer-ts.mjs +1 -1
  49. package/dist/gnuplot.mjs +1 -1
  50. package/dist/go.mjs +1 -1
  51. package/dist/graphql.mjs +1 -1
  52. package/dist/groovy.mjs +1 -1
  53. package/dist/hack.mjs +10 -2
  54. package/dist/handlebars.mjs +1 -1
  55. package/dist/haskell.mjs +1 -1
  56. package/dist/haxe.mjs +1 -1
  57. package/dist/hcl.mjs +1 -1
  58. package/dist/hlsl.mjs +1 -1
  59. package/dist/html.mjs +1 -1
  60. package/dist/http.mjs +1 -1
  61. package/dist/hy.mjs +1 -1
  62. package/dist/imba.mjs +1 -1
  63. package/dist/java.mjs +1 -1
  64. package/dist/javascript.mjs +1 -1
  65. package/dist/jinja.mjs +1 -1
  66. package/dist/jison.mjs +1 -1
  67. package/dist/jssm.mjs +1 -1
  68. package/dist/jsx.mjs +1 -1
  69. package/dist/julia.mjs +1 -1
  70. package/dist/kusto.mjs +1 -1
  71. package/dist/lean.mjs +1 -1
  72. package/dist/less.mjs +1 -1
  73. package/dist/liquid.mjs +1 -1
  74. package/dist/log.mjs +1 -1
  75. package/dist/lua.mjs +1 -1
  76. package/dist/luau.mjs +1 -1
  77. package/dist/markdown.mjs +1 -1
  78. package/dist/matlab.mjs +1 -1
  79. package/dist/mdc.mjs +1 -1
  80. package/dist/mdx.mjs +1 -1
  81. package/dist/mermaid.mjs +1 -1
  82. package/dist/mipsasm.mjs +1 -1
  83. package/dist/mojo.mjs +1 -1
  84. package/dist/move.mjs +1 -1
  85. package/dist/nextflow.mjs +1 -1
  86. package/dist/nginx.mjs +1 -1
  87. package/dist/nim.mjs +1 -1
  88. package/dist/nix.mjs +1 -1
  89. package/dist/nushell.mjs +1 -1
  90. package/dist/objective-c.mjs +1 -1
  91. package/dist/objective-cpp.mjs +1 -1
  92. package/dist/ocaml.mjs +1 -1
  93. package/dist/perl.mjs +1 -1
  94. package/dist/php.mjs +1 -1
  95. package/dist/polar.mjs +1 -1
  96. package/dist/postcss.mjs +1 -1
  97. package/dist/powershell.mjs +1 -1
  98. package/dist/prisma.mjs +1 -1
  99. package/dist/prolog.mjs +1 -1
  100. package/dist/proto.mjs +1 -1
  101. package/dist/pug.mjs +1 -1
  102. package/dist/puppet.mjs +1 -1
  103. package/dist/python.mjs +1 -1
  104. package/dist/r.mjs +1 -1
  105. package/dist/racket.mjs +1 -1
  106. package/dist/reg.mjs +1 -1
  107. package/dist/regexp.mjs +1 -1
  108. package/dist/rel.mjs +1 -1
  109. package/dist/riscv.mjs +1 -1
  110. package/dist/ruby.mjs +1 -1
  111. package/dist/sas.mjs +1 -1
  112. package/dist/sass.mjs +2 -4
  113. package/dist/scala.mjs +1 -1
  114. package/dist/scheme.mjs +1 -1
  115. package/dist/shaderlab.mjs +1 -1
  116. package/dist/shellscript.mjs +1 -1
  117. package/dist/smalltalk.mjs +1 -1
  118. package/dist/solidity.mjs +1 -1
  119. package/dist/ssh-config.mjs +1 -1
  120. package/dist/stata.mjs +1 -1
  121. package/dist/stylus.mjs +1 -1
  122. package/dist/svelte.mjs +1 -1
  123. package/dist/system-verilog.mjs +1 -1
  124. package/dist/systemd.mjs +1 -1
  125. package/dist/tcl.mjs +1 -1
  126. package/dist/templ.mjs +1 -1
  127. package/dist/terraform.mjs +1 -1
  128. package/dist/tex.mjs +1 -1
  129. package/dist/toml.mjs +1 -1
  130. package/dist/tsx.mjs +1 -1
  131. package/dist/turtle.mjs +1 -1
  132. package/dist/twig.mjs +1 -1
  133. package/dist/typescript.mjs +1 -1
  134. package/dist/typespec.mjs +1 -1
  135. package/dist/typst.mjs +1 -1
  136. package/dist/v.mjs +1 -1
  137. package/dist/vala.mjs +1 -1
  138. package/dist/vb.mjs +1 -1
  139. package/dist/verilog.mjs +1 -1
  140. package/dist/vhdl.mjs +1 -1
  141. package/dist/viml.mjs +1 -1
  142. package/dist/vue-html.mjs +1 -1
  143. package/dist/vue.mjs +1 -1
  144. package/dist/vyper.mjs +1 -1
  145. package/dist/wasm.mjs +1 -1
  146. package/dist/wgsl.mjs +1 -1
  147. package/dist/wikitext.mjs +1 -1
  148. package/dist/wolfram.mjs +1 -1
  149. package/dist/xml.mjs +1 -1
  150. package/dist/yaml.mjs +1 -1
  151. package/dist/zenscript.mjs +1 -1
  152. package/dist/zig.mjs +1 -1
  153. package/package.json +4 -4
package/dist/python.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Python",name:"python",patterns:[{include:"#statement"},{include:"#expression"}],repository:{"annotated-parameter":{begin:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.annotation.python"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"}]},"assignment-operator":{match:/<<=|>>=|\/\/=|\*\*=|\+=|-=|\/=|@=|\*=|%=|~=|\^=|&=|\|=|=(?!=)/dgv,name:"keyword.operator.assignment.python"},backticks:{begin:/`/dgv,end:/(?:`|(?<!\\)(\n))/dgv,name:"invalid.deprecated.backtick.python",patterns:[{include:"#expression"}]},"builtin-callables":{patterns:[{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#builtin-exceptions"},{include:"#builtin-functions"},{include:"#builtin-types"}]},"builtin-exceptions":{match:/(?<!\.)\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\b/dgv,name:"support.type.exception.python"},"builtin-functions":{patterns:[{match:/(?<!\.)\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\b/dgv,name:"support.function.builtin.python"},{match:/(?<!\.)\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\b/dgv,name:"variable.legacy.builtin.python"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{match:/(?<!\.)\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\b/dgv,name:"support.type.python"},"call-wrapper-inheritance":{begin:/\b(?=([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,comment:"same as a function call, but in inheritance context",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#inheritance-name"},{include:"#function-arguments"}]},"class-declaration":{patterns:[{begin:/\p{space}*(class)\p{space}+(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(:|\())/dgv,beginCaptures:{"1":{name:"storage.type.class.python"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.section.class.begin.python"}},name:"meta.class.python",patterns:[{include:"#class-name"},{include:"#class-inheritance"}]}]},"class-inheritance":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.inheritance.begin.python"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.inheritance.end.python"}},name:"meta.class.inheritance.python",patterns:[{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.arguments.python"},{match:/,/dgv,name:"punctuation.separator.inheritance.python"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"},{match:/\bmetaclass\b/dgv,name:"support.type.metaclass.python"},{include:"#illegal-names"},{include:"#class-kwarg"},{include:"#call-wrapper-inheritance"},{include:"#expression-base"},{include:"#member-access-class"},{include:"#inheritance-identifier"}]},"class-kwarg":{captures:{"1":{name:"entity.other.inherited-class.python variable.parameter.class.python"},"2":{name:"keyword.operator.assignment.python"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},"class-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.class.python"}]},codetags:{captures:{"1":{name:"keyword.codetag.notation.python"}},match:/\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\b/dgv},comments:{patterns:[{begin:new EmulatedRegExp("#\\p{space}*(type:)(?:(?=($E$\\p{space}*))\\2)(?!(?=$|\\n)|#)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.typehint.comment.python"},"1":{name:"comment.typehint.directive.notation.python"}},contentName:"meta.typehint.comment.python",end:/(?:(?=$|\n)|(?=#))/dgv,name:"comment.line.number-sign.python",patterns:[{match:/ignore(?=\p{space}*(?:(?=$|\n)|#))/dgvy,name:"comment.typehint.ignore.notation.python"},{match:/(?<!\.)\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\b/dgv,name:"comment.typehint.type.notation.python"},{match:/([\[\]\(\)\,\.\=\*]|(->))/dgv,name:"comment.typehint.punctuation.notation.python"},{match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"comment.typehint.variable.notation.python"}]},{include:"#comments-base"}]},"comments-base":{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.python"}},end:/((?=$|\n))/dgv,name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-double-three":{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.python"}},end:/((?=$|\n)|(?="""))/dgv,name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-single-three":{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.python"}},end:/((?=$|\n)|(?='''))/dgv,name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"curly-braces":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.dict.begin.python"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.dict.end.python"}},patterns:[{match:/:/dgv,name:"punctuation.separator.dict.python"},{include:"#expression"}]},decorator:{begin:/(?<=^|\n(?!$))\p{space}*((@))\p{space}*(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{name:"entity.name.function.decorator.python"},"2":{name:"punctuation.definition.decorator.python"}},end:/(\))([^\n]*?)(?=\p{space}*(?:#|(?=$|\n)))|(?=\n|#)/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"},"2":{name:"invalid.illegal.decorator.python"}},name:"meta.function.decorator.python",patterns:[{include:"#decorator-name"},{include:"#function-arguments"}]},"decorator-name":{patterns:[{include:"#builtin-callables"},{include:"#illegal-object-name"},{captures:{"2":{name:"punctuation.separator.period.python"}},match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)|(\.)/dgv,name:"entity.name.function.decorator.python"},{include:"#line-continuation"},{captures:{"1":{name:"invalid.illegal.decorator.python"}},match:/\p{space}*([^\(A-Za-z\p{space}_\.\#\\][^\n]*?)(?=#|(?=$|\n))/dgv,name:"invalid.illegal.decorator.python"}]},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:new EmulatedRegExp("(?<=^|\\n(?!$))\\p{space}*((?:>>>|\\.\\.\\.)\\p{space})(?=\\p{space}*\\P{space})","dgv",{"strategy":"line_or_search_start"})},"docstring-statement":{begin:/(?<=^|\n(?!$))(?=\p{space}*[rR]?('''|"""|'|"))/dgv,comment:"the string either terminates correctly or by the beginning of a new line (this is for single line docstrings that aren't terminated) AND it's not followed by another docstring",end:/((?<=(?!))|(?<=^|\n(?!$)))(?!\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}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-one-regexp-character-set"},{include:"#double-one-regexp-comments"},{include:"#regexp-flags"},{include:"#double-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-one-regexp-lookahead"},{include:"#double-one-regexp-lookahead-negative"},{include:"#double-one-regexp-lookbehind"},{include:"#double-one-regexp-lookbehind-negative"},{include:"#double-one-regexp-conditional"},{include:"#double-one-regexp-parentheses-non-capturing"},{include:"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?="""))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-three-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-three-regexp-character-set"},{include:"#double-three-regexp-comments"},{include:"#regexp-flags"},{include:"#double-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-three-regexp-lookahead"},{include:"#double-three-regexp-lookahead-negative"},{include:"#double-three-regexp-lookbehind"},{include:"#double-three-regexp-lookbehind-negative"},{include:"#double-three-regexp-conditional"},{include:"#double-three-regexp-parentheses-non-capturing"},{include:"#double-three-regexp-parentheses"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},ellipsis:{match:/\.\.\./dgv,name:"constant.other.ellipsis.python"},"escape-sequence":{match:/\\(x[0-9A-Fa-f]{2}|[0-7]{1,3}|[\\"'abfnrtv])/dgv,name:"constant.character.escape.python"},"escape-sequence-unicode":{patterns:[{match:/\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+?\})/dgv,name:"constant.character.escape.python"}]},expression:{comment:"All valid Python expressions",patterns:[{include:"#expression-base"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"expression-bare":{comment:"valid Python expressions w/o comments and line continuation",patterns:[{include:"#backticks"},{include:"#illegal-anno"},{include:"#literal"},{include:"#regexp"},{include:"#string"},{include:"#lambda"},{include:"#generator"},{include:"#illegal-operator"},{include:"#operator"},{include:"#curly-braces"},{include:"#item-access"},{include:"#list"},{include:"#odd-function-call"},{include:"#round-braces"},{include:"#function-call"},{include:"#builtin-functions"},{include:"#builtin-types"},{include:"#builtin-exceptions"},{include:"#magic-names"},{include:"#special-names"},{include:"#illegal-names"},{include:"#special-variables"},{include:"#ellipsis"},{include:"#punctuation"},{include:"#line-continuation"}]},"expression-base":{comment:"valid Python expressions with comments and line continuation",patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{comment:"All valid Python expressions, except comments and line continuation",patterns:[{include:"#expression-bare"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"fregexp-base-expression":{patterns:[{include:"#fregexp-quantifier"},{include:"#fstring-formatting-braces"},{match:/\{[^\n]*?\}/dgv},{include:"#regexp-base-common"}]},"fregexp-quantifier":{match:/\{\{(\p{Nd}+|\p{Nd}+,(\p{Nd}+)?|,\p{Nd}+)\}\}/dgv,name:"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{begin:/(\b[fF])([bBuU])?('''|""")/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{name:"invalid.illegal.prefix.python"},"3":{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{begin:/(\b[fF])([bBuU])?((['"]))/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{name:"invalid.illegal.prefix.python"},"3":{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-formatting":{patterns:[{include:"#fstring-formatting-braces"},{include:"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"2":{name:"invalid.illegal.brace.python"},"3":{name:"constant.character.format.placeholder.other.python"}},comment:"empty braces are illegal",match:/(\{)(\p{space}*?)(\})/dgv},{match:/(\{\{|\}\})/dgv,name:"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{match:/(\}(?!\}))/dgv,name:"invalid.illegal.brace.python"},"fstring-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#fstring-formatting"}]},"fstring-illegal-multi-brace":{patterns:[{include:"#impossible"}]},"fstring-illegal-single-brace":{begin:/(\{)(?=[^\n\}]*(?=$|\n)\n?)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"it is illegal to have a multiline brace inside a single-line string",end:/(\})|(?=\n)/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-multi-brace":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:/(\})/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-multi"},{include:"#f-expression"}]},"fstring-multi-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|'''|"""))|\n/dgv,name:"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{begin:/(\b[bBuU])([fF])('''|""")/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python string.quoted.multi.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{begin:/(\b[bBuU])([fF])((['"]))/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python string.quoted.single.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#fstring-formatting"}]},"fstring-raw-multi-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|'''|"""))|\n/dgv,name:"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{begin:/(\b(?:[rR][fF]|[fF][rR]))('''|""")/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{begin:/(\b(?:[rR][fF]|[fF][rR]))((['"]))/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-raw-single-core"}]},"fstring-raw-single-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|(['"])|((?<!\\)\n)))|\n/dgv,name:"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:/(\})|(?=\n)/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-single-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|(['"])|((?<!\\)\n)))|\n/dgv,name:"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{patterns:[{match:/(=(![rsa])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![rsa])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![rsa])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)(?=\})/dgv},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:/(=?(?:![rsa])?)(:)(?=[^\n]*?\{)/dgv,beginCaptures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},end:/(?=\})/dgv,patterns:[{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{match:/([bcdeEfFgGnosxX\%])(?=\})/dgv,name:"storage.type.format.python"},{match:/(\.\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(,)/dgv,name:"storage.type.format.python"},{match:/(\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(#)/dgv,name:"storage.type.format.python"},{match:/([\-\+ ])/dgv,name:"storage.type.format.python"},{match:/([\<\>\=\^])/dgv,name:"storage.type.format.python"},{match:/([\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.format.python"}]},"fstring-terminator-single":{patterns:[{match:/(=(![rsa])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![rsa])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![rsa])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)(?=\})/dgv},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:/(=?(?:![rsa])?)(:)(?=[^\n]*?\{)/dgv,beginCaptures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},end:/(?=\})|(?=\n)/dgv,patterns:[{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{match:/([bcdeEfFgGnosxX\%])(?=\})/dgv,name:"storage.type.format.python"},{match:/(\.\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(,)/dgv,name:"storage.type.format.python"},{match:/(\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(#)/dgv,name:"storage.type.format.python"},{match:/([\-\+ ])/dgv,name:"storage.type.format.python"},{match:/([\<\>\=\^])/dgv,name:"storage.type.format.python"},{match:/([\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.format.python"}]},"function-arguments":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.function-call.arguments.python",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.python"},{captures:{"1":{name:"keyword.operator.unpacking.arguments.python"}},match:/(?:(?<=[\,\(])|(?<=^|\n(?!$)))\p{space}*(\*{1,2})/dgv},{include:"#lambda-incomplete"},{include:"#illegal-names"},{captures:{"1":{name:"variable.parameter.function-call.python"},"2":{name:"keyword.operator.assignment.python"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"},{include:"#expression"},{captures:{"1":{name:"punctuation.definition.arguments.end.python"},"2":{name:"punctuation.definition.arguments.begin.python"}},match:/\p{space}*(\))\p{space}*(\()/dgv}]},"function-call":{begin:/\b(?=([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,comment:"Regular function call of the type \"name(args)\"",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#special-variables"},{include:"#function-name"},{include:"#function-arguments"}]},"function-declaration":{begin:/\p{space}*(?:\b(async)\p{space}+)?\b(def)\p{space}+(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\()/dgv,beginCaptures:{"1":{name:"storage.type.function.async.python"},"2":{name:"storage.type.function.python"}},end:/(:|(?=[\#'"\n]))/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.python"}},name:"meta.function.python",patterns:[{include:"#function-def-name"},{include:"#parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.python"}]},"function-name":{patterns:[{include:"#builtin-possible-callables"},{comment:"Some color schemas support meta.function-call.generic scope",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.function-call.generic.python"}]},generator:{begin:/\bfor\b/dgv,beginCaptures:{"0":{name:"keyword.control.flow.python"}},comment:"Match \"for ... in\" construct used in generators and for loops to\ncorrectly identify the \"in\" as a control flow keyword.\n",end:/\bin\b/dgv,endCaptures:{"0":{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-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":{comment:"It's illegal to name class or function \"True\"",match:/\b(True|False|None)\b/dgv,name:"keyword.illegal.name.python"},"illegal-operator":{patterns:[{match:/&&|\|\||--|\+\+/dgv,name:"invalid.illegal.operator.python"},{match:/[\?\$]/dgv,name:"invalid.illegal.operator.python"},{comment:"We don't want `!` to flash when we're typing `!=`",match:/!\b/dgv,name:"invalid.illegal.operator.python"}]},import:{comment:"Import statements used to correctly mark `from`, `import`, and `as`\n",patterns:[{begin:/\b(?<!\.)(from)\b(?=[^\n]+import)/dgv,beginCaptures:{"1":{name:"keyword.control.import.python"}},end:/(?=$|\n)|(?=import)/dgv,patterns:[{match:/\.+/dgv,name:"punctuation.separator.period.python"},{include:"#expression"}]},{begin:/\b(?<!\.)(import)\b/dgv,beginCaptures:{"1":{name:"keyword.control.import.python"}},end:/(?=$|\n)/dgv,patterns:[{match:/\b(?<!\.)as\b/dgv,name:"keyword.control.import.python"},{include:"#expression"}]}]},impossible:{comment:"This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.",match:/(?=$|\n)[^\n](?<=^|\n(?!$))/dgv},"inheritance-identifier":{captures:{"1":{name:"entity.other.inherited-class.python"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},"inheritance-name":{patterns:[{include:"#lambda-incomplete"},{include:"#builtin-possible-callables"},{include:"#inheritance-identifier"}]},"item-access":{patterns:[{begin:/\b(?=[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\[)/dgv,end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.item-access.python",patterns:[{include:"#item-name"},{include:"#item-index"},{include:"#expression"}]}]},"item-index":{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.item-access.arguments.python",end:/(?=\])/dgv,patterns:[{match:/:/dgv,name:"punctuation.separator.slice.python"},{include:"#expression"}]},"item-name":{patterns:[{include:"#special-variables"},{include:"#builtin-functions"},{include:"#special-names"},{match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.indexed-name.python"}]},lambda:{patterns:[{captures:{"1":{name:"keyword.control.flow.python"}},match:/((?<=\.)lambda|lambda(?=\p{space}*[\.\=]))/dgv},{captures:{"1":{name:"storage.type.function.lambda.python"}},match:/\b(lambda)\p{space}*?(?=[\,\n]|(?=$|\n))/dgv},{begin:/\b(lambda)\b/dgv,beginCaptures:{"1":{name:"storage.type.function.lambda.python"}},contentName:"meta.function.lambda.parameters.python",end:/(:)|(\n)/dgv,endCaptures:{"1":{name:"punctuation.section.function.lambda.begin.python"}},name:"meta.lambda-function.python",patterns:[{match:/\//dgv,name:"keyword.operator.positional.parameter.python"},{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-nested-incomplete"},{include:"#illegal-names"},{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.parameters.python"}},match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=:|(?=$|\n)))/dgv},{include:"#comments"},{include:"#backticks"},{include:"#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([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"keyword.operator.python"}},end:/(,)|(?=:|(?=$|\n))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"line-continuation":{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.python"},"2":{name:"invalid.illegal.line.continuation.python"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=$|\n)\n?)/dgv},{begin:/(\\)\p{space}*(?=$|\n)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.python"}},end:/(?=(?<=^|\n(?!$))\p{space}*(?=$|\n))|(?!(\p{space}*[rR]?('''|"""|'|"))|((?=$|\n)))/dgv,patterns:[{include:"#regexp"},{include:"#string"}]}]},list:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.python"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.python"}},patterns:[{include:"#expression"}]},literal:{patterns:[{match:/\b(True|False|None|NotImplemented|Ellipsis)\b/dgv,name:"constant.language.python"},{include:"#number"}]},"loose-default":{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.python"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"magic-function-names":{captures:{"1":{name:"support.function.magic.python"}},comment:"these methods have magic interpretation by python and are generally called\nindirectly through syntactic constructs\n",match:/\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|ge|get|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|long|lshift|lt|missing|mod|mul|ne|neg|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\b/dgv},"magic-names":{patterns:[{include:"#magic-function-names"},{include:"#magic-variable-names"}]},"magic-variable-names":{captures:{"1":{name:"support.variable.magic.python"}},comment:"magic variables which a class/module may have.",match:/\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\b/dgv},"member-access":{begin:/(\.)\p{space}*(?!\.)/dgv,beginCaptures:{"1":{name:"punctuation.separator.period.python"}},end:/(?<=\P{space})(?=[^\p{L}\p{M}\p{N}\p{Pc}])|((?<=^|\n(?!$))|(?<=\p{space}))(?=[^\\\p{L}\p{M}\p{N}\p{Pc}\p{space}])|(?=$|\n)/dgv,name:"meta.member.access.python",patterns:[{include:"#function-call"},{include:"#member-access-base"},{include:"#member-access-attribute"}]},"member-access-attribute":{comment:"Highlight attribute access in otherwise non-specialized cases.",match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.attribute.python"},"member-access-base":{patterns:[{include:"#magic-names"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#special-names"},{include:"#line-continuation"},{include:"#item-access"}]},"member-access-class":{begin:/(\.)\p{space}*(?!\.)/dgv,beginCaptures:{"1":{name:"punctuation.separator.period.python"}},end:/(?<=\P{space})(?=[^\p{L}\p{M}\p{N}\p{Pc}])|(?=$|\n)/dgv,name:"meta.member.access.python",patterns:[{include:"#call-wrapper-inheritance"},{include:"#member-access-base"},{include:"#inheritance-identifier"}]},number:{name:"constant.numeric.python",patterns:[{include:"#number-float"},{include:"#number-dec"},{include:"#number-hex"},{include:"#number-oct"},{include:"#number-bin"},{include:"#number-long"},{match:/\b\p{Nd}+[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.name.python"}]},"number-bin":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[bB])(_?[01])+\b/dgv,name:"constant.numeric.bin.python"},"number-dec":{captures:{"1":{name:"storage.type.imaginary.number.python"},"2":{name:"invalid.illegal.dec.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(?:[1-9](?:_?\p{Nd})*|0+|\p{Nd}(?:_?\p{Nd})*([jJ])|0(\p{Nd}+)(?![eE\.]))\b/dgv,name:"constant.numeric.dec.python"},"number-float":{captures:{"1":{name:"storage.type.imaginary.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(?:\.\p{Nd}(?:_?\p{Nd})*|\p{Nd}(?:_?\p{Nd})*\.\p{Nd}(?:_?\p{Nd})*|\p{Nd}(?:_?\p{Nd})*\.)(?:[eE][\+\-]?\p{Nd}(?:_?\p{Nd})*)?|\p{Nd}(?:_?\p{Nd})*[eE][\+\-]?\p{Nd}(?:_?\p{Nd})*)([jJ])?\b/dgv,name:"constant.numeric.float.python"},"number-hex":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[xX])(_?[0-9a-fA-F])+\b/dgv,name:"constant.numeric.hex.python"},"number-long":{captures:{"2":{name:"storage.type.number.python"}},comment:"this is to support python2 syntax for long ints",match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])([1-9]\p{Nd}*|0)([lL])\b/dgv,name:"constant.numeric.bin.python"},"number-oct":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[oO])(_?[0-7])+\b/dgv,name:"constant.numeric.oct.python"},"odd-function-call":{begin:/(?<=\]|\))\p{space}*(?=\()/dgv,comment:"A bit obscured function call where there may have been an\narbitrary number of other operations to get the function.\nE.g. \"arr[idx](args)\"\n",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},patterns:[{include:"#function-arguments"}]},operator:{captures:{"1":{name:"keyword.operator.logical.python"},"2":{name:"keyword.control.flow.python"},"3":{name:"keyword.operator.bitwise.python"},"4":{name:"keyword.operator.arithmetic.python"},"5":{name:"keyword.operator.comparison.python"},"6":{name:"keyword.operator.assignment.python"}},match:/\b(?<!\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\p{space}+from)?))(?!\p{space}*:)\b|(<<|>>|&|\||\^|~)|(\*\*|\*|\+|-|%|\/\/|\/|@)|(!=|==|>=|<=|<|>)|(:=)/dgv},"parameter-special":{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"variable.parameter.function.language.special.self.python"},"3":{name:"variable.parameter.function.language.special.cls.python"},"4":{name:"punctuation.separator.parameters.python"}},match:/\b((self)|(cls))\b\p{space}*(?:(,)|(?=\)))/dgv},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.python"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{match:/\//dgv,name:"keyword.operator.positional.parameter.python"},{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-incomplete"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#parameter-special"},{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.parameters.python"}},match:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\)\#\n\=]))/dgv},{include:"#comments"},{include:"#loose-default"},{include:"#annotated-parameter"}]},punctuation:{patterns:[{match:/:/dgv,name:"punctuation.separator.colon.python"},{match:/,/dgv,name:"punctuation.separator.element.python"}]},regexp:{patterns:[{include:"#regexp-single-three-line"},{include:"#regexp-double-three-line"},{include:"#regexp-single-one-line"},{include:"#regexp-double-one-line"}]},"regexp-backreference":{captures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{name:"entity.name.tag.named.backreference.regexp"},"3":{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},match:/(\()(\?P=[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?)(\))/dgv,name:"meta.backreference.named.regexp"},"regexp-backreference-number":{captures:{"1":{name:"entity.name.tag.backreference.regexp"}},match:/(\\[1-9]\p{Nd}?)/dgv,name:"meta.backreference.regexp"},"regexp-base-common":{patterns:[{match:/\./dgv,name:"support.other.match.any.regexp"},{match:/\^/dgv,name:"support.other.match.begin.regexp"},{match:/\$/dgv,name:"support.other.match.end.regexp"},{match:/[\+\*\?]\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.disjunction.regexp"},{include:"#regexp-escape-sequence"}]},"regexp-base-expression":{patterns:[{include:"#regexp-quantifier"},{include:"#regexp-base-common"}]},"regexp-charecter-set-escapes":{patterns:[{match:/\\[abfnrtv\\]/dgv,name:"constant.character.escape.regexp"},{include:"#regexp-escape-special"},{match:/\\([0-7]{1,3})/dgv,name:"constant.character.escape.regexp"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-escape-catchall"}]},"regexp-double-one-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(")|(?<!\\)(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#double-one-regexp-expression"}]},"regexp-double-three-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(""")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#double-three-regexp-expression"}]},"regexp-escape-catchall":{match:/\\([^\n]|\n)/dgv,name:"constant.character.escape.regexp"},"regexp-escape-character":{match:/\\(x[0-9A-Fa-f]{2}|0[0-7]{1,2}|[0-7]{3})/dgv,name:"constant.character.escape.regexp"},"regexp-escape-sequence":{patterns:[{include:"#regexp-escape-special"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-backreference-number"},{include:"#regexp-escape-catchall"}]},"regexp-escape-special":{match:/\\([AbBdDsSwWZ])/dgv,name:"support.other.escape.special.regexp"},"regexp-escape-unicode":{match:/\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.unicode.regexp"},"regexp-flags":{match:/\(\?[aiLmsux]+\)/dgv,name:"storage.modifier.flag.regexp"},"regexp-quantifier":{match:/\{(\p{Nd}+|\p{Nd}+,(\p{Nd}+)?|,\p{Nd}+)\}/dgv,name:"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(')/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(')|(?<!\\)(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#single-one-regexp-expression"}]},"regexp-single-three-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(''')/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(''')/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#single-three-regexp-expression"}]},"return-annotation":{begin:/(->)/dgv,beginCaptures:{"1":{name:"punctuation.separator.annotation.result.python"}},end:/(?=:)/dgv,patterns:[{include:"#expression"}]},"round-braces":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.python"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.python"}},patterns:[{include:"#expression"}]},semicolon:{patterns:[{match:/;(?=$|\n)/dgv,name:"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-one-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-one-regexp-character-set"},{include:"#single-one-regexp-comments"},{include:"#regexp-flags"},{include:"#single-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-one-regexp-lookahead"},{include:"#single-one-regexp-lookahead-negative"},{include:"#single-one-regexp-lookbehind"},{include:"#single-one-regexp-lookbehind-negative"},{include:"#single-one-regexp-conditional"},{include:"#single-one-regexp-parentheses-non-capturing"},{include:"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?='''))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-three-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-three-regexp-character-set"},{include:"#single-three-regexp-comments"},{include:"#regexp-flags"},{include:"#single-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-three-regexp-lookahead"},{include:"#single-three-regexp-lookahead-negative"},{include:"#single-three-regexp-lookbehind"},{include:"#single-three-regexp-lookbehind-negative"},{include:"#single-three-regexp-conditional"},{include:"#single-three-regexp-parentheses-non-capturing"},{include:"#single-three-regexp-parentheses"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[0-9A-Za-z]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"special-names":{match:/\b(_*[A-Z][_\p{Nd}]*[A-Z])[A-Z\p{Nd}]*(_[\p{L}\p{M}\p{N}\p{Pc}]*)?\b/dgv,name:"constant.other.caps.python"},"special-variables":{captures:{"1":{name:"variable.language.special.self.python"},"2":{name:"variable.language.special.cls.python"}},match:/\b(?<!\.)(?:(self)|(cls))\b/dgv},statement:{patterns:[{include:"#import"},{include:"#class-declaration"},{include:"#function-declaration"},{include:"#generator"},{include:"#statement-keyword"},{include:"#assignment-operator"},{include:"#decorator"},{include:"#docstring-statement"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:/\b((async\p{space}+)?\p{space}*def)\b/dgv,name:"storage.type.function.python"},{comment:"if `as` is eventually followed by `:` or line continuation\nit's probably control flow like:\n with foo as bar, \\\n Foo as Bar:\n try:\n do_stuff()\n except Exception as e:\n pass\n",match:/\b(?<!\.)as\b(?=[^\n]*[\:\\])/dgv,name:"keyword.control.flow.python"},{comment:"other legal use of `as` is in an import",match:/\b(?<!\.)as\b/dgv,name:"keyword.control.import.python"},{match:/\b(?<!\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\b/dgv,name:"keyword.control.flow.python"},{match:/\b(?<!\.)(global|nonlocal)\b/dgv,name:"storage.modifier.declaration.python"},{match:/\b(?<!\.)(class)\b/dgv,name:"storage.type.class.python"},{captures:{"1":{name:"keyword.control.flow.python"}},match:/(?<=^|\n(?!$))\p{space}*(case|match)(?=\p{space}*([\-\+\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\(\[\{'"\:\#]|(?=$|\n)))\b/dgv}]},string:{patterns:[{include:"#string-quoted-multi-line"},{include:"#string-quoted-single-line"},{include:"#string-bin-quoted-multi-line"},{include:"#string-bin-quoted-single-line"},{include:"#string-raw-quoted-multi-line"},{include:"#string-raw-quoted-single-line"},{include:"#string-raw-bin-quoted-multi-line"},{include:"#string-raw-bin-quoted-single-line"},{include:"#fstring-fnorm-quoted-multi-line"},{include:"#fstring-fnorm-quoted-single-line"},{include:"#fstring-normf-quoted-multi-line"},{include:"#fstring-normf-quoted-single-line"},{include:"#fstring-raw-quoted-multi-line"},{include:"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{begin:/(\b[bB])('''|""")/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.multi.python",patterns:[{include:"#string-entity"}]},"string-bin-quoted-single-line":{begin:/(\b[bB])((['"]))/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.single.python",patterns:[{include:"#string-entity"}]},"string-brace-formatting":{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"3":{name:"storage.type.format.python"},"4":{name:"storage.type.format.python"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]'"]+\])*(![rsa])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)?\})/dgv,name:"meta.format.brace.python"},{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"3":{name:"storage.type.format.python"},"4":{name:"storage.type.format.python"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]'"]+\])*(![rsa])?(:)[^'"\{\}\n]*(?:\{[^'"\}\n]*?\}[^'"\{\}\n]*)*\})/dgv,name:"meta.format.brace.python"}]},"string-consume-escape":{match:/\\['"\n\\]/dgv},"string-entity":{patterns:[{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#string-formatting"}]},"string-formatting":{captures:{"1":{name:"constant.character.format.placeholder.other.python"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\-\+\#0 ]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([hlL])?[diouxXeEfFgGcrsab\%])/dgv,name:"meta.format.percent.python"},"string-line-continuation":{match:/\\(?=$|\n)/dgv,name:"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,comment:"template using {% ... %}",end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,comment:"template using {% ... %}",end:/(?='''|""")/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!'''|""")[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!'''|""")\})/dgv,comment:"odd format or format-like syntax",end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!'''|""")[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!'''|""")\})/dgv,comment:"odd format or format-like syntax",end:/(?='''|""")/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-quoted-multi-line":{begin:/(?:\b([rR])(?=[uU]))?([uU])?('''|""")/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-unicode"},{include:"#string-multi-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-quoted-single-line":{begin:/(?:\b([rR])(?=[uU]))?([uU])?((['"]))/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-unicode"},{include:"#string-single-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-raw-bin-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{begin:/(\b(?:R[bB]|[bB]R))('''|""")/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.multi.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{begin:/(\b(?:R[bB]|[bB]R))((['"]))/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.single.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"},{include:"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{begin:/\b(([uU]R)|(R))('''|""")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"punctuation.definition.string.begin.python"}},end:/(\4)()()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-raw"},{include:"#string-multi-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-raw-quoted-single-line":{begin:/\b(([uU]R)|(R))((['"]))/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"punctuation.definition.string.begin.python"}},end:/(\4)|((?<!\\)\n)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-raw"},{include:"#string-single-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,comment:"template using {% ... %}",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,comment:"template using {% ... %}",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!(['"])|((?<!\\)\n))[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!(['"])|((?<!\\)\n))\})/dgv,comment:"odd format or format-like syntax",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!(['"])|((?<!\\)\n))[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!(['"])|((?<!\\)\n))\})/dgv,comment:"odd format or format-like syntax",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},scopeName:"source.python",embeddedLangs:undefined,aliases:["py"]})
3
+ const lang = Object.freeze({displayName:"Python",name:"python",patterns:[{include:"#statement"},{include:"#expression"}],repository:{"annotated-parameter":{begin:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.annotation.python"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.python"}]},"assignment-operator":{match:/<<=|>>=|\/\/=|\*\*=|\+=|-=|\/=|@=|\*=|%=|~=|\^=|&=|\|=|=(?!=)/dgv,name:"keyword.operator.assignment.python"},backticks:{begin:/`/dgv,end:/(?:`|(?<!\\)(\n))/dgv,name:"invalid.deprecated.backtick.python",patterns:[{include:"#expression"}]},"builtin-callables":{patterns:[{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#builtin-exceptions"},{include:"#builtin-functions"},{include:"#builtin-types"}]},"builtin-exceptions":{match:/(?<!\.)\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\b/dgv,name:"support.type.exception.python"},"builtin-functions":{patterns:[{match:/(?<!\.)\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\b/dgv,name:"support.function.builtin.python"},{match:/(?<!\.)\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\b/dgv,name:"variable.legacy.builtin.python"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{match:/(?<!\.)\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\b/dgv,name:"support.type.python"},"call-wrapper-inheritance":{begin:/\b(?=([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\())/dgv,comment:"same as a function call, but in inheritance context",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#inheritance-name"},{include:"#function-arguments"}]},"class-declaration":{patterns:[{begin:/\p{space}*(class)\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:new EmulatedRegExp("#\\p{space}*(type:)(?:(?=($E$\\p{space}*))\\2)(?!(?=$|\\n)|#)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.typehint.comment.python"},"1":{name:"comment.typehint.directive.notation.python"}},contentName:"meta.typehint.comment.python",end:/(?:(?=$|\n)|(?=#))/dgv,name:"comment.line.number-sign.python",patterns:[{match:/ignore(?=\p{space}*(?:(?=$|\n)|#))/dgvy,name:"comment.typehint.ignore.notation.python"},{match:/(?<!\.)\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\b/dgv,name:"comment.typehint.type.notation.python"},{match:/([\[\]\(\)\,\.\=\*]|(->))/dgv,name:"comment.typehint.punctuation.notation.python"},{match:/([\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:/(?<=^|\n(?!$))\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:new EmulatedRegExp("(?<=^|\\n(?!$))\\p{space}*((?:>>>|\\.\\.\\.)\\p{space})(?=\\p{space}*\\P{space})","dgv",{"strategy":"line_or_search_start"})},"docstring-statement":{begin:/(?<=^|\n(?!$))(?=\p{space}*[rR]?('''|"""|'|"))/dgv,comment:"the string either terminates correctly or by the beginning of a new line (this is for single line docstrings that aren't terminated) AND it's not followed by another docstring",end:/((?<=(?!))|(?<=^|\n(?!$)))(?!\p{space}*[rR]?('''|"""|'|"))/dgv,patterns:[{include:"#docstring"}]},"double-one-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-one-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-one-regexp-character-set"},{include:"#double-one-regexp-comments"},{include:"#regexp-flags"},{include:"#double-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-one-regexp-lookahead"},{include:"#double-one-regexp-lookahead-negative"},{include:"#double-one-regexp-lookbehind"},{include:"#double-one-regexp-lookbehind-negative"},{include:"#double-one-regexp-conditional"},{include:"#double-one-regexp-parentheses-non-capturing"},{include:"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?="))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?="""))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-three-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-three-regexp-character-set"},{include:"#double-three-regexp-comments"},{include:"#regexp-flags"},{include:"#double-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-three-regexp-lookahead"},{include:"#double-three-regexp-lookahead-negative"},{include:"#double-three-regexp-lookbehind"},{include:"#double-three-regexp-lookbehind-negative"},{include:"#double-three-regexp-conditional"},{include:"#double-three-regexp-parentheses-non-capturing"},{include:"#double-three-regexp-parentheses"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?="""))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},ellipsis:{match:/\.\.\./dgv,name:"constant.other.ellipsis.python"},"escape-sequence":{match:/\\(x[0-9A-Fa-f]{2}|[0-7]{1,3}|[\\"'abfnrtv])/dgv,name:"constant.character.escape.python"},"escape-sequence-unicode":{patterns:[{match:/\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+?\})/dgv,name:"constant.character.escape.python"}]},expression:{comment:"All valid Python expressions",patterns:[{include:"#expression-base"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"expression-bare":{comment:"valid Python expressions w/o comments and line continuation",patterns:[{include:"#backticks"},{include:"#illegal-anno"},{include:"#literal"},{include:"#regexp"},{include:"#string"},{include:"#lambda"},{include:"#generator"},{include:"#illegal-operator"},{include:"#operator"},{include:"#curly-braces"},{include:"#item-access"},{include:"#list"},{include:"#odd-function-call"},{include:"#round-braces"},{include:"#function-call"},{include:"#builtin-functions"},{include:"#builtin-types"},{include:"#builtin-exceptions"},{include:"#magic-names"},{include:"#special-names"},{include:"#illegal-names"},{include:"#special-variables"},{include:"#ellipsis"},{include:"#punctuation"},{include:"#line-continuation"}]},"expression-base":{comment:"valid Python expressions with comments and line continuation",patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{comment:"All valid Python expressions, except comments and line continuation",patterns:[{include:"#expression-bare"},{include:"#member-access"},{comment:"Tokenize identifiers to help linters",match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"fregexp-base-expression":{patterns:[{include:"#fregexp-quantifier"},{include:"#fstring-formatting-braces"},{match:/\{[^\n]*?\}/dgv},{include:"#regexp-base-common"}]},"fregexp-quantifier":{match:/\{\{(\p{Nd}+|\p{Nd}+,(\p{Nd}+)?|,\p{Nd}+)\}\}/dgv,name:"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{begin:/(\b[fF])([bBuU])?('''|""")/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{name:"invalid.illegal.prefix.python"},"3":{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{begin:/(\b[fF])([bBuU])?((['"]))/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{name:"invalid.illegal.prefix.python"},"3":{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-formatting":{patterns:[{include:"#fstring-formatting-braces"},{include:"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"2":{name:"invalid.illegal.brace.python"},"3":{name:"constant.character.format.placeholder.other.python"}},comment:"empty braces are illegal",match:/(\{)(\p{space}*?)(\})/dgv},{match:/(\{\{|\}\})/dgv,name:"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{match:/(\}(?!\}))/dgv,name:"invalid.illegal.brace.python"},"fstring-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#fstring-formatting"}]},"fstring-illegal-multi-brace":{patterns:[{include:"#impossible"}]},"fstring-illegal-single-brace":{begin:/(\{)(?=[^\n\}]*(?=$|\n)\n?)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"it is illegal to have a multiline brace inside a single-line string",end:/(\})|(?=\n)/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-multi-brace":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:/(\})/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-multi"},{include:"#f-expression"}]},"fstring-multi-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|'''|"""))|\n/dgv,name:"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{begin:/(\b[bBuU])([fF])('''|""")/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python string.quoted.multi.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{begin:/(\b[bBuU])([fF])((['"]))/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python string.quoted.single.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#fstring-formatting"}]},"fstring-raw-multi-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|'''|"""))|\n/dgv,name:"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{begin:/(\b(?:[rR][fF]|[fF][rR]))('''|""")/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{begin:/(\b(?:[rR][fF]|[fF][rR]))((['"]))/dgv,beginCaptures:{"1":{name:"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-raw-single-core"}]},"fstring-raw-single-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|(['"])|((?<!\\)\n)))|\n/dgv,name:"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},comment:"value interpolation using { ... }",end:/(\})|(?=\n)/dgv,endCaptures:{"1":{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-single-core":{match:/([^\n]+?)(((?=$|\n)\n?)|(?=[\\\}\{]|(['"])|((?<!\\)\n)))|\n/dgv,name:"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{patterns:[{match:/(=(![rsa])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![rsa])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![rsa])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)(?=\})/dgv},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:/(=?(?:![rsa])?)(:)(?=[^\n]*?\{)/dgv,beginCaptures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},end:/(?=\})/dgv,patterns:[{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{match:/([bcdeEfFgGnosxX\%])(?=\})/dgv,name:"storage.type.format.python"},{match:/(\.\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(,)/dgv,name:"storage.type.format.python"},{match:/(\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(#)/dgv,name:"storage.type.format.python"},{match:/([\-\+ ])/dgv,name:"storage.type.format.python"},{match:/([\<\>\=\^])/dgv,name:"storage.type.format.python"},{match:/([\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.format.python"}]},"fstring-terminator-single":{patterns:[{match:/(=(![rsa])?)(?=\})/dgv,name:"storage.type.format.python"},{match:/(=?![rsa])(?=\})/dgv,name:"storage.type.format.python"},{captures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},match:/(=?(?:![rsa])?)(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)(?=\})/dgv},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:/(=?(?:![rsa])?)(:)(?=[^\n]*?\{)/dgv,beginCaptures:{"1":{name:"storage.type.format.python"},"2":{name:"storage.type.format.python"}},end:/(?=\})|(?=\n)/dgv,patterns:[{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{match:/([bcdeEfFgGnosxX\%])(?=\})/dgv,name:"storage.type.format.python"},{match:/(\.\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(,)/dgv,name:"storage.type.format.python"},{match:/(\p{Nd}+)/dgv,name:"storage.type.format.python"},{match:/(#)/dgv,name:"storage.type.format.python"},{match:/([\-\+ ])/dgv,name:"storage.type.format.python"},{match:/([\<\>\=\^])/dgv,name:"storage.type.format.python"},{match:/([\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.format.python"}]},"function-arguments":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.function-call.arguments.python",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.python"},{captures:{"1":{name:"keyword.operator.unpacking.arguments.python"}},match:/(?:(?<=[\,\(])|(?<=^|\n(?!$)))\p{space}*(\*{1,2})/dgv},{include:"#lambda-incomplete"},{include:"#illegal-names"},{captures:{"1":{name:"variable.parameter.function-call.python"},"2":{name:"keyword.operator.assignment.python"}},match:/\b([\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,comment:"Regular function call of the type \"name(args)\"",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#special-variables"},{include:"#function-name"},{include:"#function-arguments"}]},"function-declaration":{begin:/\p{space}*(?:\b(async)\p{space}+)?\b(def)\p{space}+(?=[\p{Alpha}_][\p{Alpha}\p{M}\p{Nd}\p{Pc}]*\p{space}*\()/dgv,beginCaptures:{"1":{name:"storage.type.function.async.python"},"2":{name:"storage.type.function.python"}},end:/(:|(?=[\#'"\n]))/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.python"}},name:"meta.function.python",patterns:[{include:"#function-def-name"},{include:"#parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.python"}]},"function-name":{patterns:[{include:"#builtin-possible-callables"},{comment:"Some color schemas support meta.function-call.generic scope",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"}},comment:"Match \"for ... in\" construct used in generators and for loops to\ncorrectly identify the \"in\" as a control flow keyword.\n",end:/\bin\b/dgv,endCaptures:{"0":{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-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":{comment:"It's illegal to name class or function \"True\"",match:/\b(True|False|None)\b/dgv,name:"keyword.illegal.name.python"},"illegal-operator":{patterns:[{match:/&&|\|\||--|\+\+/dgv,name:"invalid.illegal.operator.python"},{match:/[\?\$]/dgv,name:"invalid.illegal.operator.python"},{comment:"We don't want `!` to flash when we're typing `!=`",match:/!\b/dgv,name:"invalid.illegal.operator.python"}]},import:{comment:"Import statements used to correctly mark `from`, `import`, and `as`\n",patterns:[{begin:/\b(?<!\.)(from)\b(?=[^\n]+import)/dgv,beginCaptures:{"1":{name:"keyword.control.import.python"}},end:/(?=$|\n)|(?=import)/dgv,patterns:[{match:/\.+/dgv,name:"punctuation.separator.period.python"},{include:"#expression"}]},{begin:/\b(?<!\.)(import)\b/dgv,beginCaptures:{"1":{name:"keyword.control.import.python"}},end:/(?=$|\n)/dgv,patterns:[{match:/\b(?<!\.)as\b/dgv,name:"keyword.control.import.python"},{include:"#expression"}]}]},impossible:{comment:"This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.",match:/(?=$|\n)[^\n](?<=^|\n(?!$))/dgv},"inheritance-identifier":{captures:{"1":{name:"entity.other.inherited-class.python"}},match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},"inheritance-name":{patterns:[{include:"#lambda-incomplete"},{include:"#builtin-possible-callables"},{include:"#inheritance-identifier"}]},"item-access":{patterns:[{begin:/\b(?=[\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\[)/dgv,end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},name:"meta.item-access.python",patterns:[{include:"#item-name"},{include:"#item-index"},{include:"#expression"}]}]},"item-index":{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.item-access.arguments.python",end:/(?=\])/dgv,patterns:[{match:/:/dgv,name:"punctuation.separator.slice.python"},{include:"#expression"}]},"item-name":{patterns:[{include:"#special-variables"},{include:"#builtin-functions"},{include:"#special-names"},{match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.indexed-name.python"}]},lambda:{patterns:[{captures:{"1":{name:"keyword.control.flow.python"}},match:/((?<=\.)lambda|lambda(?=\p{space}*[\.\=]))/dgv},{captures:{"1":{name:"storage.type.function.lambda.python"}},match:/\b(lambda)\p{space}*?(?=[\,\n]|(?=$|\n))/dgv},{begin:/\b(lambda)\b/dgv,beginCaptures:{"1":{name:"storage.type.function.lambda.python"}},contentName:"meta.function.lambda.parameters.python",end:/(:)|(\n)/dgv,endCaptures:{"1":{name:"punctuation.section.function.lambda.begin.python"}},name:"meta.lambda-function.python",patterns:[{match:/\//dgv,name:"keyword.operator.positional.parameter.python"},{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-nested-incomplete"},{include:"#illegal-names"},{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.parameters.python"}},match:/([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=:|(?=$|\n)))/dgv},{include:"#comments"},{include:"#backticks"},{include:"#illegal-anno"},{include:"#lambda-parameter-with-default"},{include:"#line-continuation"},{include:"#illegal-operator"}]}]},"lambda-incomplete":{match:/\blambda(?=\p{space}*[\,\)])/dgv,name:"storage.type.function.lambda.python"},"lambda-nested-incomplete":{match:/\blambda(?=\p{space}*[\:\,\)])/dgv,name:"storage.type.function.lambda.python"},"lambda-parameter-with-default":{begin:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"keyword.operator.python"}},end:/(,)|(?=:|(?=$|\n))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"line-continuation":{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.python"},"2":{name:"invalid.illegal.line.continuation.python"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=$|\n)\n?)/dgv},{begin:/(\\)\p{space}*(?=$|\n)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.python"}},end:/(?=(?<=^|\n(?!$))\p{space}*(?=$|\n))|(?!(\p{space}*[rR]?('''|"""|'|"))|((?=$|\n)))/dgv,patterns:[{include:"#regexp"},{include:"#string"}]}]},list:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.python"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.python"}},patterns:[{include:"#expression"}]},literal:{patterns:[{match:/\b(True|False|None|NotImplemented|Ellipsis)\b/dgv,name:"constant.language.python"},{include:"#number"}]},"loose-default":{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.python"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"magic-function-names":{captures:{"1":{name:"support.function.magic.python"}},comment:"these methods have magic interpretation by python and are generally called\nindirectly through syntactic constructs\n",match:/\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|ge|get|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|long|lshift|lt|missing|mod|mul|ne|neg|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\b/dgv},"magic-names":{patterns:[{include:"#magic-function-names"},{include:"#magic-variable-names"}]},"magic-variable-names":{captures:{"1":{name:"support.variable.magic.python"}},comment:"magic variables which a class/module may have.",match:/\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\b/dgv},"member-access":{begin:/(\.)\p{space}*(?!\.)/dgv,beginCaptures:{"1":{name:"punctuation.separator.period.python"}},end:/(?<=\P{space})(?=[^\p{L}\p{M}\p{N}\p{Pc}])|((?<=^|\n(?!$))|(?<=\p{space}))(?=[^\\\p{L}\p{M}\p{N}\p{Pc}\p{space}])|(?=$|\n)/dgv,name:"meta.member.access.python",patterns:[{include:"#function-call"},{include:"#member-access-base"},{include:"#member-access-attribute"}]},"member-access-attribute":{comment:"Highlight attribute access in otherwise non-specialized cases.",match:/\b([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"meta.attribute.python"},"member-access-base":{patterns:[{include:"#magic-names"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#special-names"},{include:"#line-continuation"},{include:"#item-access"}]},"member-access-class":{begin:/(\.)\p{space}*(?!\.)/dgv,beginCaptures:{"1":{name:"punctuation.separator.period.python"}},end:/(?<=\P{space})(?=[^\p{L}\p{M}\p{N}\p{Pc}])|(?=$|\n)/dgv,name:"meta.member.access.python",patterns:[{include:"#call-wrapper-inheritance"},{include:"#member-access-base"},{include:"#inheritance-identifier"}]},number:{name:"constant.numeric.python",patterns:[{include:"#number-float"},{include:"#number-dec"},{include:"#number-hex"},{include:"#number-oct"},{include:"#number-bin"},{include:"#number-long"},{match:/\b[0-9]+[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.name.python"}]},"number-bin":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[bB])(_?[01])+\b/dgv,name:"constant.numeric.bin.python"},"number-dec":{captures:{"1":{name:"storage.type.imaginary.number.python"},"2":{name:"invalid.illegal.dec.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(?:[1-9](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([jJ])|0([0-9]+)(?![eE\.]))\b/dgv,name:"constant.numeric.dec.python"},"number-float":{captures:{"1":{name:"storage.type.imaginary.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(?:\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.)(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[eE][\+\-]?[0-9](?:_?[0-9])*)([jJ])?\b/dgv,name:"constant.numeric.float.python"},"number-hex":{captures:{"1":{name:"storage.type.number.python"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])(0[xX])(_?[0-9a-fA-F])+\b/dgv,name:"constant.numeric.hex.python"},"number-long":{captures:{"2":{name:"storage.type.number.python"}},comment:"this is to support python2 syntax for long ints",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,comment:"A bit obscured function call where there may have been an\narbitrary number of other operations to get the function.\nE.g. \"arr[idx](args)\"\n",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.python"}},patterns:[{include:"#function-arguments"}]},operator:{captures:{"1":{name:"keyword.operator.logical.python"},"2":{name:"keyword.control.flow.python"},"3":{name:"keyword.operator.bitwise.python"},"4":{name:"keyword.operator.arithmetic.python"},"5":{name:"keyword.operator.comparison.python"},"6":{name:"keyword.operator.assignment.python"}},match:/\b(?<!\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\p{space}+from)?))(?!\p{space}*:)\b|(<<|>>|&|\||\^|~)|(\*\*|\*|\+|-|%|\/\/|\/|@)|(!=|==|>=|<=|<|>)|(:=)/dgv},"parameter-special":{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"variable.parameter.function.language.special.self.python"},"3":{name:"variable.parameter.function.language.special.cls.python"},"4":{name:"punctuation.separator.parameters.python"}},match:/\b((self)|(cls))\b\p{space}*(?:(,)|(?=\)))/dgv},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.python"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{match:/\//dgv,name:"keyword.operator.positional.parameter.python"},{match:/(\*\*|\*)/dgv,name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-incomplete"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#parameter-special"},{captures:{"1":{name:"variable.parameter.function.language.python"},"2":{name:"punctuation.separator.parameters.python"}},match:/([\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\)\#\n\=]))/dgv},{include:"#comments"},{include:"#loose-default"},{include:"#annotated-parameter"}]},punctuation:{patterns:[{match:/:/dgv,name:"punctuation.separator.colon.python"},{match:/,/dgv,name:"punctuation.separator.element.python"}]},regexp:{patterns:[{include:"#regexp-single-three-line"},{include:"#regexp-double-three-line"},{include:"#regexp-single-one-line"},{include:"#regexp-double-one-line"}]},"regexp-backreference":{captures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{name:"entity.name.tag.named.backreference.regexp"},"3":{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},match:/(\()(\?P=[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?)(\))/dgv,name:"meta.backreference.named.regexp"},"regexp-backreference-number":{captures:{"1":{name:"entity.name.tag.backreference.regexp"}},match:/(\\[1-9]\p{Nd}?)/dgv,name:"meta.backreference.regexp"},"regexp-base-common":{patterns:[{match:/\./dgv,name:"support.other.match.any.regexp"},{match:/\^/dgv,name:"support.other.match.begin.regexp"},{match:/\$/dgv,name:"support.other.match.end.regexp"},{match:/[\+\*\?]\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.disjunction.regexp"},{include:"#regexp-escape-sequence"}]},"regexp-base-expression":{patterns:[{include:"#regexp-quantifier"},{include:"#regexp-base-common"}]},"regexp-charecter-set-escapes":{patterns:[{match:/\\[abfnrtv\\]/dgv,name:"constant.character.escape.regexp"},{include:"#regexp-escape-special"},{match:/\\([0-7]{1,3})/dgv,name:"constant.character.escape.regexp"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-escape-catchall"}]},"regexp-double-one-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(")|(?<!\\)(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#double-one-regexp-expression"}]},"regexp-double-three-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(""")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#double-three-regexp-expression"}]},"regexp-escape-catchall":{match:/\\([^\n]|\n)/dgv,name:"constant.character.escape.regexp"},"regexp-escape-character":{match:/\\(x[0-9A-Fa-f]{2}|0[0-7]{1,2}|[0-7]{3})/dgv,name:"constant.character.escape.regexp"},"regexp-escape-sequence":{patterns:[{include:"#regexp-escape-special"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-backreference-number"},{include:"#regexp-escape-catchall"}]},"regexp-escape-special":{match:/\\([AbBdDsSwWZ])/dgv,name:"support.other.escape.special.regexp"},"regexp-escape-unicode":{match:/\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.unicode.regexp"},"regexp-flags":{match:/\(\?[aiLmsux]+\)/dgv,name:"storage.modifier.flag.regexp"},"regexp-quantifier":{match:/\{(\p{Nd}+|\p{Nd}+,(\p{Nd}+)?|,\p{Nd}+)\}/dgv,name:"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(')/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(')|(?<!\\)(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#single-one-regexp-expression"}]},"regexp-single-three-line":{begin:/\b(([uU]r)|([bB]r)|(r[bB]?))(''')/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"storage.type.string.python"},"5":{name:"punctuation.definition.string.begin.python"}},end:/(''')/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#single-three-regexp-expression"}]},"return-annotation":{begin:/(->)/dgv,beginCaptures:{"1":{name:"punctuation.separator.annotation.result.python"}},end:/(?=:)/dgv,patterns:[{include:"#expression"}]},"round-braces":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.python"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.python"}},patterns:[{include:"#expression"}]},semicolon:{patterns:[{match:/;(?=$|\n)/dgv,name:"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-one-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-one-regexp-character-set"},{include:"#single-one-regexp-comments"},{include:"#regexp-flags"},{include:"#single-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-one-regexp-lookahead"},{include:"#single-one-regexp-lookahead-negative"},{include:"#single-one-regexp-lookbehind"},{include:"#single-one-regexp-lookbehind-negative"},{include:"#single-one-regexp-conditional"},{include:"#single-one-regexp-parentheses-non-capturing"},{include:"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?='))|((?=(?<!\\)\n))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{patterns:[{match:/\[\^?\](?![^\n]*?\])/dgv},{begin:/(\[)(\^)?(\])?/dgv,beginCaptures:{"1":{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{name:"keyword.operator.negation.regexp"},"3":{name:"constant.character.set.regexp"}},end:/(\]|(?='''))/dgv,endCaptures:{"1":{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:/[^\n]/dgv,name:"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{begin:/\(\?#/dgv,beginCaptures:{"0":{name:"punctuation.comment.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"punctuation.comment.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-three-regexp-conditional":{begin:/(\()\?\(([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?|\p{Nd}+)\)/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.regexp"},"1":{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-three-regexp-character-set"},{include:"#single-three-regexp-comments"},{include:"#regexp-flags"},{include:"#single-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-three-regexp-lookahead"},{include:"#single-three-regexp-lookahead-negative"},{include:"#single-three-regexp-lookbehind"},{include:"#single-three-regexp-lookbehind-negative"},{include:"#single-three-regexp-conditional"},{include:"#single-three-regexp-parentheses-non-capturing"},{include:"#single-three-regexp-parentheses"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead":{begin:/(\()\?=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{begin:/(\()\?!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookahead.negative.regexp"},"1":{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{begin:/(\()\?<=/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{begin:/(\()\?<!/dgv,beginCaptures:{"0":{name:"keyword.operator.lookbehind.negative.regexp"},"1":{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-named-group":{begin:/(\()(\?P<[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}+[\p{Alpha}\p{Nd}]+)?>)/dgv,beginCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{name:"entity.name.tag.named.group.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses":{begin:/\(/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{begin:/\(\?:/dgv,beginCaptures:{"0":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:/(\)|(?='''))/dgv,endCaptures:{"1":{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"special-names":{match:/\b(_*[\p{Upper}][_\p{Nd}]*[\p{Upper}])[\p{Upper}\p{Nd}]*(_[\p{L}\p{M}\p{N}\p{Pc}]*)?\b/dgv,name:"constant.other.caps.python"},"special-variables":{captures:{"1":{name:"variable.language.special.self.python"},"2":{name:"variable.language.special.cls.python"}},match:/\b(?<!\.)(?:(self)|(cls))\b/dgv},statement:{patterns:[{include:"#import"},{include:"#class-declaration"},{include:"#function-declaration"},{include:"#generator"},{include:"#statement-keyword"},{include:"#assignment-operator"},{include:"#decorator"},{include:"#docstring-statement"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:/\b((async\p{space}+)?\p{space}*def)\b/dgv,name:"storage.type.function.python"},{comment:"if `as` is eventually followed by `:` or line continuation\nit's probably control flow like:\n with foo as bar, \\\n Foo as Bar:\n try:\n do_stuff()\n except Exception as e:\n pass\n",match:/\b(?<!\.)as\b(?=[^\n]*[\:\\])/dgv,name:"keyword.control.flow.python"},{comment:"other legal use of `as` is in an import",match:/\b(?<!\.)as\b/dgv,name:"keyword.control.import.python"},{match:/\b(?<!\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\b/dgv,name:"keyword.control.flow.python"},{match:/\b(?<!\.)(global|nonlocal)\b/dgv,name:"storage.modifier.declaration.python"},{match:/\b(?<!\.)(class)\b/dgv,name:"storage.type.class.python"},{captures:{"1":{name:"keyword.control.flow.python"}},match:/(?<=^|\n(?!$))\p{space}*(case|match)(?=\p{space}*([\-\+\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\(\[\{'"\:\#]|(?=$|\n)))\b/dgv}]},string:{patterns:[{include:"#string-quoted-multi-line"},{include:"#string-quoted-single-line"},{include:"#string-bin-quoted-multi-line"},{include:"#string-bin-quoted-single-line"},{include:"#string-raw-quoted-multi-line"},{include:"#string-raw-quoted-single-line"},{include:"#string-raw-bin-quoted-multi-line"},{include:"#string-raw-bin-quoted-single-line"},{include:"#fstring-fnorm-quoted-multi-line"},{include:"#fstring-fnorm-quoted-single-line"},{include:"#fstring-normf-quoted-multi-line"},{include:"#fstring-normf-quoted-single-line"},{include:"#fstring-raw-quoted-multi-line"},{include:"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{begin:/(\b[bB])('''|""")/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.multi.python",patterns:[{include:"#string-entity"}]},"string-bin-quoted-single-line":{begin:/(\b[bB])((['"]))/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.single.python",patterns:[{include:"#string-entity"}]},"string-brace-formatting":{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"3":{name:"storage.type.format.python"},"4":{name:"storage.type.format.python"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]'"]+\])*(![rsa])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)?\})/dgv,name:"meta.format.brace.python"},{captures:{"1":{name:"constant.character.format.placeholder.other.python"},"3":{name:"storage.type.format.python"},"4":{name:"storage.type.format.python"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[\p{Alpha}_][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]'"]+\])*(![rsa])?(:)[^'"\{\}\n]*(?:\{[^'"\}\n]*?\}[^'"\{\}\n]*)*\})/dgv,name:"meta.format.brace.python"}]},"string-consume-escape":{match:/\\['"\n\\]/dgv},"string-entity":{patterns:[{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#string-formatting"}]},"string-formatting":{captures:{"1":{name:"constant.character.format.placeholder.other.python"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\-\+\#0 ]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([hlL])?[diouxXeEfFgGcrsab\%])/dgv,name:"meta.format.percent.python"},"string-line-continuation":{match:/\\(?=$|\n)/dgv,name:"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,comment:"template using {% ... %}",end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!'''|"""))%\})/dgv,comment:"template using {% ... %}",end:/(?='''|""")/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!'''|""")[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!'''|""")\})/dgv,comment:"odd format or format-like syntax",end:/(?='''|""")/dgv,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!'''|""")[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!'''|""")\})/dgv,comment:"odd format or format-like syntax",end:/(?='''|""")/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-quoted-multi-line":{begin:/(?:\b([rR])(?=[uU]))?([uU])?('''|""")/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python"}},end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-unicode"},{include:"#string-multi-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-quoted-single-line":{begin:/(?:\b([rR])(?=[uU]))?([uU])?((['"]))/dgv,beginCaptures:{"1":{name:"invalid.illegal.prefix.python"},"2":{name:"storage.type.string.python"},"3":{name:"punctuation.definition.string.begin.python"}},end:/(\3)|((?<!\\)\n)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-unicode"},{include:"#string-single-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-raw-bin-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{begin:/(\b(?:R[bB]|[bB]R))('''|""")/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.multi.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{begin:/(\b(?:R[bB]|[bB]R))((['"]))/dgv,beginCaptures:{"1":{name:"storage.type.string.python"},"2":{name:"punctuation.definition.string.begin.python"}},end:/(\2)|((?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.single.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"},{include:"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{begin:/\b(([uU]R)|(R))('''|""")/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"punctuation.definition.string.begin.python"}},end:/(\4)()()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-raw"},{include:"#string-multi-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-raw-quoted-single-line":{begin:/\b(([uU]R)|(R))((['"]))/dgv,beginCaptures:{"2":{name:"invalid.deprecated.prefix.python"},"3":{name:"storage.type.string.python"},"4":{name:"punctuation.definition.string.begin.python"}},end:/(\4)|((?<!\\)\n)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.python"},"2":{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-raw"},{include:"#string-single-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,comment:"template using {% ... %}",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:/(?=\{%([^\n]*?(?!(['"])|((?<!\\)\n)))%\})/dgv,comment:"template using {% ... %}",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!(['"])|((?<!\\)\n))[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!(['"])|((?<!\\)\n))\})/dgv,comment:"odd format or format-like syntax",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{begin:/(?!\{\{)(?=\{([\p{L}\p{M}\p{N}\p{Pc}]*?(?!(['"])|((?<!\\)\n))[^\!\:\.\[\}\p{L}\p{M}\p{N}\p{Pc}])[^\n]*?(?!(['"])|((?<!\\)\n))\})/dgv,comment:"odd format or format-like syntax",end:/(?=(['"])|((?<!\\)\n))/dgv,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},scopeName:"source.python",embeddedLangs:undefined,aliases:["py"]})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/r.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"R",name:"r",patterns:[{include:"#roxygen"},{include:"#comments"},{include:"#constants"},{include:"#keywords"},{include:"#storage-type"},{include:"#strings"},{include:"#brackets"},{include:"#function-declarations"},{include:"#lambda-functions"},{include:"#builtin-functions"},{include:"#function-calls"},{include:"#general-variables"}],repository:{brackets:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.r"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.r"}},patterns:[{include:"source.r"}]},{begin:/\[(?!\[)/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.single.begin.r"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.single.end.r"}},patterns:[{include:"source.r"}]},{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.double.begin.r"}},contentName:"meta.item-access.arguments.r",end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.double.end.r"}},patterns:[{include:"source.r"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.braces.begin.r"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.braces.end.r"}},patterns:[{include:"source.r"}]}]},"builtin-functions":{patterns:[{captures:{"1":{name:"support.function.r"}},match:/\b(abbreviate|abs|acos|acosh|activeBindingFunction|addNA|addTaskCallback|agrep|agrepl|alist|all|all\.equal|all\.equal\.character|all\.equal\.default|all\.equal\.environment|all\.equal\.envRefClass|all\.equal\.factor|all\.equal\.formula|all\.equal\.function|all\.equal\.language|all\.equal\.list|all\.equal\.numeric|all\.equal\.POSIXt|all\.equal\.raw|all\.names|allowInterrupts|all\.vars|any|anyDuplicated|anyDuplicated\.array|anyDuplicated\.data\.frame|anyDuplicated\.default|anyDuplicated\.matrix|anyNA|anyNA\.data\.frame|anyNA\.numeric_version|anyNA\.POSIXlt|aperm|aperm\.default|aperm\.table|append|apply|Arg|args|array|arrayInd|as\.array|as\.array\.default|as\.call|as\.character|as\.character\.condition|as\.character\.Date|as\.character\.default|as\.character\.error|as\.character\.factor|as\.character\.hexmode|as\.character\.numeric_version|as\.character\.octmode|as\.character\.POSIXt|as\.character\.srcref|as\.complex|as\.data\.frame|as\.data\.frame\.array|as\.data\.frame\.AsIs|as\.data\.frame\.character|as\.data\.frame\.complex|as\.data\.frame\.data\.frame|as\.data\.frame\.Date|as\.data\.frame\.default|as\.data\.frame\.difftime|as\.data\.frame\.factor|as\.data\.frame\.integer|as\.data\.frame\.list|as\.data\.frame\.logical|as\.data\.frame\.matrix|as\.data\.frame\.model\.matrix|as\.data\.frame\.noquote|as\.data\.frame\.numeric|as\.data\.frame\.numeric_version|as\.data\.frame\.ordered|as\.data\.frame\.POSIXct|as\.data\.frame\.POSIXlt|as\.data\.frame\.raw|as\.data\.frame\.table|as\.data\.frame\.ts|as\.data\.frame\.vector|as\.Date|as\.Date\.character|as\.Date\.default|as\.Date\.factor|as\.Date\.numeric|as\.Date\.POSIXct|as\.Date\.POSIXlt|as\.difftime|as\.double|as\.double\.difftime|as\.double\.POSIXlt|as\.environment|as\.expression|as\.expression\.default|as\.factor|as\.function|as\.function\.default|as\.hexmode|asin|asinh|as\.integer|as\.list|as\.list\.data\.frame|as\.list\.Date|as\.list\.default|as\.list\.difftime|as\.list\.environment|as\.list\.factor|as\.list\.function|as\.list\.numeric_version|as\.list\.POSIXct|as\.list\.POSIXlt|as\.logical|as\.logical\.factor|as\.matrix|as\.matrix\.data\.frame|as\.matrix\.default|as\.matrix\.noquote|as\.matrix\.POSIXlt|as\.name|asNamespace|as\.null|as\.null\.default|as\.numeric|as\.numeric_version|as\.octmode|as\.ordered|as\.package_version|as\.pairlist|asplit|as\.POSIXct|as\.POSIXct\.Date|as\.POSIXct\.default|as\.POSIXct\.numeric|as\.POSIXct\.POSIXlt|as\.POSIXlt|as\.POSIXlt\.character|as\.POSIXlt\.Date|as\.POSIXlt\.default|as\.POSIXlt\.factor|as\.POSIXlt\.numeric|as\.POSIXlt\.POSIXct|as\.qr|as\.raw|asS3|asS4|assign|as\.single|as\.single\.default|as\.symbol|as\.table|as\.table\.default|as\.vector|as\.vector\.factor|atan|atan2|atanh|attach|attachNamespace|attr|attr\.all\.equal|attributes|autoload|autoloader|backsolve|baseenv|basename|besselI|besselJ|besselK|besselY|beta|bindingIsActive|bindingIsLocked|bindtextdomain|bitwAnd|bitwNot|bitwOr|bitwShiftL|bitwShiftR|bitwXor|body|bquote|break|browser|browserCondition|browserSetDebug|browserText|builtins|by|by\.data\.frame|by\.default|bzfile|c|call|callCC|capabilities|casefold|cat|cbind|cbind\.data\.frame|c\.Date|c\.difftime|ceiling|c\.factor|character|char\.expand|charmatch|charToRaw|chartr|check_tzones|chkDots|chol|chol2inv|chol\.default|choose|class|clearPushBack|close|closeAllConnections|close\.connection|close\.srcfile|close\.srcfilealias|c\.noquote|c\.numeric_version|col|colMeans|colnames|colSums|commandArgs|comment|complex|computeRestarts|conditionCall|conditionCall\.condition|conditionMessage|conditionMessage\.condition|conflictRules|conflicts|Conj|contributors|cos|cosh|cospi|c\.POSIXct|c\.POSIXlt|crossprod|Cstack_info|cummax|cummin|cumprod|cumsum|curlGetHeaders|cut|cut\.Date|cut\.default|cut\.POSIXt|c\.warnings|data\.class|data\.frame|data\.matrix|date|debug|debuggingState|debugonce|default\.stringsAsFactors|delayedAssign|deparse|deparse1|det|detach|determinant|determinant\.matrix|dget|diag|diff|diff\.Date|diff\.default|diff\.difftime|diff\.POSIXt|difftime|digamma|dim|dim\.data\.frame|dimnames|dimnames\.data\.frame|dir|dir\.create|dir\.exists|dirname|do\.call|dontCheck|double|dput|dQuote|drop|droplevels|droplevels\.data\.frame|droplevels\.factor|dump|duplicated|duplicated\.array|duplicated\.data\.frame|duplicated\.default|duplicated\.matrix|duplicated\.numeric_version|duplicated\.POSIXlt|duplicated\.warnings|dynGet|dyn\.load|dyn\.unload|eapply|eigen|emptyenv|enc2native|enc2utf8|encodeString|Encoding|endsWith|enquote|environment|environmentIsLocked|environmentName|env\.profile|errorCondition|eval|eval\.parent|evalq|exists|exp|expand\.grid|expm1|expression|extSoftVersion|factor|factorial|fifo|file|file\.access|file\.append|file\.choose|file\.copy|file\.create|file\.exists|file\.info|file\.link|file\.mode|file\.mtime|file\.path|file\.remove|file\.rename|file\.show|file\.size|file\.symlink|Filter|Find|findInterval|find\.package|findPackageEnv|findRestart|floor|flush|flush\.connection|for|force|forceAndCall|formals|format|format\.AsIs|formatC|format\.data\.frame|format\.Date|format\.default|format\.difftime|formatDL|format\.factor|format\.hexmode|format\.info|format\.libraryIQR|format\.numeric_version|format\.octmode|format\.packageInfo|format\.POSIXct|format\.POSIXlt|format\.pval|format\.summaryDefault|forwardsolve|function|gamma|gc|gcinfo|gc\.time|gctorture|gctorture2|get|get0|getAllConnections|getCallingDLL|getCallingDLLe|getConnection|getDLLRegisteredRoutines|getDLLRegisteredRoutines\.character|getDLLRegisteredRoutines\.DLLInfo|getElement|geterrmessage|getExportedValue|getHook|getLoadedDLLs|getNamespace|getNamespaceExports|getNamespaceImports|getNamespaceInfo|getNamespaceName|getNamespaceUsers|getNamespaceVersion|getNativeSymbolInfo|getOption|getRversion|getSrcLines|getTaskCallbackNames|gettext|gettextf|getwd|gl|globalCallingHandlers|globalenv|gregexec|gregexpr|grep|grepl|grepRaw|grouping|gsub|gzcon|gzfile|I|iconv|iconvlist|icuGetCollate|icuSetCollate|identical|identity|if|ifelse|Im|importIntoEnv|infoRDS|inherits|integer|interaction|interactive|intersect|intToBits|intToUtf8|inverse\.rle|invisible|invokeRestart|invokeRestartInteractively|isa|is\.array|is\.atomic|isatty|isBaseNamespace|is\.call|is\.character|is\.complex|is\.data\.frame|isdebugged|is\.double|is\.element|is\.environment|is\.expression|is\.factor|isFALSE|is\.finite|is\.function|isIncomplete|is\.infinite|is\.integer|is\.language|is\.list|is\.loaded|is\.logical|is\.matrix|is\.na|is\.na\.data\.frame|is\.name|isNamespace|isNamespaceLoaded|is\.nan|is\.na\.numeric_version|is\.na\.POSIXlt|is\.null|is\.numeric|is\.numeric\.Date|is\.numeric\.difftime|is\.numeric\.POSIXt|is\.numeric_version|is\.object|ISOdate|ISOdatetime|isOpen|is\.ordered|is\.package_version|is\.pairlist|is\.primitive|is\.qr|is\.R|is\.raw|is\.recursive|isRestart|isS4|isSeekable|is\.single|is\.symbol|isSymmetric|isSymmetric\.matrix|is\.table|isTRUE|is\.unsorted|is\.vector|jitter|julian|julian\.Date|julian\.POSIXt|kappa|kappa\.default|kappa\.lm|kappa\.qr|kronecker|l10n_info|labels|labels\.default|La_library|lapply|La\.svd|La_version|lazyLoad|lazyLoadDBexec|lazyLoadDBfetch|lbeta|lchoose|length|length\.POSIXlt|lengths|levels|levels\.default|lfactorial|lgamma|libcurlVersion|library|library\.dynam|library\.dynam\.unload|licence|license|list|list2DF|list2env|list\.dirs|list\.files|load|loadedNamespaces|loadingNamespaceInfo|loadNamespace|local|lockBinding|lockEnvironment|log|log10|log1p|log2|logb|logical|lower\.tri|ls|makeActiveBinding|make\.names|make\.unique|Map|mapply|marginSums|margin\.table|match|match\.arg|match\.call|match\.fun|Math\.data\.frame|Math\.Date|Math\.difftime|Math\.factor|Math\.POSIXt|mat\.or\.vec|matrix|max|max\.col|mean|mean\.Date|mean\.default|mean\.difftime|mean\.POSIXct|mean\.POSIXlt|memCompress|memDecompress|mem\.maxNSize|mem\.maxVSize|memory\.profile|merge|merge\.data\.frame|merge\.default|message|mget|min|missing|Mod|mode|months|months\.Date|months\.POSIXt|names|namespaceExport|namespaceImport|namespaceImportClasses|namespaceImportFrom|namespaceImportMethods|names\.POSIXlt|nargs|nchar|ncol|NCOL|Negate|new\.env|next|NextMethod|ngettext|nlevels|noquote|norm|normalizePath|nrow|NROW|nullfile|numeric|numeric_version|numToBits|numToInts|nzchar|objects|oldClass|OlsonNames|on\.exit|open|open\.connection|open\.srcfile|open\.srcfilealias|open\.srcfilecopy|Ops\.data\.frame|Ops\.Date|Ops\.difftime|Ops\.factor|Ops\.numeric_version|Ops\.ordered|Ops\.POSIXt|options|order|ordered|outer|packageEvent|packageHasNamespace|packageNotFoundError|packageStartupMessage|package_version|packBits|pairlist|parent\.env|parent\.frame|parse|parseNamespaceFile|paste|paste0|path\.expand|path\.package|pcre_config|pi|pipe|plot|pmatch|pmax|pmax\.int|pmin|pmin\.int|polyroot|Position|pos\.to\.env|pretty|pretty\.default|prettyNum|print|print\.AsIs|print\.by|print\.condition|print\.connection|print\.data\.frame|print\.Date|print\.default|print\.difftime|print\.Dlist|print\.DLLInfo|print\.DLLInfoList|print\.DLLRegisteredRoutines|print\.eigen|print\.factor|print\.function|print\.hexmode|print\.libraryIQR|print\.listof|print\.NativeRoutineList|print\.noquote|print\.numeric_version|print\.octmode|print\.packageInfo|print\.POSIXct|print\.POSIXlt|print\.proc_time|print\.restart|print\.rle|print\.simple\.list|print\.srcfile|print\.srcref|print\.summaryDefault|print\.summary\.table|print\.summary\.warnings|print\.table|print\.warnings|prmatrix|proc\.time|prod|proportions|prop\.table|provideDimnames|psigamma|pushBack|pushBackLength|q|qr|qr\.coef|qr\.default|qr\.fitted|qr\.Q|qr\.qty|qr\.qy|qr\.R|qr\.resid|qr\.solve|qr\.X|quarters|quarters\.Date|quarters\.POSIXt|quit|quote|range|range\.default|rank|rapply|raw|rawConnection|rawConnectionValue|rawShift|rawToBits|rawToChar|rbind|rbind\.data\.frame|rcond|Re|readBin|readChar|read\.dcf|readline|readLines|readRDS|readRenviron|Recall|Reduce|regexec|regexpr|reg\.finalizer|registerS3method|registerS3methods|regmatches|remove|removeTaskCallback|rep|rep\.Date|rep\.difftime|repeat|rep\.factor|rep\.int|replace|rep_len|replicate|rep\.numeric_version|rep\.POSIXct|rep\.POSIXlt|require|requireNamespace|restartDescription|restartFormals|retracemem|return|returnValue|rev|rev\.default|R\.home|rle|rm|RNGkind|RNGversion|round|round\.Date|round\.POSIXt|row|rowMeans|rownames|row\.names|row\.names\.data\.frame|row\.names\.default|rowsum|rowsum\.data\.frame|rowsum\.default|rowSums|R_system_version|R\.version|R\.Version|R\.version\.string|sample|sample\.int|sapply|save|save\.image|saveRDS|scale|scale\.default|scan|search|searchpaths|seek|seek\.connection|seq|seq_along|seq\.Date|seq\.default|seq\.int|seq_len|seq\.POSIXt|sequence|sequence\.default|serialize|serverSocket|setdiff|setequal|setHook|setNamespaceInfo|set\.seed|setSessionTimeLimit|setTimeLimit|setwd|showConnections|shQuote|sign|signalCondition|signif|simpleCondition|simpleError|simpleMessage|simpleWarning|simplify2array|sin|single|sinh|sink|sink\.number|sinpi|slice\.index|socketAccept|socketConnection|socketSelect|socketTimeout|solve|solve\.default|solve\.qr|sort|sort\.default|sort\.int|sort\.list|sort\.POSIXlt|source|split|split\.data\.frame|split\.Date|split\.default|split\.POSIXct|sprintf|sqrt|sQuote|srcfile|srcfilealias|srcfilecopy|srcref|standardGeneric|startsWith|stderr|stdin|stdout|stop|stopifnot|storage\.mode|str2expression|str2lang|strftime|strptime|strrep|strsplit|strtoi|strtrim|structure|strwrap|sub|subset|subset\.data\.frame|subset\.default|subset\.matrix|substitute|substr|substring|sum|summary|summary\.connection|summary\.data\.frame|Summary\.data\.frame|summary\.Date|Summary\.Date|summary\.default|Summary\.difftime|summary\.factor|Summary\.factor|summary\.matrix|Summary\.numeric_version|Summary\.ordered|summary\.POSIXct|Summary\.POSIXct|summary\.POSIXlt|Summary\.POSIXlt|summary\.proc_time|summary\.srcfile|summary\.srcref|summary\.table|summary\.warnings|suppressMessages|suppressPackageStartupMessages|suppressWarnings|suspendInterrupts|svd|sweep|switch|sys\.call|sys\.calls|Sys\.chmod|Sys\.Date|sys\.frame|sys\.frames|sys\.function|Sys\.getenv|Sys\.getlocale|Sys\.getpid|Sys\.glob|Sys\.info|sys\.load\.image|Sys\.localeconv|sys\.nframe|sys\.on\.exit|sys\.parent|sys\.parents|Sys\.readlink|sys\.save\.image|Sys\.setenv|Sys\.setFileTime|Sys\.setlocale|Sys\.sleep|sys\.source|sys\.status|system|system2|system\.file|system\.time|Sys\.time|Sys\.timezone|Sys\.umask|Sys\.unsetenv|Sys\.which|t|table|tabulate|tan|tanh|tanpi|tapply|taskCallbackManager|tcrossprod|t\.data\.frame|t\.default|tempdir|tempfile|textConnection|textConnectionValue|tolower|topenv|toString|toString\.default|toupper|trace|traceback|tracemem|tracingState|transform|transform\.data\.frame|transform\.default|trigamma|trimws|trunc|truncate|truncate\.connection|trunc\.Date|trunc\.POSIXt|try|tryCatch|tryInvokeRestart|typeof|unclass|undebug|union|unique|unique\.array|unique\.data\.frame|unique\.default|unique\.matrix|unique\.numeric_version|unique\.POSIXlt|unique\.warnings|units|units\.difftime|unix\.time|unlink|unlist|unloadNamespace|unlockBinding|unname|unserialize|unsplit|untrace|untracemem|unz|upper\.tri|url|UseMethod|utf8ToInt|validEnc|validUTF8|vapply|vector|Vectorize|version|warning|warningCondition|warnings|weekdays|weekdays\.Date|weekdays\.POSIXt|which|which\.max|which\.min|while|with|withAutoprint|withCallingHandlers|with\.default|within|within\.data\.frame|within\.list|withRestarts|withVisible|write|writeBin|writeChar|write\.dcf|writeLines|xor|xpdrows\.data\.frame|xtfrm|xtfrm\.AsIs|xtfrm\.data\.frame|xtfrm\.Date|xtfrm\.default|xtfrm\.difftime|xtfrm\.factor|xtfrm\.numeric_version|xtfrm\.POSIXct|xtfrm\.POSIXlt|xzfile|zapsmall)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(abline|arrows|assocplot|axis|Axis|axis\.Date|axis\.POSIXct|axTicks|barplot|barplot\.default|box|boxplot|boxplot\.default|boxplot\.matrix|bxp|cdplot|clip|close\.screen|co\.intervals|contour|contour\.default|coplot|curve|dotchart|erase\.screen|filled\.contour|fourfoldplot|frame|grconvertX|grconvertY|grid|hist|hist\.default|identify|image|image\.default|layout|layout\.show|lcm|legend|lines|lines\.default|locator|matlines|matplot|matpoints|mosaicplot|mtext|pairs|pairs\.default|panel\.smooth|par|persp|pie|plot|plot\.default|plot\.design|plot\.function|plot\.new|plot\.window|plot\.xy|points|points\.default|polygon|polypath|rasterImage|rect|rug|screen|segments|smoothScatter|spineplot|split\.screen|stars|stem|strheight|stripchart|strwidth|sunflowerplot|symbols|text|text\.default|title|xinch|xspline|xyinch|yinch)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(adjustcolor|as\.graphicsAnnot|as\.raster|axisTicks|bitmap|blues9|bmp|boxplot\.stats|cairo_pdf|cairo_ps|cairoSymbolFont|check\.options|chull|CIDFont|cm|cm\.colors|col2rgb|colorConverter|colorRamp|colorRampPalette|colors|colorspaces|colours|contourLines|convertColor|densCols|dev2bitmap|devAskNewPage|dev\.capabilities|dev\.capture|dev\.control|dev\.copy|dev\.copy2eps|dev\.copy2pdf|dev\.cur|dev\.flush|dev\.hold|deviceIsInteractive|dev\.interactive|dev\.list|dev\.new|dev\.next|dev\.off|dev\.prev|dev\.print|dev\.set|dev\.size|embedFonts|extendrange|getGraphicsEvent|getGraphicsEventEnv|graphics\.off|gray|gray\.colors|grey|grey\.colors|grSoftVersion|hcl|hcl\.colors|hcl\.pals|heat\.colors|Hershey|hsv|is\.raster|jpeg|make\.rgb|n2mfrow|nclass\.FD|nclass\.scott|nclass\.Sturges|palette|palette\.colors|palette\.pals|pdf|pdfFonts|pdf\.options|pictex|png|postscript|postscriptFonts|ps\.options|quartz|quartzFont|quartzFonts|quartz\.options|quartz\.save|rainbow|recordGraphics|recordPlot|replayPlot|rgb|rgb2hsv|savePlot|setEPS|setGraphicsEventEnv|setGraphicsEventHandlers|setPS|svg|terrain\.colors|tiff|topo\.colors|trans3d|Type1Font|x11|X11|X11Font|X11Fonts|X11\.options|xfig|xy\.coords|xyTable|xyz\.coords)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(addNextMethod|allNames|Arith|as|asMethodDefinition|assignClassDef|assignMethodsMetaData|balanceMethodsList|cacheGenericsMetaData|cacheMetaData|cacheMethod|callGeneric|callNextMethod|canCoerce|cbind2|checkAtAssignment|checkSlotAssignment|classesToAM|classLabel|classMetaName|className|coerce|Compare|completeClassDefinition|completeExtends|completeSubclasses|Complex|conformMethod|defaultDumpName|defaultPrototype|doPrimitiveMethod|dumpMethod|dumpMethods|el|elNamed|empty\.dump|emptyMethodsList|evalOnLoad|evalqOnLoad|evalSource|existsFunction|existsMethod|extends|externalRefMethod|finalDefaultMethod|findClass|findFunction|findMethod|findMethods|findMethodSignatures|findUnique|fixPre1\.8|formalArgs|functionBody|generic\.skeleton|getAllSuperClasses|getClass|getClassDef|getClasses|getDataPart|getFunction|getGeneric|getGenerics|getGroup|getGroupMembers|getLoadActions|getMethod|getMethods|getMethodsForDispatch|getMethodsMetaData|getPackageName|getRefClass|getSlots|getValidity|hasArg|hasLoadAction|hasMethod|hasMethods|implicitGeneric|inheritedSlotNames|initFieldArgs|initialize|initRefFields|insertClassMethods|insertMethod|insertSource|is|isClass|isClassDef|isClassUnion|isGeneric|isGrammarSymbol|isGroup|isRematched|isSealedClass|isSealedMethod|isVirtualClass|isXS3Class|kronecker|languageEl|linearizeMlist|listFromMethods|listFromMlist|loadMethod|Logic|makeClassRepresentation|makeExtends|makeGeneric|makeMethodsList|makePrototypeFromClassDef|makeStandardGeneric|matchSignature|Math|Math2|mergeMethods|metaNameUndo|MethodAddCoerce|methodSignatureMatrix|method\.skeleton|MethodsList|MethodsListSelect|methodsPackageMetaName|missingArg|multipleClasses|new|newBasic|newClassRepresentation|newEmptyObject|Ops|packageSlot|possibleExtends|prohibitGeneric|promptClass|promptMethods|prototype|Quote|rbind2|reconcilePropertiesAndPrototype|registerImplicitGenerics|rematchDefinition|removeClass|removeGeneric|removeMethod|removeMethods|representation|requireMethods|resetClass|resetGeneric|S3Class|S3Part|sealClass|selectMethod|selectSuperClasses|setAs|setClass|setClassUnion|setDataPart|setGeneric|setGenericImplicit|setGroupGeneric|setIs|setLoadAction|setLoadActions|setMethod|setOldClass|setPackageName|setPrimitiveMethods|setRefClass|setReplaceMethod|setValidity|show|showClass|showDefault|showExtends|showMethods|showMlist|signature|SignatureMethod|sigToEnv|slot|slotNames|slotsFromS3|substituteDirect|substituteFunctionArgs|Summary|superClassDepth|testInheritedMethods|testVirtual|tryNew|unRematchDefinition|validObject|validSlotNames)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(acf|acf2AR|add1|addmargins|add\.scope|aggregate|aggregate\.data\.frame|aggregate\.ts|AIC|alias|anova|ansari\.test|aov|approx|approxfun|ar|ar\.burg|arima|arima0|arima0\.diag|arima\.sim|ARMAacf|ARMAtoMA|ar\.mle|ar\.ols|ar\.yw|as\.dendrogram|as\.dist|as\.formula|as\.hclust|asOneSidedFormula|as\.stepfun|as\.ts|ave|bandwidth\.kernel|bartlett\.test|BIC|binomial|binom\.test|biplot|Box\.test|bw\.bcv|bw\.nrd|bw\.nrd0|bw\.SJ|bw\.ucv|C|cancor|case\.names|ccf|chisq\.test|cmdscale|coef|coefficients|complete\.cases|confint|confint\.default|confint\.lm|constrOptim|contrasts|contr\.helmert|contr\.poly|contr\.SAS|contr\.sum|contr\.treatment|convolve|cooks\.distance|cophenetic|cor|cor\.test|cov|cov2cor|covratio|cov\.wt|cpgram|cutree|cycle|D|dbeta|dbinom|dcauchy|dchisq|decompose|delete\.response|deltat|dendrapply|density|density\.default|deriv|deriv3|deviance|dexp|df|DF2formula|dfbeta|dfbetas|dffits|df\.kernel|df\.residual|dgamma|dgeom|dhyper|diffinv|dist|dlnorm|dlogis|dmultinom|dnbinom|dnorm|dpois|drop1|drop\.scope|drop\.terms|dsignrank|dt|dummy\.coef|dummy\.coef\.lm|dunif|dweibull|dwilcox|ecdf|eff\.aovlist|effects|embed|end|estVar|expand\.model\.frame|extractAIC|factanal|factor\.scope|family|fft|filter|fisher\.test|fitted|fitted\.values|fivenum|fligner\.test|formula|frequency|friedman\.test|ftable|Gamma|gaussian|get_all_vars|getCall|getInitial|glm|glm\.control|glm\.fit|hasTsp|hat|hatvalues|hclust|heatmap|HoltWinters|influence|influence\.measures|integrate|interaction\.plot|inverse\.gaussian|IQR|is\.empty\.model|is\.leaf|is\.mts|isoreg|is\.stepfun|is\.ts|is\.tskernel|KalmanForecast|KalmanLike|KalmanRun|KalmanSmooth|kernapply|kernel|kmeans|knots|kruskal\.test|ksmooth|ks\.test|lag|lag\.plot|line|lm|lm\.fit|lm\.influence|lm\.wfit|loadings|loess|loess\.control|loess\.smooth|logLik|loglin|lowess|ls\.diag|lsfit|ls\.print|mad|mahalanobis|makeARIMA|make\.link|makepredictcall|manova|mantelhaen\.test|mauchly\.test|mcnemar\.test|median|median\.default|medpolish|model\.extract|model\.frame|model\.frame\.default|model\.matrix|model\.matrix\.default|model\.matrix\.lm|model\.offset|model\.response|model\.tables|model\.weights|monthplot|mood\.test|mvfft|na\.action|na\.contiguous|na\.exclude|na\.fail|na\.omit|na\.pass|napredict|naprint|naresid|nextn|nlm|nlminb|nls|nls\.control|NLSstAsymptotic|NLSstClosestX|NLSstLfAsymptote|NLSstRtAsymptote|nobs|numericDeriv|offset|oneway\.test|optim|optimHess|optimise|optimize|order\.dendrogram|pacf|p\.adjust|p\.adjust\.methods|Pair|pairwise\.prop\.test|pairwise\.table|pairwise\.t\.test|pairwise\.wilcox\.test|pbeta|pbinom|pbirthday|pcauchy|pchisq|pexp|pf|pgamma|pgeom|phyper|plclust|plnorm|plogis|plot\.ecdf|plot\.spec\.coherency|plot\.spec\.phase|plot\.stepfun|plot\.ts|pnbinom|pnorm|poisson|poisson\.test|poly|polym|power|power\.anova\.test|power\.prop\.test|power\.t\.test|ppoints|ppois|ppr|PP\.test|prcomp|predict|predict\.glm|predict\.lm|preplot|princomp|printCoefmat|profile|proj|promax|prop\.test|prop\.trend\.test|psignrank|pt|ptukey|punif|pweibull|pwilcox|qbeta|qbinom|qbirthday|qcauchy|qchisq|qexp|qf|qgamma|qgeom|qhyper|qlnorm|qlogis|qnbinom|qnorm|qpois|qqline|qqnorm|qqplot|qsignrank|qt|qtukey|quade\.test|quantile|quasi|quasibinomial|quasipoisson|qunif|qweibull|qwilcox|r2dtable|rbeta|rbinom|rcauchy|rchisq|read\.ftable|rect\.hclust|reformulate|relevel|reorder|replications|reshape|resid|residuals|residuals\.glm|residuals\.lm|rexp|rf|rgamma|rgeom|rhyper|rlnorm|rlogis|rmultinom|rnbinom|rnorm|rpois|rsignrank|rstandard|rstudent|rt|runif|runmed|rweibull|rwilcox|rWishart|scatter\.smooth|screeplot|sd|se\.contrast|selfStart|setNames|shapiro\.test|sigma|simulate|smooth|smoothEnds|smooth\.spline|sortedXyData|spec\.ar|spec\.pgram|spec\.taper|spectrum|spline|splinefun|splinefunH|SSasymp|SSasympOff|SSasympOrig|SSbiexp|SSD|SSfol|SSfpl|SSgompertz|SSlogis|SSmicmen|SSweibull|start|stat\.anova|step|stepfun|stl|StructTS|summary\.aov|summary\.glm|summary\.lm|summary\.manova|summary\.stepfun|supsmu|symnum|termplot|terms|terms\.formula|time|toeplitz|ts|tsdiag|ts\.intersect|tsp|ts\.plot|tsSmooth|ts\.union|t\.test|TukeyHSD|uniroot|update|update\.default|update\.formula|var|variable\.names|varimax|var\.test|vcov|weighted\.mean|weighted\.residuals|weights|wilcox\.test|window|write\.ftable|xtabs)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(adist|alarm|apropos|aregexec|argsAnywhere|asDateBuilt|askYesNo|aspell|aspell_package_C_files|aspell_package_Rd_files|aspell_package_R_files|aspell_package_vignettes|aspell_write_personal_dictionary_file|as\.person|as\.personList|as\.relistable|as\.roman|assignInMyNamespace|assignInNamespace|available\.packages|bibentry|browseEnv|browseURL|browseVignettes|bug\.report|capture\.output|changedFiles|charClass|checkCRAN|chooseBioCmirror|chooseCRANmirror|citation|cite|citeNatbib|citEntry|citFooter|citHeader|close\.socket|combn|compareVersion|contrib\.url|count\.fields|create\.post|data|dataentry|data\.entry|de|debugcall|debugger|demo|de\.ncols|de\.restore|de\.setup|download\.file|download\.packages|dump\.frames|edit|emacs|example|file\.edit|fileSnapshot|file_test|find|findLineNum|fix|fixInNamespace|flush\.console|formatOL|formatUL|getAnywhere|getCRANmirrors|getFromNamespace|getParseData|getParseText|getS3method|getSrcDirectory|getSrcFilename|getSrcLocation|getSrcref|getTxtProgressBar|glob2rx|globalVariables|hasName|head|head\.matrix|help|help\.request|help\.search|help\.start|history|hsearch_db|hsearch_db_concepts|hsearch_db_keywords|installed\.packages|install\.packages|is\.relistable|isS3method|isS3stdGeneric|limitedLabels|loadhistory|localeToCharset|lsf\.str|ls\.str|maintainer|make\.packages\.html|makeRweaveLatexCodeRunner|make\.socket|memory\.limit|memory\.size|menu|methods|mirror2html|modifyList|new\.packages|news|nsl|object\.size|old\.packages|osVersion|packageDate|packageDescription|packageName|package\.skeleton|packageStatus|packageVersion|page|person|personList|pico|process\.events|prompt|promptData|promptImport|promptPackage|rc\.getOption|rc\.options|rc\.settings|rc\.status|readCitationFile|read\.csv|read\.csv2|read\.delim|read\.delim2|read\.DIF|read\.fortran|read\.fwf|read\.socket|read\.table|recover|relist|remove\.packages|removeSource|Rprof|Rprofmem|RShowDoc|RSiteSearch|rtags|Rtangle|RtangleFinish|RtangleRuncode|RtangleSetup|RtangleWritedoc|RweaveChunkPrefix|RweaveEvalWithOpt|RweaveLatex|RweaveLatexFinish|RweaveLatexOptions|RweaveLatexSetup|RweaveLatexWritedoc|RweaveTryStop|savehistory|select\.list|sessionInfo|setBreakpoint|setRepositories|setTxtProgressBar|stack|Stangle|str|strcapture|strOptions|summaryRprof|suppressForeignCheck|Sweave|SweaveHooks|SweaveSyntaxLatex|SweaveSyntaxNoweb|SweaveSyntConv|tail|tail\.matrix|tar|timestamp|toBibtex|toLatex|txtProgressBar|type\.convert|undebugcall|unstack|untar|unzip|update\.packages|upgrade|URLdecode|URLencode|url\.show|vi|View|vignette|warnErrList|write\.csv|write\.csv2|write\.socket|write\.table|xedit|xemacs|zip)\p{space}*(\()/dgv}]},comments:{patterns:[{captures:{"1":{name:"comment.line.pragma.r"},"2":{name:"entity.name.pragma.name.r"}},match:/(?<=^|\n(?!$))(#pragma[ \t]+mark)[ \t]([^\n]*)/dgv,name:"comment.line.pragma-mark.r"},{begin:/((?<=^|\n(?!$))[ \t]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.r"}},end:new EmulatedRegExp("","dgv",{"strategy":"not_search_start"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.r"}},end:/\n/dgv,name:"comment.line.number-sign.r"}]}]},constants:{patterns:[{match:/\b(pi|letters|LETTERS|month\.abb|month\.name)\b/dgv,name:"support.constant.misc.r"},{match:/\b(TRUE|FALSE|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_|Inf|NaN)\b/dgv,name:"constant.language.r"},{match:/\b0(x|X)[0-9a-fA-F]+i\b/dgv,name:"constant.numeric.imaginary.hexadecimal.r"},{match:/\b\p{Nd}+\.?\p{Nd}*(?:(e|E)(\+|-)?\p{Nd}+)?i\b/dgv,name:"constant.numeric.imaginary.decimal.r"},{match:/\.\p{Nd}+(?:(e|E)(\+|-)?\p{Nd}+)?i\b/dgv,name:"constant.numeric.imaginary.decimal.r"},{match:/\b0(x|X)[0-9a-fA-F]+L\b/dgv,name:"constant.numeric.integer.hexadecimal.r"},{match:/\b\p{Nd}+\.?\p{Nd}*(?:(e|E)(\+|-)?\p{Nd}+)?L\b/dgv,name:"constant.numeric.integer.decimal.r"},{match:/\b0(x|X)[0-9a-fA-F]+\b/dgv,name:"constant.numeric.float.hexadecimal.r"},{match:/\b\p{Nd}+\.?\p{Nd}*(?:(e|E)(\+|-)?\p{Nd}+)?\b/dgv,name:"constant.numeric.float.decimal.r"},{match:/\.\p{Nd}+(?:(e|E)(\+|-)?\p{Nd}+)?\b/dgv,name:"constant.numeric.float.decimal.r"}]},"function-calls":{begin:/(?:\b|(?=\.))((?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`))\p{space}*(\()/dgv,beginCaptures:{"1":{name:"variable.function.r"},"2":{name:"punctuation.section.parens.begin.r"}},contentName:"meta.function-call.arguments.r",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.parens.end.r"}},name:"meta.function-call.r",patterns:[{include:"#function-parameters"}]},"function-declarations":{patterns:[{captures:{"1":{name:"entity.name.function.r"},"2":{name:"keyword.operator.assignment.r"},"3":{name:"keyword.control.r"}},match:/(`[^\`\\]*(?:\\[^\n][^\`\\]*)*`|[A-Za-z\.][0-9A-Za-z\._]*)\p{space}*(<?<-|=(?!=))\p{space}*(function|\\)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"meta.function.r",patterns:[{include:"#lambda-functions"}]}]},"function-parameters":{patterns:[{contentName:"meta.function-call.parameters.r",name:"meta.function-call.r"},{match:/(?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`)(?=\p{space}[^\=])/dgv,name:"variable.other.r"},{begin:/(?==)/dgv,end:/(?=[\,\)])/dgv,patterns:[{include:"source.r"}]},{match:/,/dgv,name:"punctuation.separator.parameters.r"},{include:"source.r"}]},"general-variables":{patterns:[{captures:{"1":{name:"variable.parameter.r"},"2":{name:"keyword.operator.assignment.r"}},match:/([A-Za-z\.][0-9A-Za-z\._]*)\p{space}*(=)(?=[^\=])/dgv},{captures:{"1":{name:"variable.parameter.r"},"2":{name:"keyword.operator.assignment.r"}},match:/(`[^\`]+`)\p{space}*(=)(?=[^\=])/dgv},{match:/\b([\p{Nd}_][0-9A-Za-z\._]+)\b/dgv,name:"invalid.illegal.variable.other.r"},{match:/\b([0-9A-Za-z_]+)(?=::)/dgv,name:"entity.namespace.r"}]},keywords:{patterns:[{match:/\b(break|next|repeat|else|in)\b/dgv,name:"keyword.control.r"},{match:/\b(ifelse|if|for|return|switch|while|invisible)\b(?=\p{space}*\()/dgv,name:"keyword.control.r"},{match:/(-|\+|\*|\/|%\/%|%%|%\*%|%o%|%x%|\^)/dgv,name:"keyword.operator.arithmetic.r"},{match:/(:=|<-|<<-|->|->>)/dgv,name:"keyword.operator.assignment.r"},{match:/(==|<=|>=|!=|<>|<|>|%in%)/dgv,name:"keyword.operator.comparison.r"},{match:/(!|&{1,2}|[\|]{1,2})/dgv,name:"keyword.operator.logical.r"},{match:/(\|>)/dgv,name:"keyword.operator.pipe.r"},{match:/(%between%|%chin%|%like%|%\+%|%\+replace%|%:%|%do%|%dopar%|%>%|%<>%|%T>%|%\$%)/dgv,name:"keyword.operator.other.r"},{match:/(\.\.\.|\$|:|~|@)/dgv,name:"keyword.other.r"}]},"lambda-functions":{patterns:[{begin:/\b(function)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.control.r"},"2":{name:"punctuation.section.parens.begin.r"}},contentName:"meta.function.parameters.r",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.r"}},name:"meta.function.r",patterns:[{include:"#comments"},{match:/(?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`)/dgv,name:"variable.other.r"},{begin:/(?==)/dgv,end:/(?=[\,\)])/dgv,patterns:[{include:"source.r"}]},{match:/,/dgv,name:"punctuation.separator.parameters.r"}]}]},roxygen:{patterns:[{begin:/(?<=^|\n(?!$))\p{space}*(#')\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.r"}},end:/(?=$|\n)\n?/dgv,name:"comment.line.roxygen.r",patterns:[{captures:{"1":{name:"keyword.other.r"},"2":{name:"variable.parameter.r"}},match:/(@param)\p{space}*((?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`))/dgv},{match:/@[a-zA-Z0-9]+/dgv,name:"keyword.other.r"}]}]},"storage-type":{patterns:[{match:/\b(character|complex|double|expression|integer|list|logical|numeric|single|raw)\b(?=\p{space}*\()/dgv,name:"storage.type.r"}]},strings:{patterns:[{begin:/[rR]"(-*)\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\]\1"()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.double.raw.r"},{begin:/[rR]'(-*)\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\]\1'()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.single.raw.r"},{begin:/[rR]"(-*)\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\}\1"()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.double.raw.r"},{begin:/[rR]'(-*)\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\}\1'()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.single.raw.r"},{begin:/[rR]"(-*)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\)\1"()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.double.raw.r"},{begin:/[rR]'(-*)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\)\1'()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.single.raw.r"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.r"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.r"}},name:"string.quoted.double.r",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.r"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.r"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.r"}},name:"string.quoted.single.r",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.r"}]}]}},scopeName:"source.r",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"R",name:"r",patterns:[{include:"#roxygen"},{include:"#comments"},{include:"#constants"},{include:"#keywords"},{include:"#storage-type"},{include:"#strings"},{include:"#brackets"},{include:"#function-declarations"},{include:"#lambda-functions"},{include:"#builtin-functions"},{include:"#function-calls"},{include:"#general-variables"}],repository:{brackets:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.r"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.r"}},patterns:[{include:"source.r"}]},{begin:/\[(?!\[)/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.single.begin.r"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.single.end.r"}},patterns:[{include:"source.r"}]},{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.double.begin.r"}},contentName:"meta.item-access.arguments.r",end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.double.end.r"}},patterns:[{include:"source.r"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.braces.begin.r"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.braces.end.r"}},patterns:[{include:"source.r"}]}]},"builtin-functions":{patterns:[{captures:{"1":{name:"support.function.r"}},match:/\b(abbreviate|abs|acos|acosh|activeBindingFunction|addNA|addTaskCallback|agrep|agrepl|alist|all|all\.equal|all\.equal\.character|all\.equal\.default|all\.equal\.environment|all\.equal\.envRefClass|all\.equal\.factor|all\.equal\.formula|all\.equal\.function|all\.equal\.language|all\.equal\.list|all\.equal\.numeric|all\.equal\.POSIXt|all\.equal\.raw|all\.names|allowInterrupts|all\.vars|any|anyDuplicated|anyDuplicated\.array|anyDuplicated\.data\.frame|anyDuplicated\.default|anyDuplicated\.matrix|anyNA|anyNA\.data\.frame|anyNA\.numeric_version|anyNA\.POSIXlt|aperm|aperm\.default|aperm\.table|append|apply|Arg|args|array|arrayInd|as\.array|as\.array\.default|as\.call|as\.character|as\.character\.condition|as\.character\.Date|as\.character\.default|as\.character\.error|as\.character\.factor|as\.character\.hexmode|as\.character\.numeric_version|as\.character\.octmode|as\.character\.POSIXt|as\.character\.srcref|as\.complex|as\.data\.frame|as\.data\.frame\.array|as\.data\.frame\.AsIs|as\.data\.frame\.character|as\.data\.frame\.complex|as\.data\.frame\.data\.frame|as\.data\.frame\.Date|as\.data\.frame\.default|as\.data\.frame\.difftime|as\.data\.frame\.factor|as\.data\.frame\.integer|as\.data\.frame\.list|as\.data\.frame\.logical|as\.data\.frame\.matrix|as\.data\.frame\.model\.matrix|as\.data\.frame\.noquote|as\.data\.frame\.numeric|as\.data\.frame\.numeric_version|as\.data\.frame\.ordered|as\.data\.frame\.POSIXct|as\.data\.frame\.POSIXlt|as\.data\.frame\.raw|as\.data\.frame\.table|as\.data\.frame\.ts|as\.data\.frame\.vector|as\.Date|as\.Date\.character|as\.Date\.default|as\.Date\.factor|as\.Date\.numeric|as\.Date\.POSIXct|as\.Date\.POSIXlt|as\.difftime|as\.double|as\.double\.difftime|as\.double\.POSIXlt|as\.environment|as\.expression|as\.expression\.default|as\.factor|as\.function|as\.function\.default|as\.hexmode|asin|asinh|as\.integer|as\.list|as\.list\.data\.frame|as\.list\.Date|as\.list\.default|as\.list\.difftime|as\.list\.environment|as\.list\.factor|as\.list\.function|as\.list\.numeric_version|as\.list\.POSIXct|as\.list\.POSIXlt|as\.logical|as\.logical\.factor|as\.matrix|as\.matrix\.data\.frame|as\.matrix\.default|as\.matrix\.noquote|as\.matrix\.POSIXlt|as\.name|asNamespace|as\.null|as\.null\.default|as\.numeric|as\.numeric_version|as\.octmode|as\.ordered|as\.package_version|as\.pairlist|asplit|as\.POSIXct|as\.POSIXct\.Date|as\.POSIXct\.default|as\.POSIXct\.numeric|as\.POSIXct\.POSIXlt|as\.POSIXlt|as\.POSIXlt\.character|as\.POSIXlt\.Date|as\.POSIXlt\.default|as\.POSIXlt\.factor|as\.POSIXlt\.numeric|as\.POSIXlt\.POSIXct|as\.qr|as\.raw|asS3|asS4|assign|as\.single|as\.single\.default|as\.symbol|as\.table|as\.table\.default|as\.vector|as\.vector\.factor|atan|atan2|atanh|attach|attachNamespace|attr|attr\.all\.equal|attributes|autoload|autoloader|backsolve|baseenv|basename|besselI|besselJ|besselK|besselY|beta|bindingIsActive|bindingIsLocked|bindtextdomain|bitwAnd|bitwNot|bitwOr|bitwShiftL|bitwShiftR|bitwXor|body|bquote|break|browser|browserCondition|browserSetDebug|browserText|builtins|by|by\.data\.frame|by\.default|bzfile|c|call|callCC|capabilities|casefold|cat|cbind|cbind\.data\.frame|c\.Date|c\.difftime|ceiling|c\.factor|character|char\.expand|charmatch|charToRaw|chartr|check_tzones|chkDots|chol|chol2inv|chol\.default|choose|class|clearPushBack|close|closeAllConnections|close\.connection|close\.srcfile|close\.srcfilealias|c\.noquote|c\.numeric_version|col|colMeans|colnames|colSums|commandArgs|comment|complex|computeRestarts|conditionCall|conditionCall\.condition|conditionMessage|conditionMessage\.condition|conflictRules|conflicts|Conj|contributors|cos|cosh|cospi|c\.POSIXct|c\.POSIXlt|crossprod|Cstack_info|cummax|cummin|cumprod|cumsum|curlGetHeaders|cut|cut\.Date|cut\.default|cut\.POSIXt|c\.warnings|data\.class|data\.frame|data\.matrix|date|debug|debuggingState|debugonce|default\.stringsAsFactors|delayedAssign|deparse|deparse1|det|detach|determinant|determinant\.matrix|dget|diag|diff|diff\.Date|diff\.default|diff\.difftime|diff\.POSIXt|difftime|digamma|dim|dim\.data\.frame|dimnames|dimnames\.data\.frame|dir|dir\.create|dir\.exists|dirname|do\.call|dontCheck|double|dput|dQuote|drop|droplevels|droplevels\.data\.frame|droplevels\.factor|dump|duplicated|duplicated\.array|duplicated\.data\.frame|duplicated\.default|duplicated\.matrix|duplicated\.numeric_version|duplicated\.POSIXlt|duplicated\.warnings|dynGet|dyn\.load|dyn\.unload|eapply|eigen|emptyenv|enc2native|enc2utf8|encodeString|Encoding|endsWith|enquote|environment|environmentIsLocked|environmentName|env\.profile|errorCondition|eval|eval\.parent|evalq|exists|exp|expand\.grid|expm1|expression|extSoftVersion|factor|factorial|fifo|file|file\.access|file\.append|file\.choose|file\.copy|file\.create|file\.exists|file\.info|file\.link|file\.mode|file\.mtime|file\.path|file\.remove|file\.rename|file\.show|file\.size|file\.symlink|Filter|Find|findInterval|find\.package|findPackageEnv|findRestart|floor|flush|flush\.connection|for|force|forceAndCall|formals|format|format\.AsIs|formatC|format\.data\.frame|format\.Date|format\.default|format\.difftime|formatDL|format\.factor|format\.hexmode|format\.info|format\.libraryIQR|format\.numeric_version|format\.octmode|format\.packageInfo|format\.POSIXct|format\.POSIXlt|format\.pval|format\.summaryDefault|forwardsolve|function|gamma|gc|gcinfo|gc\.time|gctorture|gctorture2|get|get0|getAllConnections|getCallingDLL|getCallingDLLe|getConnection|getDLLRegisteredRoutines|getDLLRegisteredRoutines\.character|getDLLRegisteredRoutines\.DLLInfo|getElement|geterrmessage|getExportedValue|getHook|getLoadedDLLs|getNamespace|getNamespaceExports|getNamespaceImports|getNamespaceInfo|getNamespaceName|getNamespaceUsers|getNamespaceVersion|getNativeSymbolInfo|getOption|getRversion|getSrcLines|getTaskCallbackNames|gettext|gettextf|getwd|gl|globalCallingHandlers|globalenv|gregexec|gregexpr|grep|grepl|grepRaw|grouping|gsub|gzcon|gzfile|I|iconv|iconvlist|icuGetCollate|icuSetCollate|identical|identity|if|ifelse|Im|importIntoEnv|infoRDS|inherits|integer|interaction|interactive|intersect|intToBits|intToUtf8|inverse\.rle|invisible|invokeRestart|invokeRestartInteractively|isa|is\.array|is\.atomic|isatty|isBaseNamespace|is\.call|is\.character|is\.complex|is\.data\.frame|isdebugged|is\.double|is\.element|is\.environment|is\.expression|is\.factor|isFALSE|is\.finite|is\.function|isIncomplete|is\.infinite|is\.integer|is\.language|is\.list|is\.loaded|is\.logical|is\.matrix|is\.na|is\.na\.data\.frame|is\.name|isNamespace|isNamespaceLoaded|is\.nan|is\.na\.numeric_version|is\.na\.POSIXlt|is\.null|is\.numeric|is\.numeric\.Date|is\.numeric\.difftime|is\.numeric\.POSIXt|is\.numeric_version|is\.object|ISOdate|ISOdatetime|isOpen|is\.ordered|is\.package_version|is\.pairlist|is\.primitive|is\.qr|is\.R|is\.raw|is\.recursive|isRestart|isS4|isSeekable|is\.single|is\.symbol|isSymmetric|isSymmetric\.matrix|is\.table|isTRUE|is\.unsorted|is\.vector|jitter|julian|julian\.Date|julian\.POSIXt|kappa|kappa\.default|kappa\.lm|kappa\.qr|kronecker|l10n_info|labels|labels\.default|La_library|lapply|La\.svd|La_version|lazyLoad|lazyLoadDBexec|lazyLoadDBfetch|lbeta|lchoose|length|length\.POSIXlt|lengths|levels|levels\.default|lfactorial|lgamma|libcurlVersion|library|library\.dynam|library\.dynam\.unload|licence|license|list|list2DF|list2env|list\.dirs|list\.files|load|loadedNamespaces|loadingNamespaceInfo|loadNamespace|local|lockBinding|lockEnvironment|log|log10|log1p|log2|logb|logical|lower\.tri|ls|makeActiveBinding|make\.names|make\.unique|Map|mapply|marginSums|margin\.table|match|match\.arg|match\.call|match\.fun|Math\.data\.frame|Math\.Date|Math\.difftime|Math\.factor|Math\.POSIXt|mat\.or\.vec|matrix|max|max\.col|mean|mean\.Date|mean\.default|mean\.difftime|mean\.POSIXct|mean\.POSIXlt|memCompress|memDecompress|mem\.maxNSize|mem\.maxVSize|memory\.profile|merge|merge\.data\.frame|merge\.default|message|mget|min|missing|Mod|mode|months|months\.Date|months\.POSIXt|names|namespaceExport|namespaceImport|namespaceImportClasses|namespaceImportFrom|namespaceImportMethods|names\.POSIXlt|nargs|nchar|ncol|NCOL|Negate|new\.env|next|NextMethod|ngettext|nlevels|noquote|norm|normalizePath|nrow|NROW|nullfile|numeric|numeric_version|numToBits|numToInts|nzchar|objects|oldClass|OlsonNames|on\.exit|open|open\.connection|open\.srcfile|open\.srcfilealias|open\.srcfilecopy|Ops\.data\.frame|Ops\.Date|Ops\.difftime|Ops\.factor|Ops\.numeric_version|Ops\.ordered|Ops\.POSIXt|options|order|ordered|outer|packageEvent|packageHasNamespace|packageNotFoundError|packageStartupMessage|package_version|packBits|pairlist|parent\.env|parent\.frame|parse|parseNamespaceFile|paste|paste0|path\.expand|path\.package|pcre_config|pi|pipe|plot|pmatch|pmax|pmax\.int|pmin|pmin\.int|polyroot|Position|pos\.to\.env|pretty|pretty\.default|prettyNum|print|print\.AsIs|print\.by|print\.condition|print\.connection|print\.data\.frame|print\.Date|print\.default|print\.difftime|print\.Dlist|print\.DLLInfo|print\.DLLInfoList|print\.DLLRegisteredRoutines|print\.eigen|print\.factor|print\.function|print\.hexmode|print\.libraryIQR|print\.listof|print\.NativeRoutineList|print\.noquote|print\.numeric_version|print\.octmode|print\.packageInfo|print\.POSIXct|print\.POSIXlt|print\.proc_time|print\.restart|print\.rle|print\.simple\.list|print\.srcfile|print\.srcref|print\.summaryDefault|print\.summary\.table|print\.summary\.warnings|print\.table|print\.warnings|prmatrix|proc\.time|prod|proportions|prop\.table|provideDimnames|psigamma|pushBack|pushBackLength|q|qr|qr\.coef|qr\.default|qr\.fitted|qr\.Q|qr\.qty|qr\.qy|qr\.R|qr\.resid|qr\.solve|qr\.X|quarters|quarters\.Date|quarters\.POSIXt|quit|quote|range|range\.default|rank|rapply|raw|rawConnection|rawConnectionValue|rawShift|rawToBits|rawToChar|rbind|rbind\.data\.frame|rcond|Re|readBin|readChar|read\.dcf|readline|readLines|readRDS|readRenviron|Recall|Reduce|regexec|regexpr|reg\.finalizer|registerS3method|registerS3methods|regmatches|remove|removeTaskCallback|rep|rep\.Date|rep\.difftime|repeat|rep\.factor|rep\.int|replace|rep_len|replicate|rep\.numeric_version|rep\.POSIXct|rep\.POSIXlt|require|requireNamespace|restartDescription|restartFormals|retracemem|return|returnValue|rev|rev\.default|R\.home|rle|rm|RNGkind|RNGversion|round|round\.Date|round\.POSIXt|row|rowMeans|rownames|row\.names|row\.names\.data\.frame|row\.names\.default|rowsum|rowsum\.data\.frame|rowsum\.default|rowSums|R_system_version|R\.version|R\.Version|R\.version\.string|sample|sample\.int|sapply|save|save\.image|saveRDS|scale|scale\.default|scan|search|searchpaths|seek|seek\.connection|seq|seq_along|seq\.Date|seq\.default|seq\.int|seq_len|seq\.POSIXt|sequence|sequence\.default|serialize|serverSocket|setdiff|setequal|setHook|setNamespaceInfo|set\.seed|setSessionTimeLimit|setTimeLimit|setwd|showConnections|shQuote|sign|signalCondition|signif|simpleCondition|simpleError|simpleMessage|simpleWarning|simplify2array|sin|single|sinh|sink|sink\.number|sinpi|slice\.index|socketAccept|socketConnection|socketSelect|socketTimeout|solve|solve\.default|solve\.qr|sort|sort\.default|sort\.int|sort\.list|sort\.POSIXlt|source|split|split\.data\.frame|split\.Date|split\.default|split\.POSIXct|sprintf|sqrt|sQuote|srcfile|srcfilealias|srcfilecopy|srcref|standardGeneric|startsWith|stderr|stdin|stdout|stop|stopifnot|storage\.mode|str2expression|str2lang|strftime|strptime|strrep|strsplit|strtoi|strtrim|structure|strwrap|sub|subset|subset\.data\.frame|subset\.default|subset\.matrix|substitute|substr|substring|sum|summary|summary\.connection|summary\.data\.frame|Summary\.data\.frame|summary\.Date|Summary\.Date|summary\.default|Summary\.difftime|summary\.factor|Summary\.factor|summary\.matrix|Summary\.numeric_version|Summary\.ordered|summary\.POSIXct|Summary\.POSIXct|summary\.POSIXlt|Summary\.POSIXlt|summary\.proc_time|summary\.srcfile|summary\.srcref|summary\.table|summary\.warnings|suppressMessages|suppressPackageStartupMessages|suppressWarnings|suspendInterrupts|svd|sweep|switch|sys\.call|sys\.calls|Sys\.chmod|Sys\.Date|sys\.frame|sys\.frames|sys\.function|Sys\.getenv|Sys\.getlocale|Sys\.getpid|Sys\.glob|Sys\.info|sys\.load\.image|Sys\.localeconv|sys\.nframe|sys\.on\.exit|sys\.parent|sys\.parents|Sys\.readlink|sys\.save\.image|Sys\.setenv|Sys\.setFileTime|Sys\.setlocale|Sys\.sleep|sys\.source|sys\.status|system|system2|system\.file|system\.time|Sys\.time|Sys\.timezone|Sys\.umask|Sys\.unsetenv|Sys\.which|t|table|tabulate|tan|tanh|tanpi|tapply|taskCallbackManager|tcrossprod|t\.data\.frame|t\.default|tempdir|tempfile|textConnection|textConnectionValue|tolower|topenv|toString|toString\.default|toupper|trace|traceback|tracemem|tracingState|transform|transform\.data\.frame|transform\.default|trigamma|trimws|trunc|truncate|truncate\.connection|trunc\.Date|trunc\.POSIXt|try|tryCatch|tryInvokeRestart|typeof|unclass|undebug|union|unique|unique\.array|unique\.data\.frame|unique\.default|unique\.matrix|unique\.numeric_version|unique\.POSIXlt|unique\.warnings|units|units\.difftime|unix\.time|unlink|unlist|unloadNamespace|unlockBinding|unname|unserialize|unsplit|untrace|untracemem|unz|upper\.tri|url|UseMethod|utf8ToInt|validEnc|validUTF8|vapply|vector|Vectorize|version|warning|warningCondition|warnings|weekdays|weekdays\.Date|weekdays\.POSIXt|which|which\.max|which\.min|while|with|withAutoprint|withCallingHandlers|with\.default|within|within\.data\.frame|within\.list|withRestarts|withVisible|write|writeBin|writeChar|write\.dcf|writeLines|xor|xpdrows\.data\.frame|xtfrm|xtfrm\.AsIs|xtfrm\.data\.frame|xtfrm\.Date|xtfrm\.default|xtfrm\.difftime|xtfrm\.factor|xtfrm\.numeric_version|xtfrm\.POSIXct|xtfrm\.POSIXlt|xzfile|zapsmall)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(abline|arrows|assocplot|axis|Axis|axis\.Date|axis\.POSIXct|axTicks|barplot|barplot\.default|box|boxplot|boxplot\.default|boxplot\.matrix|bxp|cdplot|clip|close\.screen|co\.intervals|contour|contour\.default|coplot|curve|dotchart|erase\.screen|filled\.contour|fourfoldplot|frame|grconvertX|grconvertY|grid|hist|hist\.default|identify|image|image\.default|layout|layout\.show|lcm|legend|lines|lines\.default|locator|matlines|matplot|matpoints|mosaicplot|mtext|pairs|pairs\.default|panel\.smooth|par|persp|pie|plot|plot\.default|plot\.design|plot\.function|plot\.new|plot\.window|plot\.xy|points|points\.default|polygon|polypath|rasterImage|rect|rug|screen|segments|smoothScatter|spineplot|split\.screen|stars|stem|strheight|stripchart|strwidth|sunflowerplot|symbols|text|text\.default|title|xinch|xspline|xyinch|yinch)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(adjustcolor|as\.graphicsAnnot|as\.raster|axisTicks|bitmap|blues9|bmp|boxplot\.stats|cairo_pdf|cairo_ps|cairoSymbolFont|check\.options|chull|CIDFont|cm|cm\.colors|col2rgb|colorConverter|colorRamp|colorRampPalette|colors|colorspaces|colours|contourLines|convertColor|densCols|dev2bitmap|devAskNewPage|dev\.capabilities|dev\.capture|dev\.control|dev\.copy|dev\.copy2eps|dev\.copy2pdf|dev\.cur|dev\.flush|dev\.hold|deviceIsInteractive|dev\.interactive|dev\.list|dev\.new|dev\.next|dev\.off|dev\.prev|dev\.print|dev\.set|dev\.size|embedFonts|extendrange|getGraphicsEvent|getGraphicsEventEnv|graphics\.off|gray|gray\.colors|grey|grey\.colors|grSoftVersion|hcl|hcl\.colors|hcl\.pals|heat\.colors|Hershey|hsv|is\.raster|jpeg|make\.rgb|n2mfrow|nclass\.FD|nclass\.scott|nclass\.Sturges|palette|palette\.colors|palette\.pals|pdf|pdfFonts|pdf\.options|pictex|png|postscript|postscriptFonts|ps\.options|quartz|quartzFont|quartzFonts|quartz\.options|quartz\.save|rainbow|recordGraphics|recordPlot|replayPlot|rgb|rgb2hsv|savePlot|setEPS|setGraphicsEventEnv|setGraphicsEventHandlers|setPS|svg|terrain\.colors|tiff|topo\.colors|trans3d|Type1Font|x11|X11|X11Font|X11Fonts|X11\.options|xfig|xy\.coords|xyTable|xyz\.coords)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(addNextMethod|allNames|Arith|as|asMethodDefinition|assignClassDef|assignMethodsMetaData|balanceMethodsList|cacheGenericsMetaData|cacheMetaData|cacheMethod|callGeneric|callNextMethod|canCoerce|cbind2|checkAtAssignment|checkSlotAssignment|classesToAM|classLabel|classMetaName|className|coerce|Compare|completeClassDefinition|completeExtends|completeSubclasses|Complex|conformMethod|defaultDumpName|defaultPrototype|doPrimitiveMethod|dumpMethod|dumpMethods|el|elNamed|empty\.dump|emptyMethodsList|evalOnLoad|evalqOnLoad|evalSource|existsFunction|existsMethod|extends|externalRefMethod|finalDefaultMethod|findClass|findFunction|findMethod|findMethods|findMethodSignatures|findUnique|fixPre1\.8|formalArgs|functionBody|generic\.skeleton|getAllSuperClasses|getClass|getClassDef|getClasses|getDataPart|getFunction|getGeneric|getGenerics|getGroup|getGroupMembers|getLoadActions|getMethod|getMethods|getMethodsForDispatch|getMethodsMetaData|getPackageName|getRefClass|getSlots|getValidity|hasArg|hasLoadAction|hasMethod|hasMethods|implicitGeneric|inheritedSlotNames|initFieldArgs|initialize|initRefFields|insertClassMethods|insertMethod|insertSource|is|isClass|isClassDef|isClassUnion|isGeneric|isGrammarSymbol|isGroup|isRematched|isSealedClass|isSealedMethod|isVirtualClass|isXS3Class|kronecker|languageEl|linearizeMlist|listFromMethods|listFromMlist|loadMethod|Logic|makeClassRepresentation|makeExtends|makeGeneric|makeMethodsList|makePrototypeFromClassDef|makeStandardGeneric|matchSignature|Math|Math2|mergeMethods|metaNameUndo|MethodAddCoerce|methodSignatureMatrix|method\.skeleton|MethodsList|MethodsListSelect|methodsPackageMetaName|missingArg|multipleClasses|new|newBasic|newClassRepresentation|newEmptyObject|Ops|packageSlot|possibleExtends|prohibitGeneric|promptClass|promptMethods|prototype|Quote|rbind2|reconcilePropertiesAndPrototype|registerImplicitGenerics|rematchDefinition|removeClass|removeGeneric|removeMethod|removeMethods|representation|requireMethods|resetClass|resetGeneric|S3Class|S3Part|sealClass|selectMethod|selectSuperClasses|setAs|setClass|setClassUnion|setDataPart|setGeneric|setGenericImplicit|setGroupGeneric|setIs|setLoadAction|setLoadActions|setMethod|setOldClass|setPackageName|setPrimitiveMethods|setRefClass|setReplaceMethod|setValidity|show|showClass|showDefault|showExtends|showMethods|showMlist|signature|SignatureMethod|sigToEnv|slot|slotNames|slotsFromS3|substituteDirect|substituteFunctionArgs|Summary|superClassDepth|testInheritedMethods|testVirtual|tryNew|unRematchDefinition|validObject|validSlotNames)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(acf|acf2AR|add1|addmargins|add\.scope|aggregate|aggregate\.data\.frame|aggregate\.ts|AIC|alias|anova|ansari\.test|aov|approx|approxfun|ar|ar\.burg|arima|arima0|arima0\.diag|arima\.sim|ARMAacf|ARMAtoMA|ar\.mle|ar\.ols|ar\.yw|as\.dendrogram|as\.dist|as\.formula|as\.hclust|asOneSidedFormula|as\.stepfun|as\.ts|ave|bandwidth\.kernel|bartlett\.test|BIC|binomial|binom\.test|biplot|Box\.test|bw\.bcv|bw\.nrd|bw\.nrd0|bw\.SJ|bw\.ucv|C|cancor|case\.names|ccf|chisq\.test|cmdscale|coef|coefficients|complete\.cases|confint|confint\.default|confint\.lm|constrOptim|contrasts|contr\.helmert|contr\.poly|contr\.SAS|contr\.sum|contr\.treatment|convolve|cooks\.distance|cophenetic|cor|cor\.test|cov|cov2cor|covratio|cov\.wt|cpgram|cutree|cycle|D|dbeta|dbinom|dcauchy|dchisq|decompose|delete\.response|deltat|dendrapply|density|density\.default|deriv|deriv3|deviance|dexp|df|DF2formula|dfbeta|dfbetas|dffits|df\.kernel|df\.residual|dgamma|dgeom|dhyper|diffinv|dist|dlnorm|dlogis|dmultinom|dnbinom|dnorm|dpois|drop1|drop\.scope|drop\.terms|dsignrank|dt|dummy\.coef|dummy\.coef\.lm|dunif|dweibull|dwilcox|ecdf|eff\.aovlist|effects|embed|end|estVar|expand\.model\.frame|extractAIC|factanal|factor\.scope|family|fft|filter|fisher\.test|fitted|fitted\.values|fivenum|fligner\.test|formula|frequency|friedman\.test|ftable|Gamma|gaussian|get_all_vars|getCall|getInitial|glm|glm\.control|glm\.fit|hasTsp|hat|hatvalues|hclust|heatmap|HoltWinters|influence|influence\.measures|integrate|interaction\.plot|inverse\.gaussian|IQR|is\.empty\.model|is\.leaf|is\.mts|isoreg|is\.stepfun|is\.ts|is\.tskernel|KalmanForecast|KalmanLike|KalmanRun|KalmanSmooth|kernapply|kernel|kmeans|knots|kruskal\.test|ksmooth|ks\.test|lag|lag\.plot|line|lm|lm\.fit|lm\.influence|lm\.wfit|loadings|loess|loess\.control|loess\.smooth|logLik|loglin|lowess|ls\.diag|lsfit|ls\.print|mad|mahalanobis|makeARIMA|make\.link|makepredictcall|manova|mantelhaen\.test|mauchly\.test|mcnemar\.test|median|median\.default|medpolish|model\.extract|model\.frame|model\.frame\.default|model\.matrix|model\.matrix\.default|model\.matrix\.lm|model\.offset|model\.response|model\.tables|model\.weights|monthplot|mood\.test|mvfft|na\.action|na\.contiguous|na\.exclude|na\.fail|na\.omit|na\.pass|napredict|naprint|naresid|nextn|nlm|nlminb|nls|nls\.control|NLSstAsymptotic|NLSstClosestX|NLSstLfAsymptote|NLSstRtAsymptote|nobs|numericDeriv|offset|oneway\.test|optim|optimHess|optimise|optimize|order\.dendrogram|pacf|p\.adjust|p\.adjust\.methods|Pair|pairwise\.prop\.test|pairwise\.table|pairwise\.t\.test|pairwise\.wilcox\.test|pbeta|pbinom|pbirthday|pcauchy|pchisq|pexp|pf|pgamma|pgeom|phyper|plclust|plnorm|plogis|plot\.ecdf|plot\.spec\.coherency|plot\.spec\.phase|plot\.stepfun|plot\.ts|pnbinom|pnorm|poisson|poisson\.test|poly|polym|power|power\.anova\.test|power\.prop\.test|power\.t\.test|ppoints|ppois|ppr|PP\.test|prcomp|predict|predict\.glm|predict\.lm|preplot|princomp|printCoefmat|profile|proj|promax|prop\.test|prop\.trend\.test|psignrank|pt|ptukey|punif|pweibull|pwilcox|qbeta|qbinom|qbirthday|qcauchy|qchisq|qexp|qf|qgamma|qgeom|qhyper|qlnorm|qlogis|qnbinom|qnorm|qpois|qqline|qqnorm|qqplot|qsignrank|qt|qtukey|quade\.test|quantile|quasi|quasibinomial|quasipoisson|qunif|qweibull|qwilcox|r2dtable|rbeta|rbinom|rcauchy|rchisq|read\.ftable|rect\.hclust|reformulate|relevel|reorder|replications|reshape|resid|residuals|residuals\.glm|residuals\.lm|rexp|rf|rgamma|rgeom|rhyper|rlnorm|rlogis|rmultinom|rnbinom|rnorm|rpois|rsignrank|rstandard|rstudent|rt|runif|runmed|rweibull|rwilcox|rWishart|scatter\.smooth|screeplot|sd|se\.contrast|selfStart|setNames|shapiro\.test|sigma|simulate|smooth|smoothEnds|smooth\.spline|sortedXyData|spec\.ar|spec\.pgram|spec\.taper|spectrum|spline|splinefun|splinefunH|SSasymp|SSasympOff|SSasympOrig|SSbiexp|SSD|SSfol|SSfpl|SSgompertz|SSlogis|SSmicmen|SSweibull|start|stat\.anova|step|stepfun|stl|StructTS|summary\.aov|summary\.glm|summary\.lm|summary\.manova|summary\.stepfun|supsmu|symnum|termplot|terms|terms\.formula|time|toeplitz|ts|tsdiag|ts\.intersect|tsp|ts\.plot|tsSmooth|ts\.union|t\.test|TukeyHSD|uniroot|update|update\.default|update\.formula|var|variable\.names|varimax|var\.test|vcov|weighted\.mean|weighted\.residuals|weights|wilcox\.test|window|write\.ftable|xtabs)\p{space}*(\()/dgv},{captures:{"1":{name:"support.function.r"}},match:/\b(adist|alarm|apropos|aregexec|argsAnywhere|asDateBuilt|askYesNo|aspell|aspell_package_C_files|aspell_package_Rd_files|aspell_package_R_files|aspell_package_vignettes|aspell_write_personal_dictionary_file|as\.person|as\.personList|as\.relistable|as\.roman|assignInMyNamespace|assignInNamespace|available\.packages|bibentry|browseEnv|browseURL|browseVignettes|bug\.report|capture\.output|changedFiles|charClass|checkCRAN|chooseBioCmirror|chooseCRANmirror|citation|cite|citeNatbib|citEntry|citFooter|citHeader|close\.socket|combn|compareVersion|contrib\.url|count\.fields|create\.post|data|dataentry|data\.entry|de|debugcall|debugger|demo|de\.ncols|de\.restore|de\.setup|download\.file|download\.packages|dump\.frames|edit|emacs|example|file\.edit|fileSnapshot|file_test|find|findLineNum|fix|fixInNamespace|flush\.console|formatOL|formatUL|getAnywhere|getCRANmirrors|getFromNamespace|getParseData|getParseText|getS3method|getSrcDirectory|getSrcFilename|getSrcLocation|getSrcref|getTxtProgressBar|glob2rx|globalVariables|hasName|head|head\.matrix|help|help\.request|help\.search|help\.start|history|hsearch_db|hsearch_db_concepts|hsearch_db_keywords|installed\.packages|install\.packages|is\.relistable|isS3method|isS3stdGeneric|limitedLabels|loadhistory|localeToCharset|lsf\.str|ls\.str|maintainer|make\.packages\.html|makeRweaveLatexCodeRunner|make\.socket|memory\.limit|memory\.size|menu|methods|mirror2html|modifyList|new\.packages|news|nsl|object\.size|old\.packages|osVersion|packageDate|packageDescription|packageName|package\.skeleton|packageStatus|packageVersion|page|person|personList|pico|process\.events|prompt|promptData|promptImport|promptPackage|rc\.getOption|rc\.options|rc\.settings|rc\.status|readCitationFile|read\.csv|read\.csv2|read\.delim|read\.delim2|read\.DIF|read\.fortran|read\.fwf|read\.socket|read\.table|recover|relist|remove\.packages|removeSource|Rprof|Rprofmem|RShowDoc|RSiteSearch|rtags|Rtangle|RtangleFinish|RtangleRuncode|RtangleSetup|RtangleWritedoc|RweaveChunkPrefix|RweaveEvalWithOpt|RweaveLatex|RweaveLatexFinish|RweaveLatexOptions|RweaveLatexSetup|RweaveLatexWritedoc|RweaveTryStop|savehistory|select\.list|sessionInfo|setBreakpoint|setRepositories|setTxtProgressBar|stack|Stangle|str|strcapture|strOptions|summaryRprof|suppressForeignCheck|Sweave|SweaveHooks|SweaveSyntaxLatex|SweaveSyntaxNoweb|SweaveSyntConv|tail|tail\.matrix|tar|timestamp|toBibtex|toLatex|txtProgressBar|type\.convert|undebugcall|unstack|untar|unzip|update\.packages|upgrade|URLdecode|URLencode|url\.show|vi|View|vignette|warnErrList|write\.csv|write\.csv2|write\.socket|write\.table|xedit|xemacs|zip)\p{space}*(\()/dgv}]},comments:{patterns:[{captures:{"1":{name:"comment.line.pragma.r"},"2":{name:"entity.name.pragma.name.r"}},match:/(?<=^|\n(?!$))(#pragma[ \t]+mark)[ \t]([^\n]*)/dgv,name:"comment.line.pragma-mark.r"},{begin:/((?<=^|\n(?!$))[ \t]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.r"}},end:new EmulatedRegExp("","dgv",{"strategy":"not_search_start"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.r"}},end:/\n/dgv,name:"comment.line.number-sign.r"}]}]},constants:{patterns:[{match:/\b(pi|letters|LETTERS|month\.abb|month\.name)\b/dgv,name:"support.constant.misc.r"},{match:/\b(TRUE|FALSE|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_|Inf|NaN)\b/dgv,name:"constant.language.r"},{match:/\b0(x|X)[0-9a-fA-F]+i\b/dgv,name:"constant.numeric.imaginary.hexadecimal.r"},{match:/\b[0-9]+\.?[0-9]*(?:(e|E)(\+|-)?[0-9]+)?i\b/dgv,name:"constant.numeric.imaginary.decimal.r"},{match:/\.[0-9]+(?:(e|E)(\+|-)?[0-9]+)?i\b/dgv,name:"constant.numeric.imaginary.decimal.r"},{match:/\b0(x|X)[0-9a-fA-F]+L\b/dgv,name:"constant.numeric.integer.hexadecimal.r"},{match:/\b[0-9]+\.?[0-9]*(?:(e|E)(\+|-)?[0-9]+)?L\b/dgv,name:"constant.numeric.integer.decimal.r"},{match:/\b0(x|X)[0-9a-fA-F]+\b/dgv,name:"constant.numeric.float.hexadecimal.r"},{match:/\b[0-9]+\.?[0-9]*(?:(e|E)(\+|-)?[0-9]+)?\b/dgv,name:"constant.numeric.float.decimal.r"},{match:/\.[0-9]+(?:(e|E)(\+|-)?[0-9]+)?\b/dgv,name:"constant.numeric.float.decimal.r"}]},"function-calls":{begin:/(?:\b|(?=\.))((?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`))\p{space}*(\()/dgv,beginCaptures:{"1":{name:"variable.function.r"},"2":{name:"punctuation.section.parens.begin.r"}},contentName:"meta.function-call.arguments.r",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.parens.end.r"}},name:"meta.function-call.r",patterns:[{include:"#function-parameters"}]},"function-declarations":{patterns:[{captures:{"1":{name:"entity.name.function.r"},"2":{name:"keyword.operator.assignment.r"},"3":{name:"keyword.control.r"}},match:/(`[^\`\\]*(?:\\[^\n][^\`\\]*)*`|[\p{Alpha}\.][\p{Alpha}\p{Nd}\._]*)\p{space}*(<?<-|=(?!=))\p{space}*(function|\\)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"meta.function.r",patterns:[{include:"#lambda-functions"}]}]},"function-parameters":{patterns:[{contentName:"meta.function-call.parameters.r",name:"meta.function-call.r"},{match:/(?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`)(?=\p{space}[^\=])/dgv,name:"variable.other.r"},{begin:/(?==)/dgv,end:/(?=[\,\)])/dgv,patterns:[{include:"source.r"}]},{match:/,/dgv,name:"punctuation.separator.parameters.r"},{include:"source.r"}]},"general-variables":{patterns:[{captures:{"1":{name:"variable.parameter.r"},"2":{name:"keyword.operator.assignment.r"}},match:/([\p{Alpha}\.][\p{Alpha}\p{Nd}\._]*)\p{space}*(=)(?=[^\=])/dgv},{captures:{"1":{name:"variable.parameter.r"},"2":{name:"keyword.operator.assignment.r"}},match:/(`[^\`]+`)\p{space}*(=)(?=[^\=])/dgv},{match:/\b([\p{Nd}_][\p{Alpha}\p{Nd}\._]+)\b/dgv,name:"invalid.illegal.variable.other.r"},{match:/\b([\p{Alpha}\p{Nd}_]+)(?=::)/dgv,name:"entity.namespace.r"}]},keywords:{patterns:[{match:/\b(break|next|repeat|else|in)\b/dgv,name:"keyword.control.r"},{match:/\b(ifelse|if|for|return|switch|while|invisible)\b(?=\p{space}*\()/dgv,name:"keyword.control.r"},{match:/(-|\+|\*|\/|%\/%|%%|%\*%|%o%|%x%|\^)/dgv,name:"keyword.operator.arithmetic.r"},{match:/(:=|<-|<<-|->|->>)/dgv,name:"keyword.operator.assignment.r"},{match:/(==|<=|>=|!=|<>|<|>|%in%)/dgv,name:"keyword.operator.comparison.r"},{match:/(!|&{1,2}|[\|]{1,2})/dgv,name:"keyword.operator.logical.r"},{match:/(\|>)/dgv,name:"keyword.operator.pipe.r"},{match:/(%between%|%chin%|%like%|%\+%|%\+replace%|%:%|%do%|%dopar%|%>%|%<>%|%T>%|%\$%)/dgv,name:"keyword.operator.other.r"},{match:/(\.\.\.|\$|:|~|@)/dgv,name:"keyword.other.r"}]},"lambda-functions":{patterns:[{begin:/\b(function)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.control.r"},"2":{name:"punctuation.section.parens.begin.r"}},contentName:"meta.function.parameters.r",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.r"}},name:"meta.function.r",patterns:[{include:"#comments"},{match:/(?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`)/dgv,name:"variable.other.r"},{begin:/(?==)/dgv,end:/(?=[\,\)])/dgv,patterns:[{include:"source.r"}]},{match:/,/dgv,name:"punctuation.separator.parameters.r"}]}]},roxygen:{patterns:[{begin:/(?<=^|\n(?!$))\p{space}*(#')\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.r"}},end:/(?=$|\n)\n?/dgv,name:"comment.line.roxygen.r",patterns:[{captures:{"1":{name:"keyword.other.r"},"2":{name:"variable.parameter.r"}},match:/(@param)\p{space}*((?:[a-zA-Z\._][\p{L}\p{M}\p{N}\p{Pc}\.]*|`[^\`]+`))/dgv},{match:/@[a-zA-Z0-9]+/dgv,name:"keyword.other.r"}]}]},"storage-type":{patterns:[{match:/\b(character|complex|double|expression|integer|list|logical|numeric|single|raw)\b(?=\p{space}*\()/dgv,name:"storage.type.r"}]},strings:{patterns:[{begin:/[rR]"(-*)\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\]\1"()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.double.raw.r"},{begin:/[rR]'(-*)\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\]\1'()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.single.raw.r"},{begin:/[rR]"(-*)\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\}\1"()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.double.raw.r"},{begin:/[rR]'(-*)\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\}\1'()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.single.raw.r"},{begin:/[rR]"(-*)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\)\1"()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.double.raw.r"},{begin:/[rR]'(-*)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.raw.begin.r"}},end:/\)\1'()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.raw.end.r"}},name:"string.quoted.single.raw.r"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.r"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.r"}},name:"string.quoted.double.r",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.r"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.r"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.r"}},name:"string.quoted.single.r",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.r"}]}]}},scopeName:"source.r",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang