github-linguist 7.16.0 → 7.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/etc.json +1 -1
  5. data/grammars/go.mod.json +1 -0
  6. data/grammars/go.sum.json +1 -0
  7. data/grammars/hint.haskell.json +1 -1
  8. data/grammars/hint.message.haskell.json +1 -1
  9. data/grammars/hint.type.haskell.json +1 -1
  10. data/grammars/liquid.injection.json +1 -0
  11. data/grammars/markdown.curry.codeblock.json +1 -0
  12. data/grammars/markdown.textproto.codeblock.json +1 -0
  13. data/grammars/source.2da.json +1 -0
  14. data/grammars/source.abap.json +1 -1
  15. data/grammars/source.aidl.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.bc.json +1 -0
  18. data/grammars/source.bicep.json +1 -1
  19. data/grammars/source.bnd.json +1 -0
  20. data/grammars/source.cirru.json +1 -1
  21. data/grammars/source.cl.json +1 -0
  22. data/grammars/source.clar.json +1 -0
  23. data/grammars/source.clarion.json +1 -1
  24. data/grammars/source.clojure.json +1 -1
  25. data/grammars/source.cmd.json +1 -0
  26. data/grammars/source.cs.json +1 -1
  27. data/grammars/source.csound.json +1 -1
  28. data/grammars/source.css.json +1 -1
  29. data/grammars/source.curry.json +1 -0
  30. data/grammars/source.dart.json +1 -1
  31. data/grammars/source.data-weave.json +1 -1
  32. data/grammars/source.dc.json +1 -0
  33. data/grammars/source.dds.dspf.json +1 -0
  34. data/grammars/source.dds.icff.json +1 -0
  35. data/grammars/source.dds.lf.json +1 -0
  36. data/grammars/source.dds.pf.json +1 -0
  37. data/grammars/source.dds.prtf.json +1 -0
  38. data/grammars/source.deb-control.json +1 -0
  39. data/grammars/source.debian.makefile.json +1 -0
  40. data/grammars/source.denizenscript.json +1 -0
  41. data/grammars/source.ditroff.json +1 -1
  42. data/grammars/source.earthfile.json +1 -0
  43. data/grammars/source.elixir.json +1 -1
  44. data/grammars/source.euphoria.json +1 -0
  45. data/grammars/source.fsharp.json +1 -1
  46. data/grammars/source.fstar.json +1 -1
  47. data/grammars/source.futhark.json +1 -1
  48. data/grammars/source.gcode.json +1 -1
  49. data/grammars/source.gitignore.json +1 -1
  50. data/grammars/source.gleam.json +1 -0
  51. data/grammars/source.goldgrm.json +1 -0
  52. data/grammars/source.gsc.json +1 -0
  53. data/grammars/source.haskell.json +1 -1
  54. data/grammars/source.hoon.json +1 -0
  55. data/grammars/source.hsig.json +1 -1
  56. data/grammars/source.icurry.json +1 -0
  57. data/grammars/source.janet.json +1 -0
  58. data/grammars/source.jest.snap.json +1 -0
  59. data/grammars/source.jq.json +1 -1
  60. data/grammars/source.js.json +1 -1
  61. data/grammars/source.json.json +1 -1
  62. data/grammars/source.julia.json +1 -1
  63. data/grammars/source.kotlin.json +1 -1
  64. data/grammars/source.m2.json +1 -1
  65. data/grammars/source.matlab.json +1 -1
  66. data/grammars/source.mi.json +1 -0
  67. data/grammars/source.miniyaml.json +1 -0
  68. data/grammars/source.mint.json +1 -0
  69. data/grammars/source.mlir.json +1 -1
  70. data/grammars/source.mo.json +1 -0
  71. data/grammars/source.odin.json +1 -1
  72. data/grammars/source.opts.json +1 -1
  73. data/grammars/source.pcb.schematic.json +1 -1
  74. data/grammars/source.pcb.sexp.json +1 -1
  75. data/grammars/source.pic.json +1 -1
  76. data/grammars/source.pnlgrp.json +1 -0
  77. data/grammars/source.postscript.json +1 -1
  78. data/grammars/source.powershell.json +1 -1
  79. data/grammars/source.procfile.json +1 -0
  80. data/grammars/source.promela.json +1 -0
  81. data/grammars/source.proto.json +1 -1
  82. data/grammars/source.python.kivy.json +1 -0
  83. data/grammars/source.q_output.json +1 -1
  84. data/grammars/source.qsharp.json +1 -1
  85. data/grammars/source.rascal.json +1 -1
  86. data/grammars/source.rego.json +1 -1
  87. data/grammars/source.rescript.json +1 -1
  88. data/grammars/source.rpg.json +1 -0
  89. data/grammars/source.rpgle.json +1 -0
  90. data/grammars/source.scala.json +1 -1
  91. data/grammars/source.shellcheckrc.json +1 -1
  92. data/grammars/source.smali.json +1 -1
  93. data/grammars/source.solidity.json +1 -1
  94. data/grammars/source.sqf.json +1 -1
  95. data/grammars/source.ssh-config.json +1 -1
  96. data/grammars/source.textproto.json +1 -0
  97. data/grammars/source.ts.json +1 -1
  98. data/grammars/source.tsx.json +1 -1
  99. data/grammars/source.v.json +1 -1
  100. data/grammars/source.vyper.json +1 -1
  101. data/grammars/source.witcherscript.json +1 -0
  102. data/grammars/source.ws.json +1 -0
  103. data/grammars/source.wsd.json +1 -1
  104. data/grammars/source.yara.json +1 -1
  105. data/grammars/source.yasnippet.json +1 -1
  106. data/grammars/text.html.liquid.json +1 -1
  107. data/grammars/text.html.php.json +1 -1
  108. data/grammars/text.roff.json +1 -1
  109. data/grammars/text.rtf.json +1 -1
  110. data/grammars/text.tex.latex.haskell.json +1 -1
  111. data/grammars/version +1 -1
  112. data/lib/linguist/VERSION +1 -1
  113. data/lib/linguist/documentation.yml +1 -0
  114. data/lib/linguist/generated.rb +32 -1
  115. data/lib/linguist/heuristics.yml +52 -2
  116. data/lib/linguist/languages.json +1 -1
  117. data/lib/linguist/languages.yml +297 -22
  118. data/lib/linguist/samples.json +1 -1
  119. data/lib/linguist/vendor.yml +4 -1
  120. metadata +82 -40
  121. data/lib/linguist/linguist.bundle +0 -0
@@ -0,0 +1 @@
1
+ {"name":"Janet","scopeName":"source.janet","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comment"},{"include":"#parens"},{"include":"#brackets"},{"include":"#braces"},{"include":"#readermac"},{"include":"#string"},{"include":"#longstring"},{"include":"#literal"},{"include":"#corelib"},{"include":"#r-number"},{"include":"#dec-number"},{"include":"#hex-number"},{"include":"#keysym"},{"include":"#symbol"}]},"braces":{"begin":"(@?{)","end":"(})","patterns":[{"include":"#all"}],"captures":{"1":{"name":"punctuation.definition.braces.end.janet"}}},"brackets":{"begin":"(@?\\[)","end":"(\\])","patterns":[{"include":"#all"}],"captures":{"1":{"name":"punctuation.definition.brackets.end.janet"}}},"comment":{"name":"comment.line.janet","match":"(#).*$","captures":{"1":{"name":"punctuation.definition.comment.janet"}}},"corelib":{"name":"keyword.control.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])(break|def|do|var|set|fn|while|if|quote|quasiquote|unquote|splice|%|%=|\\*|\\*=|\\+|\\+\\+|\\+=|\\-|\\-\\-|\\-=|\\-\u003e|\\-\u003e\u003e|\\-\\?\u003e|\\-\\?\u003e\u003e|/|/=|\u003c|\u003c=|=|\u003e|\u003e=|abstract\\?|accumulate|accumulate2|all|all\\-bindings|all\\-dynamics|and|any\\?|apply|array|array/concat|array/ensure|array/fill|array/insert|array/new|array/new\\-filled|array/peek|array/pop|array/push|array/remove|array/slice|array/trim|array\\?|as\\-\u003e|as\\?\\-\u003e|asm|assert|bad\\-compile|bad\\-parse|band|blshift|bnot|boolean\\?|bor|brshift|brushift|buffer|buffer/bit|buffer/bit\\-clear|buffer/bit\\-set|buffer/bit\\-toggle|buffer/blit|buffer/clear|buffer/fill|buffer/format|buffer/new|buffer/new\\-filled|buffer/popn|buffer/push|buffer/push\\-byte|buffer/push\\-string|buffer/push\\-word|buffer/slice|buffer/trim|buffer\\?|bxor|bytes\\?|cancel|case|cfunction\\?|chr|cli\\-main|cmp|comment|comp|compare|compare\u003c|compare\u003c=|compare=|compare\u003e|compare\u003e=|compif|compile|complement|comptime|compwhen|cond|coro|count|curenv|debug|debug/arg\\-stack|debug/break|debug/fbreak|debug/lineage|debug/stack|debug/stacktrace|debug/step|debug/unbreak|debug/unfbreak|debugger\\-env|dec|deep\\-not=|deep=|def\\-|default|default\\-peg\\-grammar|defer|defglobal|defmacro|defmacro\\-|defn|defn\\-|describe|dictionary\\?|disasm|distinct|doc|doc\\*|doc\\-format|dofile|drop|drop\\-until|drop\\-while|dyn|each|eachk|eachp|eachy|edefer|eflush|empty\\?|env\\-lookup|eprin|eprinf|eprint|eprintf|error|errorf|ev/call|ev/cancel|ev/capacity|ev/chan|ev/chunk|ev/close|ev/count|ev/deadline|ev/full|ev/give|ev/go|ev/read|ev/rselect|ev/select|ev/sleep|ev/spawn|ev/take|ev/with\\-deadline|ev/write|eval|eval\\-string|even\\?|every\\?|extreme|false\\?|fiber/can\\-resume\\?|fiber/current|fiber/getenv|fiber/maxstack|fiber/new|fiber/root|fiber/setenv|fiber/setmaxstack|fiber/status|fiber\\?|file/close|file/flush|file/open|file/popen|file/read|file/seek|file/temp|file/write|filter|find|find\\-index|first|flatten|flatten\\-into|flush|for|forever|forv|freeze|frequencies|function\\?|gccollect|gcinterval|gcsetinterval|generate|gensym|get|get\\-in|getline|hash|idempotent\\?|identity|if\\-let|if\\-not|if\\-with|import|import\\*|in|inc|index\\-of|indexed\\?|int/s64|int/u64|int\\?|interleave|interpose|invert|janet/build|janet/config\\-bits|janet/version|juxt|juxt\\*|keep|keys|keyword|keyword/slice|keyword\\?|kvs|label|last|length|let|load\\-image|load\\-image\\-dict|loop|macex|macex1|make\\-env|make\\-image|make\\-image\\-dict|map|mapcat|marshal|match|math/\\-inf|math/abs|math/acos|math/acosh|math/asin|math/asinh|math/atan|math/atan2|math/atanh|math/cbrt|math/ceil|math/cos|math/cosh|math/e|math/erf|math/erfc|math/exp|math/exp2|math/expm1|math/floor|math/gamma|math/hypot|math/inf|math/int\\-max|math/int\\-min|math/int32\\-max|math/int32\\-min|math/log|math/log10|math/log1p|math/log2|math/nan|math/next|math/pi|math/pow|math/random|math/rng|math/rng\\-buffer|math/rng\\-int|math/rng\\-uniform|math/round|math/seedrandom|math/sin|math/sinh|math/sqrt|math/tan|math/tanh|math/trunc|max|mean|merge|merge\\-into|merge\\-module|min|mod|module/add\\-paths|module/cache|module/expand\\-path|module/find|module/loaders|module/loading|module/paths|nan\\?|nat\\?|native|neg\\?|net/accept|net/accept\\-loop|net/address|net/chunk|net/close|net/connect|net/flush|net/listen|net/read|net/recv\\-from|net/send\\-to|net/server|net/write|next|nil\\?|not|not=|number\\?|odd\\?|one\\?|or|os/arch|os/cd|os/chmod|os/clock|os/cryptorand|os/cwd|os/date|os/dir|os/environ|os/execute|os/exit|os/getenv|os/link|os/lstat|os/mkdir|os/mktime|os/open|os/perm\\-int|os/perm\\-string|os/pipe|os/proc\\-kill|os/proc\\-wait|os/readlink|os/realpath|os/rename|os/rm|os/rmdir|os/setenv|os/shell|os/sleep|os/spawn|os/stat|os/symlink|os/time|os/touch|os/umask|os/which|pairs|parse|parser/byte|parser/clone|parser/consume|parser/eof|parser/error|parser/flush|parser/has\\-more|parser/insert|parser/new|parser/produce|parser/state|parser/status|parser/where|partial|partition|peg/compile|peg/find|peg/find\\-all|peg/match|peg/replace|peg/replace\\-all|pos\\?|postwalk|pp|prewalk|prin|prinf|print|printf|product|prompt|propagate|protect|put|put\\-in|quit|range|reduce|reduce2|repeat|repl|require|resume|return|reverse|reverse!|root\\-env|run\\-context|scan\\-number|seq|setdyn|short\\-fn|signal|slice|slurp|some|sort|sort\\-by|sorted|sorted\\-by|spit|stderr|stdin|stdout|string|string/ascii\\-lower|string/ascii\\-upper|string/bytes|string/check\\-set|string/find|string/find\\-all|string/format|string/from\\-bytes|string/has\\-prefix\\?|string/has\\-suffix\\?|string/join|string/repeat|string/replace|string/replace\\-all|string/reverse|string/slice|string/split|string/trim|string/triml|string/trimr|string\\?|struct|struct\\?|sum|symbol|symbol/slice|symbol\\?|table|table/clone|table/getproto|table/new|table/rawget|table/setproto|table/to\\-struct|table\\?|take|take\\-until|take\\-while|tarray/buffer|tarray/copy\\-bytes|tarray/length|tarray/new|tarray/properties|tarray/slice|tarray/swap\\-bytes|thread/close|thread/current|thread/exit|thread/new|thread/receive|thread/send|trace|tracev|true\\?|truthy\\?|try|tuple|tuple/brackets|tuple/setmap|tuple/slice|tuple/sourcemap|tuple/type|tuple\\?|type|unless|unmarshal|untrace|update|update\\-in|use|values|var\\-|varfn|varglobal|walk|when|when\\-let|when\\-with|with|with\\-dyns|with\\-syms|with\\-vars|xprin|xprinf|xprint|xprintf|yield|zero\\?|zipcoll)(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"dec-number":{"name":"constant.numeric.decimal.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[-+]?([_\\d]+|[_\\d]+\\.[_\\d]*|\\.[_\\d]+)([eE\u0026][+-]?[\\d]+)?(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"hex-number":{"name":"constant.numeric.hex.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[-+]?0x([_\\da-fA-F]+|[_\\da-fA-F]+\\.[_\\da-fA-F]*|\\.[_\\da-fA-F]+)(\u0026[+-]?[\\da-fA-F]+)?(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"keysym":{"name":"constant.keyword.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*]):[\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*]*"},"literal":{"name":"constant.language.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])(true|false|nil)(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"longstring":{"name":"string.quoted.triple.janet","begin":"(@?)(`+)","end":"\\2","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.janet"},"2":{"name":"punctuation.definition.string.begin.janet"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.janet"}}},"nomatch":{"name":"invalid.illegal.janet","match":"\\S+"},"parens":{"begin":"(@?\\()","end":"(\\))","patterns":[{"include":"#all"}],"captures":{"1":{"name":"punctuation.definition.parens.end.janet"}}},"r-number":{"name":"constant.numeric.decimal.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[-+]?\\d\\d?r([_\\w]+|[_\\w]+\\.[_\\w]*|\\.[_\\w]+)(\u0026[+-]?[\\w]+)?(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"readermac":{"name":"punctuation.other.janet","match":"[\\'\\~\\;\\,]"},"string":{"name":"string.quoted.double.janet","begin":"(@?\")","end":"(\")","patterns":[{"name":"constant.character.escape.janet","match":"(\\\\[nevr0zft\"\\\\']|\\\\x[0-9a-fA-F]{2}|\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{6})"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.janet"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.janet"}}},"symbol":{"name":"variable.other.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[\\.a-zA-Z_\\-=!@\\$%^\u0026?/\u003c\u003e*][\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*]*"}}}
@@ -0,0 +1 @@
1
+ {"name":"Jest Snapshot","scopeName":"source.jest.snap","patterns":[{"include":"#directives"},{"include":"#statements"},{"name":"comment.line.shebang.ts","match":"\\A(#!).*(?=$)","captures":{"1":{"name":"punctuation.definition.comment.ts"}}}],"repository":{"access-modifier":{"name":"storage.modifier.tsx","match":"(?\u003c!\\.|\\$)\\b(abstract|public|protected|private|readonly|static)\\b(?!\\$)"},"after-operator-block":{"name":"meta.objectliteral.tsx","begin":"(?\u003c=[=(,\\[?+!]|await|return|yield|throw|in|of|typeof|\u0026\u0026|\\|\\||\\*)\\s*(\\{)","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","end":"\\]","patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}}},"array-literal":{"name":"meta.array.literal.tsx","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.tsx"}},"endCaptures":{"0":{"name":"meta.brace.square.tsx"}}},"arrow-function":{"patterns":[{"name":"meta.arrow.tsx","match":"(?\u003c!\\.|\\$)(\\basync)(?=\\s*[\u003c(])","captures":{"1":{"name":"storage.modifier.async.tsx"}}},{"name":"meta.arrow.tsx","match":"(?:(?\u003c!\\.|\\$)(\\basync)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(?==\u003e)","captures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"variable.parameter.tsx"}}},{"name":"meta.arrow.tsx","begin":"(?x)\\s*(?=(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e)","end":"(?==\u003e)","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"}]},{"name":"meta.arrow.tsx","begin":"=\u003e","end":"(?\u003c=\\})|((?!\\{)(?=\\S))","patterns":[{"include":"#decl-block"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"storage.type.function.arrow.tsx"}}}]},"arrow-return-type":{"name":"meta.return.type.arrow.tsx","begin":"(?\u003c=\\))\\s*(:)","end":"(?\u003c!:)((?=$)|(?==\u003e|;|//))","patterns":[{"include":"#type-predicate-operator"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}}},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.tsx","match":"(?\u003c!\\.|\\$)\\btrue\\b(?!\\$)"},{"name":"constant.language.boolean.false.tsx","match":"(?\u003c!\\.|\\$)\\bfalse\\b(?!\\$)"}]},"case-clause":{"name":"case-clause.expr.tsx","begin":"(?\u003c!\\.|\\$)\\b(case|default(?=:))\\b(?!\\$)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.section.case-statement.tsx"}}},"cast":{"patterns":[{"include":"#jsx"}]},"class-or-interface-body":{"begin":"\\{","end":"\\}","patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#decorator"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"class-or-interface-declaration":{"name":"meta.class.tsx","begin":"(?\u003c!\\.|\\$)\\b(?:(export)\\s+)?\\b(?:(abstract)\\s+)?\\b(?:(class)|(interface))\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"match":"[_$[:alpha:]][_$[:alnum:]]*","captures":{"0":{"name":"entity.name.type.class.tsx"}}},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.class.tsx"},"4":{"name":"storage.type.interface.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.block.tsx"}}},"class-or-interface-heritage":{"begin":"(?\u003c!\\.|\\$)(?:\\b(extends|implements)\\b)(?!\\$)","end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*([,\u003c{]|extends|implements|//|/\\*))","captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"}}},{"match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*([,\u003c{]|extends|implements|//|/\\*))","captures":{"1":{"name":"entity.other.inherited-class.tsx"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"storage.modifier.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.block.tsx"}}},"comment":{"patterns":[{"name":"comment.block.documentation.tsx","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#docblock"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}}},{"name":"comment.block.tsx","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?=$)","patterns":[{"name":"comment.line.double-slash.tsx","begin":"//","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tsx"}}}]},"control-statement":{"patterns":[{"name":"keyword.control.trycatch.tsx","match":"(?\u003c!\\.|\\$)\\b(catch|finally|throw|try)\\b(?!\\$)"},{"name":"keyword.control.loop.tsx","match":"(?\u003c!\\.|\\$)\\b(break|continue|do|goto|while)\\b(?!\\$)"},{"name":"keyword.control.flow.tsx","match":"(?\u003c!\\.|\\$)\\b(return)\\b(?!\\$)"},{"match":"(?\u003c!\\.|\\$)\\b(yield)\\b(?!\\$)(?:\\s*(\\*))?","captures":{"1":{"name":"keyword.control.flow.tsx"},"2":{"name":"keyword.generator.asterisk.tsx"}}},{"name":"keyword.control.switch.tsx","match":"(?\u003c!\\.|\\$)\\b(case|default|switch)\\b(?!\\$)"},{"name":"keyword.control.conditional.tsx","match":"(?\u003c!\\.|\\$)\\b(else|if)\\b(?!\\$)"},{"name":"keyword.control.with.tsx","match":"(?\u003c!\\.|\\$)\\b(with)\\b(?!\\$)"},{"name":"keyword.other.debugger.tsx","match":"(?\u003c!\\.|\\$)\\b(debugger)\\b(?!\\$)"},{"name":"storage.modifier.tsx","match":"(?\u003c!\\.|\\$)\\b(declare)\\b(?!\\$)"}]},"decl-block":{"name":"meta.block.tsx","begin":"\\{","end":"\\}","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"declaration":{"name":"meta.declaration.tsx","patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-or-interface-declaration"},{"include":"#type-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"}]},"decorator":{"name":"meta.decorator.tsx","begin":"(?\u003c!\\.|\\$)\\@","end":"(?=\\s)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.decorator.tsx"}}},"destructuring-parameter":{"patterns":[{"name":"meta.parameter.object-binding-pattern.tsx","begin":"(?\u003c!=|:)\\s*(\\{)","end":"\\}","patterns":[{"include":"#parameter-object-binding-element"}],"beginCaptures":{"1":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}}},{"name":"meta.paramter.array-binding-pattern.tsx","begin":"(?\u003c!=|:)\\s*(\\[)","end":"\\]","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}}}]},"destructuring-parameter-rest":{"match":"(?:(\\.\\.\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"variable.parameter.tsx"}}},"destructuring-variable":{"patterns":[{"name":"meta.object-binding-pattern-variable.tsx","begin":"(?\u003c!=|:|of|in)\\s*(?=\\{)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"name":"meta.array-binding-pattern-variable.tsx","begin":"(?\u003c!=|:|of|in)\\s*(?=\\[)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"match":"(?:(\\.\\.\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"meta.definition.variable.tsx variable.other.readwrite.tsx"}}},"directives":{"name":"comment.line.triple-slash.directive.tsx","begin":"^(///)\\s*(?=\u003c(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|name)\\s*=\\s*((\\'[^']*\\')|(\\\"[^\"]*\\\")))+\\s*/\u003e\\s*$)","end":"(?=$)","patterns":[{"name":"meta.tag.tsx","begin":"(\u003c)(reference|amd-dependency|amd-module)","end":"/\u003e","patterns":[{"name":"entity.other.attribute-name.directive.tsx","match":"path|types|no-default-lib|name"},{"name":"keyword.operator.assignment.tsx","match":"="},{"include":"#string"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.tsx"},"2":{"name":"entity.name.tag.directive.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.directive.tsx"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.tsx"}}},"docblock":{"patterns":[{"name":"storage.type.class.jsdoc","match":"(?x)(?\u003c!\\w)@(\n abstract|access|alias|arg|argument|async|attribute|augments|author|beta|borrows|bubbes|callback|chainable|class\n |classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc\n |description|dict|emits|enum|event|example|exports?|extends|extension|extension_for|extensionfor|external|file\n |fileoverview|final|fires|for|function|global|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance\n |interface|kind|lends|license|listens|main|member|memberof|method|mixex|mixins?|modifies|module|name|namespace\n |noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|preserve|private|prop|property\n |protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress\n |template|this|throws|todo|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce)\\b"},{"name":"other.meta.jsdoc","match":"(?x)\n(\n \\[\n [^\\]]+ # Optional [link text] preceding {@link syntax}\n \\]\n\n (?! # Check to avoid highlighting two sets of link text\n {\n @\\w+ # Tagname\n \\s+\n [^\\s|}]+ # Namepath/URL\n [\\s|] # Whitespace or bar delimiting description\n [^}]*\n }\n )\n)?\n\n(?:\n {\n (\n @\n (?: link # Name of tag\n | linkcode\n | linkplain\n | tutorial\n )\n )\n\n \\s+\n\n ([^\\s|}]+) # Namepath or URL\n\n (?: # Optional link text following link target\n [\\s|] # Bar or space separating target and text\n [^}]* # Actual text\n )?\n }\n)","captures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"constant.other.description.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"variable.other.description.jsdoc"}}},{"match":"(?x)\n\n(?:(?\u003c=@param)|(?\u003c=@arg)|(?\u003c=@argument)|(?\u003c=@type)|(?\u003c=@property)|(?\u003c=@prop))\n\n\\s+\n\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\n (?:\n (?: # Check for a prefix\n \\? | # {?string} nullable type\n ! | # {!string} non-nullable type\n \\.{3} # {...string} variable number of parameters\n )?\n\n (?:\n (?:\n function # {function(string, number)} function type\n \\s*\n \\(\n \\s*\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n \\s*,\\s*\n [a-zA-Z_$][\\w$]*\n )*\n )?\n \\s*\n \\)\n (?: # {function(): string} function return type\n \\s*:\\s*\n [a-zA-Z_$][\\w$]*\n )?\n )?\n |\n (?:\n \\( # Opening bracket of multiple types with parenthesis {(string|number)}\n [a-zA-Z_$]+\n (?:\n (?:\n [\\w$]*\n (?:\\[\\])? # {(string[]|number)} type application, an array of strings or a number\n ) |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n (?:\n [\\w$]*\n (?:\\[\\])? # {(string|number[])} type application, a string or an array of numbers\n ) |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n )*\n \\) |\n [a-zA-Z_$]+\n (?:\n (?:\n [\\w$]*\n (?:\\[\\])? # {(string|number[])} type application, a string or an array of numbers\n ) |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n )*\n )\n )\n # Check for suffix\n (?:\\[\\])? # {string[]} type application, an array of strings\n =? # {string=} optional parameter\n )\n)})\n\n\\s+\n\n(\n \\[ # [foo] optional parameter\n \\s*\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [a-zA-Z_$][\\w$]*\n )*\n (?:\n \\s*\n = # [foo=bar] Default parameter value\n \\s*\n [\\w$\\s]*\n )?\n )\n \\s*\n \\] |\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [a-zA-Z_$][\\w$]*\n )*\n )?\n)\n\n\\s+\n\n(?:-\\s+)? # optional hyphen before the description\n\n((?:(?!\\*\\/).)*) # The type description","captures":{"0":{"name":"other.meta.jsdoc"},"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"variable.other.jsdoc"},"3":{"name":"other.description.jsdoc"}}},{"match":"(?x)\n\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\n (?:\n (?: # Check for a prefix\n \\? | # {?string} nullable type\n ! | # {!string} non-nullable type\n \\.{3} # {...string} variable number of parameters\n )?\n\n (?:\n (?:\n function # {function(string, number)} function type\n \\s*\n \\(\n \\s*\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n \\s*,\\s*\n [a-zA-Z_$][\\w$]*\n )*\n )?\n \\s*\n \\)\n (?: # {function(): string} function return type\n \\s*:\\s*\n [a-zA-Z_$][\\w$]*\n )?\n )?\n |\n (?:\n \\( # Opening bracket of multiple types with parenthesis {(string|number)}\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n )*\n \\) |\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n \\.?\u003c[\\w$]+(?:,\\s+[\\w$]+)*\u003e # {Array\u003cstring\u003e} or {Object\u003cstring, number\u003e} type application (optional .)\n )\n )*\n )\n )\n # Check for suffix\n (?:\\[\\])? # {string[]} type application, an array of strings\n =? # {string=} optional parameter\n )\n)})\n\n\\s+\n\n(?:-\\s+)? # optional hyphen before the description\n\n((?:(?!\\*\\/).)*) # The type description","captures":{"0":{"name":"other.meta.jsdoc"},"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"other.description.jsdoc"}}}]},"enum-declaration":{"name":"meta.enum.declaration.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([_$[:alpha:]][_$[:alnum:]]*)","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=,|\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"variable.other.enummember.tsx"}}},{"begin":"(?=((\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","end":"(?=,|\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.enum.tsx"},"4":{"name":"entity.name.type.enum.tsx"}}},"export-declaration":{"patterns":[{"match":"(?\u003c!\\.|\\$)\\b(export)\\s+(as)\\s+(namespace)\\s+([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.control.as.tsx"},"3":{"name":"storage.type.namespace.tsx"},"4":{"name":"entity.name.type.module.tsx"}}},{"name":"meta.export.default.tsx","begin":"(?\u003c!\\.|\\$)\\b(export)(?:(?:\\s*(=))|(?:\\s+(default)(?=\\s+)))","end":"(?=;|\\bexport\\b|\\bfunction\\b|\\bclass\\b|\\binterface\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|\\bimport\\b|\\benum\\b|\\bnamespace\\b|\\bmodule\\b|\\btype\\b|\\babstract\\b|\\bdeclare\\b|\\basync\\b|$)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.operator.assignment.tsx"},"3":{"name":"keyword.control.default.tsx"}}},{"name":"meta.export.tsx","begin":"(?\u003c!\\.|\\$)\\b(export)(?!(\\s*:)|(\\$))\\b","end":"(?=;|\\bexport\\b|\\bfunction\\b|\\bclass\\b|\\binterface\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|\\bimport\\b|\\benum\\b|\\bnamespace\\b|\\bmodule\\b|\\btype\\b|\\babstract\\b|\\bdeclare\\b|\\basync\\b|$)","patterns":[{"include":"#import-export-declaration"}],"beginCaptures":{"0":{"name":"keyword.control.export.tsx"}}}]},"expression":{"name":"meta.expression.tsx","patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#template"},{"include":"#comment"},{"include":"#literal"},{"include":"#function-declaration"},{"include":"#class-or-interface-declaration"},{"include":"#arrow-function"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#support-objects"},{"include":"#identifiers"},{"include":"#paren-expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expression-operators":{"patterns":[{"name":"keyword.control.flow.tsx","match":"(?\u003c!\\.|\\$)\\b(await)\\b(?!\\$)"},{"name":"keyword.operator.expression.delete.tsx","match":"(?\u003c!\\.|\\$)\\bdelete\\b(?!\\$)"},{"name":"keyword.operator.expression.in.tsx","match":"(?\u003c!\\.|\\$)\\bin\\b(?!\\$)"},{"name":"keyword.operator.expression.of.tsx","match":"(?\u003c!\\.|\\$)\\bof\\b(?!\\$)"},{"name":"keyword.operator.expression.instanceof.tsx","match":"(?\u003c!\\.|\\$)\\binstanceof\\b(?!\\$)"},{"name":"keyword.operator.new.tsx","match":"(?\u003c!\\.|\\$)\\bnew\\b(?!\\$)"},{"include":"#typeof-operator"},{"name":"keyword.operator.expression.void.tsx","match":"(?\u003c!\\.|\\$)\\bvoid\\b(?!\\$)"},{"begin":"(?\u003c!\\.|\\$)\\bas\\b(?!\\$)","end":"(?=$|[;,:})\\]])","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.control.as.tsx"}}},{"name":"keyword.operator.spread.tsx","match":"\\.\\.\\."},{"name":"keyword.operator.assignment.compound.tsx","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-="},{"name":"keyword.operator.assignment.compound.bitwise.tsx","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.tsx","match":"\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e"},{"name":"keyword.operator.comparison.tsx","match":"===|!==|==|!="},{"name":"keyword.operator.relational.tsx","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"name":"keyword.operator.logical.tsx","match":"\\!|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.bitwise.tsx","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.tsx","match":"\\="},{"name":"keyword.operator.decrement.tsx","match":"--"},{"name":"keyword.operator.increment.tsx","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.tsx","match":"%|\\*|/|-|\\+"},{"match":"(?\u003c=[_$[:alnum:]])\\s*(/)(?![/*])","captures":{"1":{"name":"keyword.operator.arithmetic.tsx"}}}]},"field-declaration":{"name":"meta.field.declaration.tsx","begin":"(?\u003c!\\()(?:(?\u003c!\\.|\\$)\\b(readonly)\\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=|:))","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#variable-initializer"},{"begin":"(?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=|:))","end":"(?=[};,=]|$)|(?\u003c=\\})","patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"name":"meta.definition.property.tsx entity.name.function.tsx","match":"(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\\?\\s*)?\\s*\n (=\\s*(\n (async\\s+) |\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)"},{"name":"meta.definition.property.tsx variable.object.property.tsx","match":"[_$[:alpha:]][_$[:alnum:]]*"},{"name":"keyword.operator.optional.tsx","match":"\\?"}]}],"beginCaptures":{"1":{"name":"storage.modifier.tsx"}}},"for-loop":{"begin":"(?\u003c!\\.|\\$)\\b(for)\\s*(\\()","end":"\\)","patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"keyword.control.loop.tsx"},"2":{"name":"meta.brace.round.tsx"}},"endCaptures":{"0":{"name":"meta.brace.round.tsx"}}},"function-call":{"begin":"(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","end":"(?\u003c=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","patterns":[{"include":"#support-objects"},{"name":"punctuation.accessor.tsx","match":"\\."},{"name":"entity.name.function.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#comment"},{"name":"meta.type.parameters.tsx","begin":"\\\u003c","end":"\\\u003e","patterns":[{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsx"}}},{"include":"#paren-expression"}]},"function-declaration":{"name":"meta.function.tsx","begin":"(?\u003c!\\.|\\$)\\b(?:(export)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?\u003c=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*","end":"(?=;|\\})|(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#function-overload-declaration"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.async.tsx"},"3":{"name":"storage.type.function.tsx"},"4":{"name":"keyword.generator.asterisk.tsx"},"5":{"name":"meta.definition.function.tsx entity.name.function.tsx"}}},"function-overload-declaration":{"name":"meta.function.overload.tsx","match":"(?\u003c!\\.|\\$)\\b(?:(export)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?\u003c=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*","captures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.async.tsx"},"3":{"name":"storage.type.function.tsx"},"4":{"name":"keyword.generator.asterisk.tsx"},"5":{"name":"meta.definition.function.tsx entity.name.function.tsx"}}},"function-parameters":{"name":"meta.parameters.tsx","begin":"\\(","end":"\\)","patterns":[{"include":"#comment"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"name":"punctuation.separator.parameter.tsx","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.tsx"}}},"identifiers":{"patterns":[{"name":"support.class.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))"},{"match":"(?x)(\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"constant.other.object.property.tsx"},"3":{"name":"variable.other.object.property.tsx"}}},{"match":"(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n (async\\s+)|(function\\s*[(\u003c])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)|\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e)))","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"entity.name.function.tsx"}}},{"match":"(\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"constant.other.property.tsx"}}},{"match":"(\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"variable.other.property.tsx"}}},{"match":"(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"constant.other.object.tsx"},"2":{"name":"variable.other.object.tsx"}}},{"name":"constant.other.tsx","match":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"},{"name":"variable.other.readwrite.tsx","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"import-declaration":{"name":"meta.import.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?\\b(import)(?!(\\s*:)|(\\$))\\b","end":"(?=;|$)","patterns":[{"include":"#import-export-declaration"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.control.import.tsx"}}},"import-equals-declaration":{"patterns":[{"name":"meta.import-equals.external.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?\\b(import)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*(=)\\s*(require)\\s*(\\()","end":"\\)","patterns":[{"include":"#comment"},{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.control.import.tsx"},"3":{"name":"variable.other.readwrite.alias.tsx"},"4":{"name":"keyword.operator.assignment.tsx"},"5":{"name":"keyword.control.require.tsx"},"6":{"name":"meta.brace.round.tsx"}},"endCaptures":{"0":{"name":"meta.brace.round.tsx"}}},{"name":"meta.import-equals.internal.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?\\b(import)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*(=)\\s*(?!require\\b)","end":"(?=;|$)","patterns":[{"include":"#comment"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"}}},{"name":"variable.other.readwrite.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.control.import.tsx"},"3":{"name":"variable.other.readwrite.alias.tsx"},"4":{"name":"keyword.operator.assignment.tsx"}}}]},"import-export-block":{"name":"meta.block.tsx","begin":"\\{","end":"\\}","patterns":[{"include":"#import-export-clause"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"import-export-clause":{"patterns":[{"include":"#comment"},{"match":"(?x) (?: \\b(default)\\b | (\\*) | ([_$[:alpha:]][_$[:alnum:]]*)) \\s+ \n (as) \\s+ (?: (\\b default \\b | \\*) | ([_$[:alpha:]][_$[:alnum:]]*))","captures":{"1":{"name":"keyword.control.default.tsx"},"2":{"name":"constant.language.import-export-all.tsx"},"3":{"name":"variable.other.readwrite.tsx"},"4":{"name":"keyword.control.as.tsx"},"5":{"name":"invalid.illegal.tsx"},"6":{"name":"variable.other.readwrite.alias.tsx"}}},{"include":"#punctuation-comma"},{"name":"constant.language.import-export-all.tsx","match":"\\*"},{"name":"keyword.control.default.tsx","match":"\\b(default)\\b"},{"name":"variable.other.readwrite.alias.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"name":"keyword.control.from.tsx","match":"\\bfrom\\b"},{"include":"#import-export-clause"}]},"indexer-declaration":{"name":"meta.indexer.declaration.tsx","begin":"(?:(?\u003c!\\.|\\$)\\b(readonly)\\s*)?(\\[)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=:)","end":"(\\])\\s*(\\?\\s*)?|$","patterns":[{"include":"#type-annotation"}],"beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"meta.brace.square.tsx"},"3":{"name":"variable.parameter.tsx"}},"endCaptures":{"1":{"name":"meta.brace.square.tsx"},"2":{"name":"keyword.operator.optional.tsx"}}},"indexer-mapped-type-declaration":{"name":"meta.indexer.mappedtype.declaration.tsx","begin":"(?:(?\u003c!\\.|\\$)\\b(readonly)\\s*)?(\\[)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s+(in)\\s+","end":"(\\])\\s*(\\?\\s*)?|$","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"meta.brace.square.tsx"},"3":{"name":"entity.name.type.tsx"},"4":{"name":"keyword.operator.expression.in.tsx"}},"endCaptures":{"1":{"name":"meta.brace.square.tsx"},"2":{"name":"keyword.operator.optional.tsx"}}},"jsx":{"patterns":[{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-tag-in-expression"},{"include":"#jsx-tag-invalid"}]},"jsx-child-tag":{"begin":"(?x)\n (?=(\u003c)\\s*\n ([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\n (?=\\s+(?!\\?)|/?\u003e))","end":"(/\u003e)|(?:(\u003c/)\\s*([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\\s*(\u003e))","patterns":[{"include":"#jsx-tag"}],"endCaptures":{"0":{"name":"meta.tag.tsx"},"1":{"name":"punctuation.definition.tag.end.tsx"},"2":{"name":"punctuation.definition.tag.begin.tsx"},"3":{"name":"entity.name.tag.tsx"},"4":{"name":"punctuation.definition.tag.end.tsx"}}},"jsx-children":{"patterns":[{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-child-tag"},{"include":"#jsx-tag-invalid"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}]},"jsx-entities":{"patterns":[{"name":"constant.character.entity.tsx","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.tsx"},"3":{"name":"punctuation.definition.entity.tsx"}}},{"name":"invalid.illegal.bad-ampersand.tsx","match":"\u0026"}]},"jsx-evaluated-code":{"name":"meta.embedded.expression.tsx","begin":"\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.tsx"}}},"jsx-string-double-quoted":{"name":"string.quoted.double.tsx","begin":"\"","end":"\"","patterns":[{"include":"#jsx-entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tsx"}}},"jsx-string-single-quoted":{"name":"string.quoted.single.tsx","begin":"'","end":"'","patterns":[{"include":"#jsx-entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tsx"}}},"jsx-tag":{"name":"meta.tag.tsx","begin":"(?x)\n (?=(\u003c)\\s*\n ([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\n (?=\\s+(?!\\?)|/?\u003e))","end":"(?=(/\u003e)|(?:(\u003c/)\\s*([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\\s*(\u003e)))","patterns":[{"begin":"(?x)\n (\u003c)\\s*\n ([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\n (?=\\s+(?!\\?)|/?\u003e)","end":"(?=[/]?\u003e)","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attributes"},{"include":"#jsx-tag-attributes-illegal"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.tsx"}}},{"contentName":"meta.jsx.children.tsx","begin":"(\u003e)","end":"(?=\u003c/)","patterns":[{"include":"#jsx-children"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.tsx"}}}]},"jsx-tag-attribute-assignment":{"name":"keyword.operator.assignment.tsx","match":"=(?=\\s*(?:'|\"|{|/\\*|//|\\n))"},"jsx-tag-attribute-name":{"match":"(?x)\n \\s*\n ([_$a-zA-Z][-$\\w]*)\n (?=\\s|=|/?\u003e|/\\*|//)","captures":{"1":{"name":"entity.other.attribute-name.tsx"}}},"jsx-tag-attributes":{"patterns":[{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"}]},"jsx-tag-attributes-illegal":{"name":"invalid.illegal.attribute.tsx","match":"\\S+"},"jsx-tag-in-expression":{"begin":"(?x)\n (?\u003c=[({\\[,?=\u003e:*]|\u0026\u0026|\\|\\||\\?|\\Wreturn|^return|\\Wdefault|^)\\s*\n (?!(\u003c)\\s*([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\\s*(\u003e)) #look ahead is not start of tag without attributes\n (?!\u003c\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s+[^=\u003e])|,)) # look ahead is not type parameter of arrow\n (?=(\u003c)\\s*\n ([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\n (?=\\s+(?!\\?)|/?\u003e))","end":"(/\u003e)|(?:(\u003c/)\\s*([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\\s*(\u003e))","patterns":[{"include":"#jsx-tag"}],"endCaptures":{"0":{"name":"meta.tag.tsx"},"1":{"name":"punctuation.definition.tag.end.tsx"},"2":{"name":"punctuation.definition.tag.begin.tsx"},"3":{"name":"entity.name.tag.tsx"},"4":{"name":"punctuation.definition.tag.end.tsx"}}},"jsx-tag-invalid":{"name":"invalid.illegal.tag.incomplete.tsx","match":"\u003c\\s*\u003e"},"jsx-tag-without-attributes":{"name":"meta.tag.without-attributes.tsx","contentName":"meta.jsx.children.tsx","begin":"(\u003c)\\s*([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\\s*(\u003e)","end":"(\u003c/)\\s*([_$a-zA-Z][-$\\w.]*(?\u003c!\\.|-))\\s*(\u003e)","patterns":[{"include":"#jsx-children"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.tsx"},"3":{"name":"punctuation.definition.tag.end.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.tsx"},"3":{"name":"punctuation.definition.tag.end.tsx"}}},"literal":{"name":"literal.tsx","patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"},{"include":"#this-literal"},{"include":"#super-literal"}]},"method-declaration":{"name":"meta.method.declaration.tsx","begin":"(?\u003c!\\.|\\$)(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(?:\\b(?:(new)|(constructor))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c]))","end":"(?=\\}|;|,)|(?\u003c=\\})","patterns":[{"include":"#method-declaration-name"},{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#method-overload-declaration"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.async.tsx"},"4":{"name":"storage.type.property.tsx"},"5":{"name":"keyword.operator.new.tsx"},"6":{"name":"storage.type.tsx"},"7":{"name":"keyword.generator.asterisk.tsx"}}},"method-declaration-name":{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\\u003c])","end":"(?=\\(|\\\u003c)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"name":"meta.definition.method.tsx entity.name.function.tsx","match":"[_$[:alpha:]][_$[:alnum:]]*"},{"name":"keyword.operator.optional.tsx","match":"\\?"}]},"method-overload-declaration":{"begin":"(?\u003c!\\.|\\$)(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(?:\\b(?:(new)|(constructor))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c]))","end":"(?=\\(|\\\u003c)","patterns":[{"include":"#method-declaration-name"}],"beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.async.tsx"},"4":{"name":"storage.type.property.tsx"},"5":{"name":"keyword.operator.new.tsx"},"6":{"name":"storage.type.tsx"},"7":{"name":"keyword.generator.asterisk.tsx"}}},"namespace-declaration":{"name":"meta.namespace.declaration.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?\\b(namespace|module)\\s+","end":"(?=$|\\{)","patterns":[{"include":"#comment"},{"include":"#string"},{"name":"entity.name.type.module.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)"},{"name":"punctuation.accessor.tsx","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.type.namespace.tsx"}}},"new-expr":{"name":"new.expr.tsx","begin":"(?\u003c!\\.|\\$)\\b(new)\\b(?!\\$)","end":"(?\u003c=\\))|(?=[;),]|$|((?\u003c!\\.|\\$)\\bnew\\b(?!\\$)))","patterns":[{"include":"#paren-expression"},{"include":"#class-or-interface-declaration"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.new.tsx"}}},"null-literal":{"name":"constant.language.null.tsx","match":"(?\u003c!\\.|\\$)\\bnull\\b(?!\\$)"},"numeric-literal":{"patterns":[{"name":"constant.numeric.hex.tsx","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.binary.tsx","match":"\\b(?\u003c!\\$)0(b|B)[01]+\\b(?!\\$)"},{"name":"constant.numeric.octal.tsx","match":"\\b(?\u003c!\\$)0(o|O)?[0-7]+\\b(?!\\$)"},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+(\\.)\\B)| # 1.\n (?:\\B(\\.)[0-9]+\\b)| # .1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.tsx"},"1":{"name":"meta.delimiter.decimal.period.tsx"},"2":{"name":"meta.delimiter.decimal.period.tsx"},"3":{"name":"meta.delimiter.decimal.period.tsx"},"4":{"name":"meta.delimiter.decimal.period.tsx"},"5":{"name":"meta.delimiter.decimal.period.tsx"},"6":{"name":"meta.delimiter.decimal.period.tsx"}}}]},"numericConstant-literal":{"patterns":[{"name":"constant.language.nan.tsx","match":"(?\u003c!\\.|\\$)\\bNaN\\b(?!\\$)"},{"name":"constant.language.infinity.tsx","match":"(?\u003c!\\.|\\$)\\bInfinity\\b(?!\\$)"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))","end":"(?=,|\\})","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element"}]},{"include":"#object-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))","end":"(:)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"name":"variable.object.property.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)"}],"endCaptures":{"0":{"name":"punctuation.destructuring.tsx"}}},"object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","end":"\\}","patterns":[{"include":"#object-binding-element"}],"beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}}},"object-literal":{"name":"meta.objectliteral.tsx","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"object-literal-method-declaration":{"name":"meta.method.declaration.tsx","begin":"(?\u003c!\\.|\\$)(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c])","end":"(?=\\}|;|,)|(?\u003c=\\})","patterns":[{"include":"#method-declaration-name"},{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#method-overload-declaration"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.property.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"}}},"object-literal-method-overload-declaration":{"begin":"(?\u003c!\\.|\\$)(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\\u003c])","end":"(?=\\(|\\\u003c)","patterns":[{"include":"#method-declaration-name"}],"beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.property.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"}}},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"name":"meta.object.member.tsx","begin":"(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*:)","end":"(?=,|\\})","patterns":[{"name":"meta.object-literal.key.tsx","begin":"(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*:)","end":":","patterns":[{"include":"#string"},{"include":"#array-literal"}],"endCaptures":{"0":{"name":"punctuation.separator.key-value.tsx"}}},{"include":"#expression"}]},{"name":"meta.object.member.tsx","begin":"(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)(?=\\s*(\n (async\\s+)|(function\\s*[(\u003c])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)|\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))))","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.object-literal.key.tsx"},"1":{"name":"entity.name.function.tsx"},"2":{"name":"punctuation.separator.key-value.tsx"}}},{"name":"meta.object.member.tsx","begin":"(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(:)","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.object-literal.key.tsx"},"1":{"name":"punctuation.separator.key-value.tsx"}}},{"name":"meta.object.member.tsx","begin":"\\.\\.\\.","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.spread.tsx"}}},{"name":"meta.object.member.tsx","match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=,|\\}|$)","captures":{"1":{"name":"variable.other.readwrite.tsx"}}},{"include":"#punctuation-comma"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","end":"\\]","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}}},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"match":"\\s*\\b(public|protected|private|readonly)(?=\\s+(public|protected|private|readonly)\\s+)","captures":{"1":{"name":"storage.modifier.tsx"}}},{"match":"(?x)(?:\\s*\\b(public|private|protected|readonly)\\s+)?(\\.\\.\\.)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)(?=\\s*\n (=\\s*(\n (async\\s+) |\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"entity.name.function.tsx"},"4":{"name":"keyword.operator.optional.tsx"}}},{"match":"(?:\\s*\\b(public|private|protected|readonly)\\s+)?(\\.\\.\\.)?\\s*(?\u003c!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)","captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx"},"4":{"name":"keyword.operator.optional.tsx"}}}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))","end":"(?=,|\\})","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","end":"\\}","patterns":[{"include":"#parameter-object-binding-element"}],"beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}}},"paren-expression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"endCaptures":{"0":{"name":"meta.brace.round.tsx"}}},"property-accessor":{"name":"storage.type.property.tsx","match":"(?\u003c!\\.|\\$)\\b(get|set)\\b(?!\\$)"},"punctuation-accessor":{"name":"punctuation.accessor.tsx","match":"\\."},"punctuation-comma":{"name":"punctuation.separator.comma.tsx","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.tsx","match":";"},"qstring-double":{"name":"string.quoted.double.tsx","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"invalid.illegal.newline.tsx"}}},"qstring-single":{"name":"string.quoted.single.tsx","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"invalid.illegal.newline.tsx"}}},"regex":{"patterns":[{"name":"string.regex.tsx","begin":"(?\u003c=[=(:,\\[?+!]|return|case|=\u003e|\u0026\u0026|\\|\\||\\*\\/)\\s*(/)(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))","end":"(/)([gimuy]*)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"keyword.other.tsx"}}},{"name":"string.regex.tsx","begin":"(?\u003c![_$[:alnum:]])/(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))","end":"(/)([gimuy]*)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"keyword.other.tsx"}}}]},"regex-character-class":{"patterns":[{"name":"constant.other.character-class.regexp","match":"\\\\[wWsSdDtrnvf]|\\."},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]])"},{"name":"constant.character.control.regexp","match":"\\\\c[A-Z]"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"regexp":{"patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bB]|\\^|\\$"},{"name":"keyword.other.back-reference.regexp","match":"\\\\[1-9]\\d*"},{"name":"keyword.operator.quantifier.regexp","match":"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!))","end":"(\\))","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"\\((\\?:)?","end":"\\)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.capture.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}}},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"name":"constant.other.character-class.range.regexp","match":"(?:.|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))","captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}}},{"include":"#regex-character-class"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}},{"include":"#regex-character-class"}]},"return-type":{"name":"meta.return.type.tsx","begin":"(?\u003c=\\))\\s*(:)","end":"(?\u003c!:)((?=$)|(?=\\{|;|//|\\}))","patterns":[{"include":"#comment"},{"name":"meta.object.type.tsx","begin":"(?\u003c=:)\\s*(\\{)","end":"\\}","patterns":[{"include":"#type-object-members"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},{"include":"#type-predicate-operator"},{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}}},"statements":{"patterns":[{"include":"#string"},{"include":"#template"},{"include":"#comment"},{"include":"#literal"},{"include":"#declaration"},{"include":"#switch-statement"},{"include":"#for-loop"},{"include":"#after-operator-block"},{"include":"#decl-block"},{"include":"#control-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"}]},"string-character-escape":{"name":"constant.character.escape.tsx","match":"\\\\(x[[:xdigit:]]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"super-literal":{"name":"variable.language.super.tsx","match":"(?\u003c!\\.|\\$)\\bsuper\\b(?!\\$)"},"support-objects":{"patterns":[{"name":"variable.language.arguments.tsx","match":"(?\u003c!\\.|\\$)\\b(arguments)\\b(?!\\$)"},{"name":"support.class.builtin.tsx","match":"(?x)(?\u003c!\\.|\\$)\\b(Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Float32Array|Float64Array|Function|Generator\n |GeneratorFunction|Int8Array|Int16Array|Int32Array|Intl|Map|Number|Object|Promise|Proxy\n |Reflect|RegExp|Set|SharedArrayBuffer|SIMD|String|Symbol|TypedArray\n |Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|WeakMap|WeakSet)\\b(?!\\$)"},{"name":"support.class.error.tsx","match":"(?\u003c!\\.|\\$)\\b((Eval|Internal|Range|Reference|Syntax|Type|URI)?Error)\\b(?!\\$)"},{"name":"support.function.tsx","match":"(?x)(?\u003c!\\.|\\$)\\b(clear(Interval|Timeout)|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|\n isFinite|isNaN|parseFloat|parseInt|require|set(Interval|Timeout)|super|unescape|uneval)(?=\\s*\\() "},{"match":"(?x)(?\u003c!\\.|\\$)\\b(Math)(?:\\s*(\\.)\\s*(?:\n (abs|acos|acosh|asin|asinh|atan|atan2|atanh|cbrt|ceil|clz32|cos|cosh|exp|\n expm1|floor|fround|hypot|imul|log|log10|log1p|log2|max|min|pow|random|\n round|sign|sin|sinh|sqrt|tan|tanh|trunc)\n |\n (E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2)))?\\b(?!\\$)","captures":{"1":{"name":"support.constant.math.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"support.function.math.tsx"},"4":{"name":"support.constant.property.math.tsx"}}},{"match":"(?x)(?\u003c!\\.|\\$)\\b(console)(?:\\s*(\\.)\\s*(\n assert|clear|count|debug|dir|error|group|groupCollapsed|groupEnd|info|log\n |profile|profileEnd|table|time|timeEnd|timeStamp|trace|warn))?\\b(?!\\$)","captures":{"1":{"name":"support.class.console.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"support.function.console.tsx"}}},{"match":"(?\u003c!\\.|\\$)\\b(JSON)(?:\\s*(\\.)\\s*(parse|stringify))?\\b(?!\\$)","captures":{"1":{"name":"support.constant.json.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"support.function.json.tsx"}}},{"match":"(?x) (\\.) \\s* (?:\n (constructor|length|prototype|__proto__) \n |\n (EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY))\\b(?!\\$)","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"support.variable.property.tsx"},"3":{"name":"support.constant.tsx"}}},{"match":"(?x) (?\u003c!\\.|\\$) \\b (?:\n (document|event|navigator|performance|screen|window) \n |\n (AnalyserNode|ArrayBufferView|Attr|AudioBuffer|AudioBufferSourceNode|AudioContext|AudioDestinationNode|AudioListener\n |AudioNode|AudioParam|BatteryManager|BeforeUnloadEvent|BiquadFilterNode|Blob|BufferSource|ByteString|CSS|CSSConditionRule\n |CSSCounterStyleRule|CSSGroupingRule|CSSMatrix|CSSMediaRule|CSSPageRule|CSSPrimitiveValue|CSSRule|CSSRuleList|CSSStyleDeclaration\n |CSSStyleRule|CSSStyleSheet|CSSSupportsRule|CSSValue|CSSValueList|CanvasGradient|CanvasImageSource|CanvasPattern\n |CanvasRenderingContext2D|ChannelMergerNode|ChannelSplitterNode|CharacterData|ChromeWorker|CloseEvent|Comment|CompositionEvent\n |Console|ConvolverNode|Coordinates|Credential|CredentialsContainer|Crypto|CryptoKey|CustomEvent|DOMError|DOMException\n |DOMHighResTimeStamp|DOMImplementation|DOMString|DOMStringList|DOMStringMap|DOMTimeStamp|DOMTokenList|DataTransfer\n |DataTransferItem|DataTransferItemList|DedicatedWorkerGlobalScope|DelayNode|DeviceProximityEvent|DirectoryEntry\n |DirectoryEntrySync|DirectoryReader|DirectoryReaderSync|Document|DocumentFragment|DocumentTouch|DocumentType|DragEvent\n |DynamicsCompressorNode|Element|Entry|EntrySync|ErrorEvent|Event|EventListener|EventSource|EventTarget|FederatedCredential\n |FetchEvent|File|FileEntry|FileEntrySync|FileException|FileList|FileReader|FileReaderSync|FileSystem|FileSystemSync\n |FontFace|FormData|GainNode|Gamepad|GamepadButton|GamepadEvent|Geolocation|GlobalEventHandlers|HTMLAnchorElement\n |HTMLAreaElement|HTMLAudioElement|HTMLBRElement|HTMLBaseElement|HTMLBodyElement|HTMLButtonElement|HTMLCanvasElement\n |HTMLCollection|HTMLContentElement|HTMLDListElement|HTMLDataElement|HTMLDataListElement|HTMLDialogElement|HTMLDivElement\n |HTMLDocument|HTMLElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFormControlsCollection|HTMLFormElement\n |HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLInputElement\n |HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMediaElement\n |HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement\n |HTMLOptionsCollection|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPreElement|HTMLProgressElement\n |HTMLQuoteElement|HTMLScriptElement|HTMLSelectElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement\n |HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement\n |HTMLTableRowElement|HTMLTableSectionElement|HTMLTextAreaElement|HTMLTimeElement|HTMLTitleElement|HTMLTrackElement\n |HTMLUListElement|HTMLUnknownElement|HTMLVideoElement|HashChangeEvent|History|IDBCursor|IDBCursorWithValue|IDBDatabase\n |IDBEnvironment|IDBFactory|IDBIndex|IDBKeyRange|IDBMutableFile|IDBObjectStore|IDBOpenDBRequest|IDBRequest|IDBTransaction\n |IDBVersionChangeEvent|IIRFilterNode|IdentityManager|ImageBitmap|ImageBitmapFactories|ImageData|Index|InputDeviceCapabilities\n |InputEvent|InstallEvent|InstallTrigger|KeyboardEvent|LinkStyle|LocalFileSystem|LocalFileSystemSync|Location|MIDIAccess\n |MIDIConnectionEvent|MIDIInput|MIDIInputMap|MIDIOutputMap|MediaElementAudioSourceNode|MediaError|MediaKeyMessageEvent\n |MediaKeySession|MediaKeyStatusMap|MediaKeySystemAccess|MediaKeySystemConfiguration|MediaKeys|MediaRecorder|MediaStream\n |MediaStreamAudioDestinationNode|MediaStreamAudioSourceNode|MessageChannel|MessageEvent|MessagePort|MouseEvent\n |MutationObserver|MutationRecord|NamedNodeMap|Navigator|NavigatorConcurrentHardware|NavigatorGeolocation|NavigatorID\n |NavigatorLanguage|NavigatorOnLine|Node|NodeFilter|NodeIterator|NodeList|NonDocumentTypeChildNode|Notification\n |OfflineAudioCompletionEvent|OfflineAudioContext|OscillatorNode|PageTransitionEvent|PannerNode|ParentNode|PasswordCredential\n |Path2D|PaymentAddress|PaymentRequest|PaymentResponse|Performance|PerformanceEntry|PerformanceFrameTiming|PerformanceMark\n |PerformanceMeasure|PerformanceNavigation|PerformanceNavigationTiming|PerformanceObserver|PerformanceObserverEntryList\n |PerformanceResourceTiming|PerformanceTiming|PeriodicSyncEvent|PeriodicWave|Plugin|Point|PointerEvent|PopStateEvent\n |PortCollection|Position|PositionError|PositionOptions|PresentationConnectionClosedEvent|PresentationConnectionList\n |PresentationReceiver|ProcessingInstruction|ProgressEvent|PromiseRejectionEvent|PushEvent|PushRegistrationManager\n |RTCCertificate|RTCConfiguration|RTCPeerConnection|RTCSessionDescriptionCallback|RTCStatsReport|RadioNodeList|RandomSource\n |Range|ReadableByteStream|RenderingContext|SVGAElement|SVGAngle|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement\n |SVGAnimateTransformElement|SVGAnimatedAngle|SVGAnimatedBoolean|SVGAnimatedEnumeration|SVGAnimatedInteger|SVGAnimatedLength\n |SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberList|SVGAnimatedPoints|SVGAnimatedPreserveAspectRatio\n |SVGAnimatedRect|SVGAnimatedString|SVGAnimatedTransformList|SVGAnimationElement|SVGCircleElement|SVGClipPathElement\n |SVGCursorElement|SVGDefsElement|SVGDescElement|SVGElement|SVGEllipseElement|SVGEvent|SVGFilterElement|SVGFontElement\n |SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement\n |SVGForeignObjectElement|SVGGElement|SVGGlyphElement|SVGGradientElement|SVGHKernElement|SVGImageElement|SVGLength\n |SVGLengthList|SVGLineElement|SVGLinearGradientElement|SVGMPathElement|SVGMaskElement|SVGMatrix|SVGMissingGlyphElement\n |SVGNumber|SVGNumberList|SVGPathElement|SVGPatternElement|SVGPoint|SVGPolygonElement|SVGPolylineElement|SVGPreserveAspectRatio\n |SVGRadialGradientElement|SVGRect|SVGRectElement|SVGSVGElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGStringList\n |SVGStylable|SVGStyleElement|SVGSwitchElement|SVGSymbolElement|SVGTRefElement|SVGTSpanElement|SVGTests|SVGTextElement\n |SVGTextPositioningElement|SVGTitleElement|SVGTransform|SVGTransformList|SVGTransformable|SVGUseElement|SVGVKernElement\n |SVGViewElement|ServiceWorker|ServiceWorkerContainer|ServiceWorkerGlobalScope|ServiceWorkerRegistration|ServiceWorkerState\n |ShadowRoot|SharedWorker|SharedWorkerGlobalScope|SourceBufferList|StereoPannerNode|Storage|StorageEvent|StyleSheet\n |StyleSheetList|SubtleCrypto|SyncEvent|Text|TextMetrics|TimeEvent|TimeRanges|Touch|TouchEvent|TouchList|Transferable\n |TreeWalker|UIEvent|USVString|VRDisplayCapabilities|ValidityState|WaveShaperNode|WebGL|WebGLActiveInfo|WebGLBuffer\n |WebGLContextEvent|WebGLFramebuffer|WebGLProgram|WebGLRenderbuffer|WebGLRenderingContext|WebGLShader|WebGLShaderPrecisionFormat\n |WebGLTexture|WebGLTimerQueryEXT|WebGLTransformFeedback|WebGLUniformLocation|WebGLVertexArrayObject|WebGLVertexArrayObjectOES\n |WebSocket|WebSockets|WebVTT|WheelEvent|Window|WindowBase64|WindowEventHandlers|WindowTimers|Worker|WorkerGlobalScope\n |WorkerLocation|WorkerNavigator|XMLHttpRequest|XMLHttpRequestEventTarget|XMLSerializer|XPathExpression|XPathResult\n |XSLTProcessor))\\b(?!\\$)","captures":{"1":{"name":"support.variable.dom.tsx"},"2":{"name":"support.class.dom.tsx"}}},{"match":"(?x) (\\.) \\s* (?:\n (ATTRIBUTE_NODE|CDATA_SECTION_NODE|COMMENT_NODE|DOCUMENT_FRAGMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE\n |DOMSTRING_SIZE_ERR|ELEMENT_NODE|ENTITY_NODE|ENTITY_REFERENCE_NODE|HIERARCHY_REQUEST_ERR|INDEX_SIZE_ERR\n |INUSE_ATTRIBUTE_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR\n |NOT_SUPPORTED_ERR|NOTATION_NODE|PROCESSING_INSTRUCTION_NODE|TEXT_NODE|WRONG_DOCUMENT_ERR)\n |\n (_content|[xyz]|abbr|above|accept|acceptCharset|accessKey|action|align|[av]Link(?:color)?|all|alt|anchors|appCodeName\n |appCore|applets|appMinorVersion|appName|appVersion|archive|areas|arguments|attributes|availHeight|availLeft|availTop\n |availWidth|axis|background|backgroundColor|backgroundImage|below|bgColor|body|border|borderBottomWidth|borderColor\n |borderLeftWidth|borderRightWidth|borderStyle|borderTopWidth|borderWidth|bottom|bufferDepth|callee|caller|caption\n |cellPadding|cells|cellSpacing|ch|characterSet|charset|checked|childNodes|chOff|cite|classes|className|clear\n |clientInformation|clip|clipBoardData|closed|code|codeBase|codeType|color|colorDepth|cols|colSpan|compact|complete\n |components|content|controllers|cookie|cookieEnabled|cords|cpuClass|crypto|current|data|dateTime|declare|defaultCharset\n |defaultChecked|defaultSelected|defaultStatus|defaultValue|defaultView|defer|description|dialogArguments|dialogHeight\n |dialogLeft|dialogTop|dialogWidth|dir|directories|disabled|display|docmain|doctype|documentElement|elements|embeds\n |enabledPlugin|encoding|enctype|entities|event|expando|external|face|fgColor|filename|firstChild|fontFamily|fontSize\n |fontWeight|form|formName|forms|frame|frameBorder|frameElement|frames|hasFocus|hash|headers|height|history|host\n |hostname|href|hreflang|hspace|htmlFor|httpEquiv|id|ids|ignoreCase|images|implementation|index|innerHeight|innerWidth\n |input|isMap|label|lang|language|lastChild|lastIndex|lastMatch|lastModified|lastParen|layer[sXY]|left|leftContext\n |lineHeight|link|linkColor|links|listStyleType|localName|location|locationbar|longDesc|lowsrc|lowSrc|marginBottom\n |marginHeight|marginLeft|marginRight|marginTop|marginWidth|maxLength|media|menubar|method|mimeTypes|multiline|multiple\n |name|nameProp|namespaces|namespaceURI|next|nextSibling|nodeName|nodeType|nodeValue|noHref|noResize|noShade|notationName\n |notations|noWrap|object|offscreenBuffering|onLine|onreadystatechange|opener|opsProfile|options|oscpu|outerHeight\n |outerWidth|ownerDocument|paddingBottom|paddingLeft|paddingRight|paddingTop|page[XY]|page[XY]Offset|parent|parentLayer\n |parentNode|parentWindow|pathname|personalbar|pixelDepth|pkcs11|platform|plugins|port|prefix|previous|previousDibling\n |product|productSub|profile|profileend|prompt|prompter|protocol|publicId|readOnly|readyState|referrer|rel|responseText\n |responseXML|rev|right|rightContext|rowIndex|rows|rowSpan|rules|scheme|scope|screen[XY]|screenLeft|screenTop|scripts\n |scrollbars|scrolling|sectionRowIndex|security|securityPolicy|selected|selectedIndex|selection|self|shape|siblingAbove\n |siblingBelow|size|source|specified|standby|start|status|statusbar|statusText|style|styleSheets|suffixes|summary\n |systemId|systemLanguage|tagName|tags|target|tBodies|text|textAlign|textDecoration|textIndent|textTransform|tFoot|tHead\n |title|toolbar|top|type|undefined|uniqueID|updateInterval|URL|URLUnencoded|useMap|userAgent|userLanguage|userProfile\n |vAlign|value|valueType|vendor|vendorSub|version|visibility|vspace|whiteSpace|width|X[MS]LDocument|zIndex))\\b(?!\\$|\\s*(\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\()","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"support.constant.dom.tsx"},"3":{"name":"support.variable.property.dom.tsx"}}},{"name":"support.class.node.tsx","match":"(?x)(?\u003c!\\.|\\$)\\b(Buffer|EventEmitter|Server|Pipe|Socket|REPLServer|ReadStream|WriteStream|Stream\n |Inflate|Deflate|InflateRaw|DeflateRaw|GZip|GUnzip|Unzip|Zip)\\b(?!\\$)"},{"name":"support.module.node.tsx","match":"(?x)(?\u003c!\\.|\\$)\\b(assert|buffer|child_process|cluster|constants|crypto|dgram|dns|domain|events|fs|http|https|net\n |os|path|punycode|querystring|readline|repl|stream|string_decoder|timers|tls|tty|url|util|vm|zlib)\\b(?!\\$)"},{"match":"(?x)(?\u003c!\\.|\\$)\\b(process)(?:(\\.)(?:\n (arch|argv|config|connected|env|execArgv|execPath|exitCode|mainModule|pid|platform|release|stderr|stdin|stdout|title|version|versions)\n |\n (abort|chdir|cwd|disconnect|exit|[sg]ete?[gu]id|send|[sg]etgroups|initgroups|kill|memoryUsage|nextTick|umask|uptime|hrtime)\n))?\\b(?!\\$)","captures":{"1":{"name":"support.variable.object.process.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"support.variable.property.process.tsx"},"4":{"name":"support.function.process.tsx"}}},{"match":"(?\u003c!\\.|\\$)\\b(?:(exports)|(module)(?:(\\.)(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)","captures":{"1":{"name":"support.type.object.module.tsx"},"2":{"name":"support.type.object.module.tsx"},"3":{"name":"punctuation.accessor.tsx"},"4":{"name":"support.type.object.module.tsx"}}},{"name":"support.variable.object.node.tsx","match":"(?\u003c!\\.|\\$)\\b(global|GLOBAL|root|__dirname|__filename)\\b(?!\\$)"},{"match":"(?x) (\\.) \\s* \n(?:\n (on(?:Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|\n Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|\n Before(?:cut|deactivate|unload|update|paste|print|editfocus|activate)|\n Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|\n Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|\n Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|\n Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|\n Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\n ) |\n (shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|\n scrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|\n sup|sub|substr|substring|splice|split|send|set(?:Milliseconds|Seconds|Minutes|Hours|\n Month|Year|FullYear|Date|UTC(?:Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|\n Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|\n savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|\n contextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|\n createEventObject|to(?:GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|\n test|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|\n untaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|\n print|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|\n fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|\n forward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|\n abort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|\n releaseCapture|releaseEvents|go|get(?:Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|\n Time|Date|TimezoneOffset|UTC(?:Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|\n Attention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|\n moveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back\n ) |\n (acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|\n appendChild|appendData|before|blur|canPlayType|captureStream|\n caretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|\n cloneContents|cloneNode|cloneRange|close|closest|collapse|\n compareBoundaryPoints|compareDocumentPosition|comparePoint|contains|\n convertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|\n createAttributeNS|createCaption|createCDATASection|createComment|\n createContextualFragment|createDocument|createDocumentFragment|\n createDocumentType|createElement|createElementNS|createEntityReference|\n createEvent|createExpression|createHTMLDocument|createNodeIterator|\n createNSResolver|createProcessingInstruction|createRange|createShadowRoot|\n createTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|\n deleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|\n deleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|\n enableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|\n exitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|\n getAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|\n getAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|\n getClientRects|getContext|getDestinationInsertionPoints|getElementById|\n getElementsByClassName|getElementsByName|getElementsByTagName|\n getElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|\n getVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|\n hasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|\n insertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|\n insertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|\n isPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|\n lookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|\n moveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|\n parentNode|pause|play|postMessage|prepend|preventDefault|previousNode|\n previousSibling|probablySupportsContext|queryCommandEnabled|\n queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|\n querySelector|querySelectorAll|registerContentHandler|registerElement|\n registerProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|\n removeAttributeNode|removeAttributeNS|removeChild|removeEventListener|\n removeItem|replace|replaceChild|replaceData|replaceWith|reportValidity|\n requestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|\n scrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|\n setAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|\n setCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|\n setRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|\n slice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|\n submit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|\n toDataURL|toggle|toString|values|write|writeln\n )\n)(?=\\s*\\()","captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"support.function.event-handler.tsx"},"3":{"name":"support.function.tsx"},"4":{"name":"support.function.dom.tsx"}}}]},"switch-block":{"name":"switch-block.expr.tsx","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#case-clause"},{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"switch-expression":{"name":"switch-expression.expr.tsx","begin":"(?\u003c!\\.|\\$)\\b(switch)\\s*(\\()","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.tsx"},"2":{"name":"meta.brace.round.tsx"}},"endCaptures":{"0":{"name":"meta.brace.round.tsx"}}},"switch-statement":{"name":"switch-statement.expr.tsx","begin":"(?\u003c!\\.|\\$)(?=\\bswitch\\s*\\()","end":"\\}","patterns":[{"include":"#switch-expression"},{"include":"#switch-block"}],"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"template":{"name":"string.template.tsx","begin":"([_$[:alpha:]][_$[:alnum:]]*)?(`)","end":"`","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"},{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-child-tag"},{"include":"#jsx-tag-invalid"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.tsx"},"2":{"name":"punctuation.definition.string.template.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.tsx"}}},"template-substitution-element":{"name":"meta.template.expression.tsx","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsx"}}},"ternary-expression":{"begin":"(\\?)","end":"(:)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.tsx"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.tsx"}}},"this-literal":{"name":"variable.language.this.tsx","match":"(?\u003c!\\.|\\$)\\bthis\\b(?!\\$)"},"type":{"name":"meta.type.tsx","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#type-primitive"},{"include":"#type-builtin-literals"},{"include":"#type-parameters"},{"include":"#type-tuple"},{"include":"#type-object"},{"include":"#type-operators"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"include":"#type-name"}]},"type-annotation":{"name":"meta.type.annotation.tsx","begin":":","end":"(?=$|[,);\\}\\]]|//)|(?==[^\u003e])|(?\u003c=[\\}\u003e\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)","patterns":[{"include":"#comment"},{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.tsx"}}},"type-builtin-literals":{"name":"support.type.builtin.tsx","match":"(?\u003c!\\.|\\$)\\b(this|true|false|undefined|null)\\b(?!\\$)"},"type-declaration":{"name":"meta.type.declaration.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?\\b(type)\\b\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*","end":"(?=[};]|\\bvar\\b|\\blet\\b|\\bconst\\b|\\btype\\b|\\bfunction\\b|\\bclass\\b|\\binterface\\b|\\bnamespace\\b|\\bmodule\\b|\\bimport\\b|\\benum\\b|\\bdeclare\\b|\\bexport\\b|\\babstract\\b|\\basync\\b)","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#type"},{"match":"(=)\\s*","captures":{"1":{"name":"keyword.operator.assignment.tsx"}}}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.type.type.tsx"},"3":{"name":"entity.name.type.tsx"}}},"type-fn-type-parameters":{"patterns":[{"name":"meta.type.constructor.tsx","match":"(?\u003c!\\.|\\$)\\b(new)\\b(?=\\s*\\\u003c)","captures":{"1":{"name":"keyword.control.new.tsx"}}},{"name":"meta.type.constructor.tsx","begin":"(?\u003c!\\.|\\$)\\b(new)\\b\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"keyword.control.new.tsx"}}},{"name":"meta.type.function.tsx","begin":"(?\u003c=\\\u003e)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]},{"name":"meta.type.function.tsx","begin":"(?x)(\n (?=\n [(]\\s*(\n ([)]) | \n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )\n )\n)","end":"(?\u003c=\\))","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"name":"meta.type.function.return.tsx","begin":"=\u003e","end":"(?\u003c!=\u003e)(?=[,\\]\\)\\{\\}=;\u003e]|//|$)","patterns":[{"include":"#comment"},{"name":"meta.object.type.tsx","begin":"(?\u003c==\u003e)\\s*(\\{)","end":"\\}","patterns":[{"include":"#type-object-members"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},{"include":"#type-predicate-operator"},{"include":"#type"}],"beginCaptures":{"0":{"name":"storage.type.function.arrow.tsx"}}},"type-name":{"patterns":[{"match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"}}},{"name":"entity.name.type.tsx","match":"[_$[:alpha:]][_$[:alnum:]]*"}]},"type-object":{"name":"meta.object.type.tsx","begin":"\\{","end":"\\}","patterns":[{"include":"#type-object-members"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}}},"type-object-members":{"patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\.\\.\\.","end":"(?=\\}|;|,|$)|(?\u003c=\\})","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.spread.tsx"}}},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"name":"keyword.operator.type.tsx","match":"[\u0026|]"},{"name":"keyword.operator.expression.keyof.tsx","match":"(?\u003c!\\.|\\$)\\bkeyof\\b(?!\\$)"}]},"type-parameters":{"name":"meta.type.parameters.tsx","begin":"(\u003c)","end":"(?=$)|(\u003e)","patterns":[{"include":"#comment"},{"name":"storage.modifier.tsx","match":"(?\u003c!\\.|\\$)\\b(extends)\\b(?!\\$)"},{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.tsx"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}}},"type-paren-or-function-parameters":{"name":"meta.type.paren.cover.tsx","begin":"\\(","end":"\\)","patterns":[{"include":"#type"},{"include":"#function-parameters"}],"beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"endCaptures":{"0":{"name":"meta.brace.round.tsx"}}},"type-predicate-operator":{"name":"keyword.operator.expression.is.tsx","match":"(?\u003c!\\.|\\$)\\bis\\b(?!\\$)"},"type-primitive":{"name":"support.type.primitive.tsx","match":"(?\u003c!\\.|\\$)\\b(string|number|boolean|symbol|any|void|never)\\b(?!\\$)"},"type-tuple":{"name":"meta.type.tuple.tsx","begin":"\\[","end":"\\]","patterns":[{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.tsx"}},"endCaptures":{"0":{"name":"meta.brace.square.tsx"}}},"typeof-operator":{"name":"keyword.operator.expression.typeof.tsx","match":"(?\u003c!\\.|\\$)\\btypeof\\b(?!\\$)"},"undefined-literal":{"name":"constant.language.undefined.tsx","match":"(?\u003c!\\.|\\$)\\bundefined\\b(?!\\$)"},"var-expr":{"name":"meta.var.expr.tsx","begin":"(?\u003c!\\.|\\$)(?:(\\bexport)\\s+)?\\b(var|let|const(?!\\s+enum\\b))\\b(?!\\$)","end":"(?=$|;|}|(\\s+(of|in)\\s+))","patterns":[{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.type.tsx"}}},"var-single-variable":{"patterns":[{"name":"meta.var-single-variable.expr.tsx","begin":"(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\n (=\\s*(\n (async\\s+) |\n (function\\s*[(\u003c]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e) |\n ((\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\u003e\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=\u003e))\n ) |\n (:\\s*(\n (\u003c) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=\u003e)\n ))\n )))\n )\n)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"meta.definition.variable.tsx entity.name.function.tsx"}}},{"name":"meta.var-single-variable.expr.tsx","begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=$|[;,=}]|(\\s+(of|in)\\s+))","patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"meta.definition.variable.tsx variable.other.readwrite.tsx"}}}]},"variable-initializer":{"begin":"(?\u003c!=|!)(=)(?!=)","end":"(?=$|[,);}\\]])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}}}}}
@@ -1 +1 @@
1
- {"name":"jq","scopeName":"source.jq","patterns":[{"include":"#main"}],"repository":{"array":{"name":"meta.array.jq","begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#string"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.jq"}}},{"include":"#main"},{"name":"punctuation.separator.jq","match":","},{"name":"invalid.illegal.identifier.jq","match":"\\S+"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.jq"}}},"comment":{"name":"comment.line.number-sign.jq","begin":"#","end":"$"},"constant":{"name":"constant.language.jq","match":"(?\u003c!\\.)\\b(true|false|null)(?!\\s*:)\\b"},"field":{"name":"entity.other.attribute-name.jq","match":"\\.[a-zA-Z_]\\w*"},"filter":{"name":"support.function.jq","match":"([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*"},"format":{"name":"constant.other.symbol.jq","match":"@\\w+"},"function":{"name":"meta.function.jq","begin":"(?\u003c!\\.)\\bdef(?!\\s*:)\\b","end":"([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*","patterns":[{"include":"#comment"},{"name":"invalid.illegal.identifier.jq","match":"\\S+"}],"beginCaptures":{"0":{"name":"storage.type.function.jq"}},"endCaptures":{"0":{"name":"entity.name.function.jq"}}},"keyword":{"name":"keyword.control.jq","match":"(?x)\n(?\u003c!\\.) \\b\n( and\n| as\n| break\n| catch\n| elif\n| else\n| empty\n| end\n| foreach\n| if\n| import\n| include\n| label\n| module\n| or\n| reduce\n| then\n| try\n) (?!\\s*:) \\b"},"main":{"patterns":[{"include":"#comment"},{"include":"#array"},{"include":"#object"},{"include":"#function"},{"include":"#string"},{"include":"#field"},{"include":"#variable"},{"include":"#format"},{"include":"#constant"},{"include":"#keyword"},{"include":"#filter"},{"include":"#number"},{"include":"#operator"},{"include":"#punctuation"}]},"number":{"name":"constant.numeric.jq","match":"([0-9.]{2,}|[0-9]+)([eE][+-]?[0-9]+)?"},"object":{"name":"meta.object.jq","begin":"{","end":"}","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#variable"},{"name":"entity.other.attribute-name.id.jq","match":"([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.jq"}}},{"begin":":","end":",|(?=})","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.separator.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.separator.end.jq"}}},{"name":"punctuation.separator.jq","match":","},{"name":"invalid.illegal.identifier.jq","match":"\\S+"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jq"}}},"operator":{"name":"keyword.operator.jq","match":"(?x) ( \\.\\.? | \\?// | \\? | ==? | //=? | \\|=? | \\+=? | -=? | \\*=? | /=? | %=? | != | \u003c=? | \u003e=? )"},"punctuation":{"patterns":[{"name":"punctuation.bracket.round.jq","match":"\\(|\\)"},{"name":"punctuation.bracket.square.jq","match":"\\[|\\]"},{"name":"punctuation.separator.jq","match":",|;|:"}]},"self_in_round_brackets":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.jq"}}},{"include":"#main"}]},"string":{"name":"string.quoted.double.jq","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.jq","match":"\\\\([\"\\\\/bfnrt]|u[0-9a-fA-F]{4})"},{"include":"#string_interpolation"},{"name":"invalid.illegal.unrecognized-string-escape.jq","match":"\\\\."}]},"string_interpolation":{"name":"source.jq.embedded.source","begin":"\\\\\\(","end":"\\)","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.jq.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.jq.end.jq"}}},"variable":{"name":"variable.other.jq","match":"\\$([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*"}}}
1
+ {"name":"jq","scopeName":"source.jq","patterns":[{"include":"#main"}],"repository":{"array":{"name":"meta.array.jq","begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#string"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.jq"}}},{"include":"#main"},{"name":"punctuation.separator.jq","match":","},{"name":"invalid.illegal.identifier.jq","match":"\\S+"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.jq"}}},"comment":{"name":"comment.line.number-sign.jq","begin":"#","end":"$"},"constant":{"name":"constant.language.jq","match":"(?\u003c!\\.)\\b(true|false|null)(?!\\s*:)\\b"},"field":{"name":"entity.other.attribute-name.jq","match":"\\.[a-zA-Z_]\\w*"},"filter":{"name":"support.function.jq","match":"([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*"},"format":{"name":"constant.other.symbol.jq","match":"@\\w+"},"function":{"name":"meta.function.jq","begin":"(?\u003c!\\.)\\bdef(?!\\s*:)\\b","end":"([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*","patterns":[{"include":"#comment"},{"name":"invalid.illegal.identifier.jq","match":"\\S+"}],"beginCaptures":{"0":{"name":"storage.type.function.jq"}},"endCaptures":{"0":{"name":"entity.name.function.jq"}}},"keyword":{"name":"keyword.control.jq","match":"(?x)\n(?\u003c!\\.) \\b\n( and\n| as\n| break\n| catch\n| elif\n| else\n| empty\n| end\n| foreach\n| if\n| import\n| include\n| label\n| module\n| or\n| reduce\n| then\n| try\n) (?!\\s*:) \\b"},"main":{"patterns":[{"include":"#comment"},{"include":"#array"},{"include":"#object"},{"include":"#function"},{"include":"#string"},{"include":"#field"},{"include":"#variable"},{"include":"#format"},{"include":"#constant"},{"include":"#keyword"},{"include":"#filter"},{"include":"#number"},{"include":"#operator"},{"include":"#punctuation"}]},"number":{"name":"constant.numeric.jq","match":"([0-9.]{2,}|[0-9]+)([eE][+-]?[0-9]+)?"},"object":{"name":"meta.object.jq","begin":"{","end":"}","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#variable"},{"name":"entity.other.attribute-name.id.jq","match":"([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.jq"}}},{"begin":":","end":",|(?=})","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.separator.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.separator.end.jq"}}},{"name":"punctuation.separator.jq","match":","},{"name":"invalid.illegal.identifier.jq","match":"\\S+"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jq"}}},"operator":{"name":"keyword.operator.jq","match":"(?x) ( \\.\\.? | \\?// | \\? | ==? | //=? | \\|=? | \\+=? | -=? | \\*=? | /=? | %=? | != | \u003c=? | \u003e=? )"},"punctuation":{"patterns":[{"name":"punctuation.bracket.round.jq","match":"\\(|\\)"},{"name":"punctuation.bracket.square.jq","match":"\\[|\\]"},{"name":"punctuation.separator.jq","match":",|;|:"}]},"self_in_round_brackets":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.jq"}}},{"include":"#main"}]},"string":{"name":"string.quoted.double.jq","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.jq","match":"\\\\([\"\\\\/bfnrt]|u[0-9a-fA-F]{4})"},{"include":"#string_interpolation"},{"name":"invalid.illegal.unrecognized-string-escape.jq","match":"\\\\."}]},"string_interpolation":{"name":"source.jq.embedded.source","begin":"\\\\\\(","end":"\\)","patterns":[{"include":"#self_in_round_brackets"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.jq.begin.jq"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.jq.end.jq"}}},"variable":{"name":"variable.other.jq","match":"\\$([a-zA-Z_]\\w*::)*[a-zA-Z_]\\w*"}}}