github-linguist 7.12.2 → 7.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +579 -335
  3. data/ext/linguist/lex.linguist_yy.h +10 -9
  4. data/ext/linguist/tokenizer.l +47 -54
  5. data/grammars/etc.json +1 -1
  6. data/grammars/markdown.lean.codeblock.json +1 -0
  7. data/grammars/source.abap.json +1 -1
  8. data/grammars/source.abapcds.json +1 -0
  9. data/grammars/source.ats.json +1 -1
  10. data/grammars/source.ballerina.json +1 -1
  11. data/grammars/source.boogie.json +1 -0
  12. data/grammars/source.cirru.json +1 -1
  13. data/grammars/source.clarion.json +1 -1
  14. data/grammars/source.css.json +1 -1
  15. data/grammars/source.d.json +1 -1
  16. data/grammars/source.elixir.json +1 -1
  17. data/grammars/source.fsharp.json +1 -1
  18. data/grammars/source.gcode.json +1 -1
  19. data/grammars/source.gdscript.json +1 -1
  20. data/grammars/source.idris.json +1 -1
  21. data/grammars/source.isabelle.theory.json +1 -1
  22. data/grammars/source.j.json +1 -1
  23. data/grammars/source.js.json +1 -1
  24. data/grammars/source.julia.json +1 -1
  25. data/grammars/source.kotlin.json +1 -1
  26. data/grammars/source.lilypond.json +1 -1
  27. data/grammars/source.m2.json +1 -1
  28. data/grammars/source.meson.json +1 -1
  29. data/grammars/source.msl.json +1 -1
  30. data/grammars/source.nunjucks.json +1 -0
  31. data/grammars/source.prisma.json +1 -1
  32. data/grammars/source.qsharp.json +1 -1
  33. data/grammars/source.rebol.json +1 -1
  34. data/grammars/source.record-jar.json +1 -0
  35. data/grammars/source.red.json +1 -1
  36. data/grammars/source.regexp.json +1 -1
  37. data/grammars/source.regexp.posix.json +1 -0
  38. data/grammars/source.rescript.json +1 -1
  39. data/grammars/source.ruby.json +1 -1
  40. data/grammars/source.scala.json +1 -1
  41. data/grammars/source.swift.json +1 -1
  42. data/grammars/source.sy.json +1 -1
  43. data/grammars/source.ts.json +1 -1
  44. data/grammars/source.tsx.json +1 -1
  45. data/grammars/source.v.json +1 -1
  46. data/grammars/source.viml.json +1 -1
  47. data/grammars/source.webidl.json +1 -1
  48. data/grammars/source.zeek.json +1 -1
  49. data/grammars/text.browserslist.json +1 -1
  50. data/grammars/text.checksums.json +1 -0
  51. data/grammars/text.html.erb.json +1 -1
  52. data/grammars/text.html.liquid.json +1 -1
  53. data/grammars/text.html.nunjucks.json +1 -0
  54. data/grammars/text.roff.json +1 -1
  55. data/grammars/text.xml.svg.json +1 -1
  56. data/grammars/version +1 -1
  57. data/lib/linguist/VERSION +1 -1
  58. data/lib/linguist/classifier.rb +9 -5
  59. data/lib/linguist/generated.rb +9 -0
  60. data/lib/linguist/generic.yml +1 -0
  61. data/lib/linguist/heuristics.yml +17 -2
  62. data/lib/linguist/language.rb +4 -2
  63. data/lib/linguist/languages.json +1 -1
  64. data/lib/linguist/languages.yml +80 -20
  65. data/lib/linguist/linguist.bundle +0 -0
  66. data/lib/linguist/samples.json +1 -1
  67. data/lib/linguist/samples.rb +2 -2
  68. data/lib/linguist/vendor.yml +1 -1
  69. metadata +11 -6
  70. data/grammars/source.css.scss.liquid.json +0 -1
  71. data/grammars/source.js.css.json +0 -1
  72. data/grammars/source.js.jsx.json +0 -1
@@ -1 +0,0 @@
1
- {"name":"SCSS (Liquid)","scopeName":"source.css.scss.liquid","patterns":[{"include":"text.html.liquid"},{"include":"source.css.scss"}]}
@@ -1 +0,0 @@
1
- {"name":"Styled Components","scopeName":"source.js.css","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}],"repository":{"color-values":{"patterns":[{"name":"support.constant.color.w3c-standard-color-name.css","match":"\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b"},{"name":"invalid.deprecated.color.w3c-non-standard-color-name.css","match":"\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b"},{"begin":"(hsla?|rgba?)\\s*(\\()","end":"(\\))","patterns":[{"name":"constant.other.color.rgb-value.css","match":"(?x)\\b\n\t\t\t\t\t\t\t (0*((1?[0-9]{1,2})|(2([0-4][0-9]|5[0-5])))\\s*,\\s*){2}\n\t\t\t\t\t\t\t (0*((1?[0-9]{1,2})|(2([0-4][0-9]|5[0-5])))\\b)\n\t\t\t\t\t\t\t (\\s*,\\s*((0?\\.[0-9]+)|[0-1]))?\n\t\t\t\t\t\t\t"},{"name":"constant.other.color.rgb-percentage.css","match":"\\b([0-9]{1,2}|100)\\s*%,\\s*([0-9]{1,2}|100)\\s*%,\\s*([0-9]{1,2}|100)\\s*%"},{"include":"#numeric-values"}],"beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.css"}},"endCaptures":{"1":{"name":"punctuation.section.function.css"}}}]},"comment-block":{"name":"comment.block.css","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.css"}}},"media-query":{"begin":"(?i)\\s*(only|not)?\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?","end":"\\s*(?:(,)|(?=[{;]))","patterns":[{"begin":"\\s*(and)?\\s*(\\()\\s*","end":"\\)","patterns":[{"begin":"(?x)\n\t (\n\t ((min|max)-)?\n\t (\n\t ((device-)?(height|width|aspect-ratio))|\n\t (color(-index)?)|monochrome|resolution\n\t )\n\t )|grid|scan|orientation\n\t \\s*(?=[:)])","end":"(:)|(?=\\))","beginCaptures":{"0":{"name":"support.type.property-name.media.css"}},"endCaptures":{"1":{"name":"punctuation.separator.key-value.css"}}},{"name":"support.constant.property-value.css","match":"\\b(portrait|landscape|progressive|interlace)"},{"match":"\\s*(\\d+)(/)(\\d+)","captures":{"1":{"name":"constant.numeric.css"},"2":{"name":"keyword.operator.arithmetic.css"},"3":{"name":"constant.numeric.css"}}},{"include":"#numeric-values"}],"beginCaptures":{"1":{"name":"keyword.operator.logic.media.css"}}}],"beginCaptures":{"1":{"name":"keyword.operator.logic.media.css"},"2":{"name":"support.constant.media.css"}},"endCaptures":{"1":{"name":"punctuation.definition.arbitrary-repitition.css"}}},"media-query-list":{"begin":"\\s*(?=[^{;])","end":"\\s*(?=[{;])","patterns":[{"include":"#media-query"}]},"numeric-values":{"patterns":[{"name":"constant.other.color.rgb-value.css","match":"(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b","captures":{"1":{"name":"punctuation.definition.constant.css"}}},{"name":"constant.numeric.css","match":"(?x)\n\t\t\t\t\t (?:-|\\+)?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))\n\t\t\t\t\t ((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|s)\\b|%)?\n\t\t\t\t\t","captures":{"1":{"name":"keyword.other.unit.css"}}}]},"property-values":{"patterns":[{"name":"support.constant.property-value.css","match":"\\b(absolute|all(-scroll)?|always|armenian|auto|avoid|baseline|below|bidi-override|block|bold|bolder|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|geometricPrecision|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|optimize(Legibility|Quality|Speed)|outset|outside|overline|pointer|pre(-(wrap|line))?|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|sub|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical(-(ideographic|text))?|visible(Painted|Fill|Stroke)?|w-resize|wait|whitespace|zero|smaller|larger|((xx?-)?(small|large))|painted|fill|stroke)\\b"},{"name":"support.constant.font-name.css","match":"(\\b(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace)\\b)"},{"include":"#numeric-values"},{"include":"#color-values"},{"include":"#string-double"},{"include":"#string-single"},{"begin":"(rect)\\s*(\\()","end":"(\\))","patterns":[{"include":"#numeric-values"}],"beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.css"}},"endCaptures":{"1":{"name":"punctuation.section.function.css"}}},{"begin":"(format|local|url|attr|counter|counters)\\s*(\\()","end":"(\\))","patterns":[{"include":"#string-single"},{"include":"#string-double"},{"name":"variable.parameter.misc.css","match":"[^'\") \\t]+"}],"beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.css"}},"endCaptures":{"1":{"name":"punctuation.section.function.css"}}},{"name":"keyword.other.important.css","match":"\\!\\s*important"}]},"rule-list":{"name":"meta.property-list.css","end":"(?=\\s*)","patterns":[{"include":"#comment-block"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","patterns":[{"name":"support.type.property-name.css","match":"\\b(azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|box-shadow|border-radius|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|flex|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|image-rendering|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|-moz-border-radius|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow(-[xy])?|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|pointer-events|position|quotes|resize|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|src|stress|table-layout|text-(align|decoration|indent|rendering|shadow|transform)|top|transition|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-(spacing|wrap)|zoom|z-index)\\b"}]},{"name":"meta.property-value.css","begin":"(?\u003c!\u0026|:)(:)\\s*","end":"\\s*(;|(?=\\}))","patterns":[{"include":"#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"0":{"name":"punctuation.section.property-list.css"}}},"string-double":{"name":"string.quoted.double.css","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.css","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}}},"string-single":{"name":"string.quoted.single.css","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.css","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}}}}}
@@ -1 +0,0 @@
1
- {"name":"JavaScript (Babel)","scopeName":"source.js.jsx","patterns":[{"include":"#core"}],"repository":{"brackets":{"patterns":[{"include":"#round-brackets"},{"include":"#square-brackets"},{"include":"#curly-brackets"}]},"class-method-definition":{"patterns":[{"name":"meta.short-method.flowtype.js","begin":"(@@[_$a-zA-Z][$\\w]*|static|return)(?=\\s*[\u003c(])|(?=\\s*\u003c)","end":"(?=\\s*[;{])","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"},{"include":"#flowtype-annotation"},{"include":"#comments"},{"include":"#curly-brackets"}],"beginCaptures":{"1":{"name":"keyword.operator.flowtype.js"}}},{"name":"meta.class-method.computed.js","begin":"(?\u003c=[]\"'])\\s*(?=[\u003c(])","end":"(?=\\s*[;{])","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"},{"include":"#flowtype-annotation"},{"include":"#comments"},{"include":"#curly-brackets"}]},{"name":"meta.class-accessor.js","begin":"(?x)\n ((?\u003eget|set)\\s+)\n (?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n (([_$a-zA-Z][$\\w]*|\\d+))\n )(?=\\s*[\u003c(])","end":"(?=\\s*[;{])","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"},{"include":"#flowtype-annotation"},{"include":"#comments"},{"include":"#curly-brackets"}],"beginCaptures":{"1":{"name":"storage.type.js"},"10":{"name":"string.unquoted.js"},"11":{"name":"entity.name.function.js"},"2":{"name":"string.quoted.js"},"3":{"name":"punctuation.definition.string.begin.js"},"4":{"name":"entity.name.function.js"},"5":{"name":"punctuation.definition.string.end.js"},"6":{"name":"string.quoted.js"},"7":{"name":"punctuation.definition.string.begin.js"},"8":{"name":"entity.name.function.js"},"9":{"name":"punctuation.definition.string.end.js"}}},{"name":"meta.class-method.js","begin":"(?x)\n (?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n (([_$a-zA-Z][$\\w]*|\\d+))\n )(?=\\s*[\u003c(])","end":"(?=\\s*[;{])","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"},{"include":"#flowtype-annotation"},{"include":"#comments"},{"include":"#curly-brackets"}],"beginCaptures":{"1":{"name":"string.quoted.js"},"10":{"name":"entity.name.function.js"},"2":{"name":"punctuation.definition.string.begin.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"punctuation.definition.string.end.js"},"5":{"name":"string.quoted.js"},"6":{"name":"punctuation.definition.string.begin.js"},"7":{"name":"entity.name.function.js"},"8":{"name":"punctuation.definition.string.end.js"},"9":{"name":"string.unquoted.js"}}}]},"class-method-storage":{"patterns":[{"name":"storage.modifier.js","match":"(?\u003c!\\.)\\b(?\u003estatic|declare)\\b"},{"name":"storage.type.js","match":"(?\u003c!\\.)\\b(async)\\b"},{"name":"storage.type.js","match":"(?\u003c!\\.)\\b(get|set)\\b(?!\\s*\\()"},{"name":"keyword.generator.asterisk.js","match":"\\*"}]},"class-properties":{"patterns":[{"name":"meta.class.property.js","begin":"([_$a-zA-Z][$\\w]*)(?=\\s*[:=])","end":"(?=\\s*[;}])","patterns":[{"include":"#flowtype-annotation"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.property.js"}}}]},"comments":{"patterns":[{"name":"comment.block.documentation.js","begin":"/\\*\\*(?!/)","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}}},{"name":"comment.block.html.js","match":"(?\u003e\u003c!--|--\u003e)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.line.double-slash.js","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.line.shebang.js","match":"^(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.js"}}}]},"core":{"patterns":[{"include":"#literal-function-labels"},{"include":"#literal-arrow-function-labels"},{"include":"#literal-labels"},{"include":"#literal-for"},{"include":"#literal-switch"},{"include":"#styled-components"},{"include":"#graphql"},{"include":"#expression"},{"include":"#literal-punctuation"}]},"curly-brackets":{"patterns":[{"name":"meta.group.braces.curly.js","begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.brace.curly.begin.js"}},"endCaptures":{"0":{"name":"meta.brace.curly.end.js"}}}]},"es7-decorators":{"patterns":[{"name":"tag.decorator.js","match":"(?x)\n (@)([_$a-zA-Z][$\\w]*)\\b","captures":{"1":{"name":"punctuation.definition.tag.js"},"2":{"name":"entity.name.tag.js"}}}]},"expression":{"patterns":[{"include":"#merge-conflits"},{"include":"#literal-regexp"},{"include":"#literal-jsx"},{"include":"#es7-decorators"},{"include":"#support-class"},{"include":"#support-other"},{"include":"#literal-function"},{"include":"#literal-arrow-function"},{"include":"#literal-prototype"},{"include":"#literal-keywords"},{"include":"#literal-method"},{"include":"#literal-module"},{"include":"#literal-class"},{"include":"#flowtype-declaration"},{"include":"#literal-number"},{"include":"#literal-template-string"},{"include":"#literal-string"},{"include":"#literal-language-constant"},{"include":"#literal-language-variable"},{"include":"#literal-constructor"},{"include":"#literal-method-call"},{"include":"#literal-function-call"},{"include":"#comments"},{"include":"#brackets"},{"include":"#literal-operators"},{"include":"#literal-variable"}]},"flowtype-annotation":{"patterns":[{"name":"meta.flowtype.annotation.js","begin":"(?:(\\?)\\s*)?(:)","end":"(?=\\S)","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"1":{"name":"keyword.operator.flowtype.optional.js"},"2":{"name":"keyword.operator.flowtype.annotation.js"}},"applyEndPatternLast":true}]},"flowtype-brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"0":{"name":"punctuation.section.flowtype.begin.js"}},"endCaptures":{"0":{"name":"punctuation.section.flowtype.end.js"}}}]},"flowtype-declaration":{"patterns":[{"name":"support.type.declare.flowtype.js","match":"(?\u003c!\\.)\\b(declare)\\b"},{"name":"meta.type.flowtype.js","begin":"(?\u003c!\\.)\\b(type)\\b(?=\\s*[_$a-zA-Z])","end":"(?=\\s*(;|from))","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"1":{"name":"support.type.type.flowtype.js"}}},{"name":"meta.type.flowtype.js","begin":"(?\u003c!\\.)\\b(type)\\b(?=\\s*{)","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"include":"#flowtype-brackets"},{"include":"#flowtype-polymorph"},{"name":"entity.name.type.js","match":"([_$a-zA-Z][$\\w]*)"}],"beginCaptures":{"1":{"name":"support.type.type.flowtype.js"}}}]},"flowtype-identifier":{"patterns":[{"include":"#support-class"},{"name":"constant.other.primitve.flowtype.js","match":"\\b(?:any|bool|boolean|mixed|number|string|void)\\b"},{"name":"variable.other.flowtype.js","match":"[_$a-zA-Z][$\\w]*"},{"name":"keyword.operator.flowtype.optional.js","match":"\\?"}]},"flowtype-polymorph":{"name":"meta.flowtype.polymorph.js","begin":"\u003c","end":"\u003e","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"0":{"name":"punctuation.section.flowtype.begin.js"}},"endCaptures":{"0":{"name":"punctuation.section.flowtype.end.js"}}},"flowtype-tokens":{"patterns":[{"begin":"(?\u003c=[:?|\u0026=])(?=\\s*{)","end":"(?\u003c=})","patterns":[{"include":"#flowtype-brackets"}]},{"name":"meta.flowtype.set.js","match":"\\s*([|\u0026])\\s*","captures":{"1":{"name":"keyword.operator.flowtype.other.js"}}},{"name":"keyword.operator.flowtype.other.js","match":"[*:?\u0026|.]|\\.\\.\\.|\\b(typeof)\\b"},{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"0":{"name":"punctuation.section.flowtype.begin.js"}},"endCaptures":{"0":{"name":"punctuation.section.flowtype.end.js"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"0":{"name":"punctuation.section.flowtype.begin.js"}},"endCaptures":{"0":{"name":"punctuation.section.flowtype.end.js"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#flowtype-tokens"}],"beginCaptures":{"0":{"name":"punctuation.section.flowtype.begin.js"}},"endCaptures":{"0":{"name":"punctuation.section.flowtype.end.js"}}},{"name":"meta.flowtype.function.js","begin":"=\u003e","end":"(?\u003c=}|[_$a-zA-Z])","patterns":[{"include":"#flowtype-brackets"},{"include":"#flowtype-identifier"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.operator.flowtype.js"}}},{"include":"#flowtype-identifier"},{"include":"#literal-string"},{"include":"#comments"}]},"function-declaration-parameters":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#flowtype-annotation"},{"name":"keyword.operator.spread.js","match":"(?\u003c!\\.)\\.\\.\\."},{"name":"variable.parameter.function.js","match":"([_$a-zA-Z][$\\w]*)"},{"name":"punctuation.separator.parameter.function.js","match":","},{"name":"meta.parameter.optional.js","begin":"=","end":"(?=[,)])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.js"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.js"}}}]},"graphql":{"patterns":[{"name":"meta.graphql.js","begin":"\\s*+gql`","end":"`","patterns":[{"include":"source.graphql"},{"name":"js","begin":"\\${","end":"}","patterns":[{"include":"#core"}]}]},{"name":"meta.graphql.js","begin":"\\s*+`#graphql","end":"`","patterns":[{"include":"source.graphql"},{"name":"js","begin":"\\${","end":"}","patterns":[{"include":"#core"}]}]}]},"jsx-attribute-assignment":{"name":"keyword.operator.assignment.jsx","match":"="},"jsx-attribute-name":{"name":"entity.other.attribute-name.jsx","match":"[_$a-zA-Z][-$\\w]*"},"jsx-attributes":{"patterns":[{"include":"#jsx-attribute-name"},{"include":"#jsx-attribute-assignment"},{"include":"#jsx-string-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#comments"}]},"jsx-entities":{"patterns":[{"name":"constant.character.entity.jsx","match":"\u0026(?:[a-zA-Z0-9]+|#\\d+|#x[[:xdigit:]]+);"},{"name":"invalid.illegal.bad-ampersand.jsx","match":"\u0026\\S*;"}]},"jsx-evaluated-code":{"name":"meta.embedded.expression.jsx","begin":"{","end":"}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.jsx"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.jsx"}}},"jsx-string-quoted":{"name":"string.quoted.jsx","begin":"([\"'])","end":"\\1","patterns":[{"include":"#jsx-entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.jsx"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.jsx"}}},"jsx-tag-end":{"begin":"\u003e","end":"(?=\u003c/)","patterns":[{"include":"#jsx-tag-start"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.jsx"}}},"jsx-tag-start":{"patterns":[{"begin":"(\u003c)([_$a-zA-Z][-$:.\\w]*[$\\w]*)","end":"(\u003c/)(\\2)(\u003e)|(/\u003e)","patterns":[{"include":"#jsx-tag-end"},{"include":"#jsx-attributes"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.jsx"},"2":{"name":"entity.name.tag.html.jsx"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.jsx"},"2":{"name":"entity.name.tag.html.jsx"},"3":{"name":"punctuation.definition.tag.end.jsx"},"4":{"name":"punctuation.definition.tag.end.jsx"}}},{"name":"invalid.illegal.tag.incomplete.jsx","match":"\u003c"}]},"literal-arrow-function":{"patterns":[{"name":"meta.function.arrow.js","begin":"(?x)\n (?:([_$a-zA-Z][$\\w]*)\\s*(=)\\s*)?\n (?:\\b(async)\\s+)?\n (?=(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))\\s*(=\u003e))","end":"(?\u003c=\\))\\s*(=\u003e)","patterns":[{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.js"},"2":{"name":"keyword.operator.assignment.js"},"3":{"name":"storage.type.js"}},"endCaptures":{"1":{"name":"storage.type.function.arrow.js"}}},{"name":"meta.function.arrow.js","match":"(?x)\n (?:([_$a-zA-Z][$\\w]*)\\s*(=)\\s*)?\n (?:(async)\\s+)?\n \\b([_$a-zA-Z][$\\w]*)\\s*(=\u003e)","captures":{"1":{"name":"entity.name.function.js"},"2":{"name":"keyword.operator.assignment.js"},"3":{"name":"storage.type.js"},"4":{"name":"variable.parameter.function.js"},"5":{"name":"storage.type.function.arrow.js"}}},{"name":"meta.prototype.function.arrow.js","begin":"(?x)\n (\\b_?[A-Z][$\\w]*)?\n (\\.)(prototype)\n (\\.)([_$a-zA-Z][$\\w]*)\n \\s*(=)\n \\s*(async)?\n \\s*(?=(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))\\s*(=\u003e))","end":"(?\u003c=\\))\\s*(=\u003e)","patterns":[{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"variable.language.prototype.js"},"4":{"name":"keyword.operator.accessor.js"},"5":{"name":"entity.name.function.js"},"6":{"name":"keyword.operator.assignment.js"},"7":{"name":"storage.type.js"}},"endCaptures":{"1":{"name":"storage.type.function.arrow.js"}}},{"name":"meta.prototype.function.arrow.js","match":"(?x)\n (\\b_?[A-Z][$\\w]*)?\n (\\.)(prototype)\n (\\.)([_$a-zA-Z][$\\w]*)\n \\s*(=)\n \\s*(async)?\n \\s*\\b([_$a-zA-Z][$\\w]*)\\s*(=\u003e)","captures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"variable.language.prototype.js"},"4":{"name":"keyword.operator.accessor.js"},"5":{"name":"entity.name.function.js"},"6":{"name":"keyword.operator.assignment.js"},"7":{"name":"storage.type.js"},"8":{"name":"variable.parameter.function.js"},"9":{"name":"storage.type.function.arrow.js"}}},{"name":"meta.function.static.arrow.js","begin":"(?x)\n (\\b_?[A-Z][$\\w]*)?\n (\\.)([_$a-zA-Z][$\\w]*)\n \\s*(=)\n \\s*(async)?\n \\s*(?=(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))\\s*(=\u003e))","end":"(?\u003c=\\))\\s*(=\u003e)","patterns":[{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"keyword.operator.assignment.js"},"5":{"name":"storage.type.js"}},"endCaptures":{"1":{"name":"storage.type.function.arrow.js"}}},{"name":"meta.function.static.arrow.js","match":"(?x)\n (\\b_?[A-Z][$\\w]*)?\n (\\.)([_$a-zA-Z][$\\w]*)\n \\s*(=)\n \\s*(async)?\n \\s*\\b([_$a-zA-Z][$\\w]*)\\s*(=\u003e)","captures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"keyword.operator.assignment.js"},"5":{"name":"storage.type.js"},"6":{"name":"variable.parameter.function.js"},"7":{"name":"storage.type.function.arrow.js"}}}]},"literal-arrow-function-labels":{"patterns":[{"name":"meta.function.json.arrow.js","begin":"(?x)\n (?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n (([_$a-zA-Z][$\\w]*|\\d+))\n )\n \\s*(:)\n \\s*(?:\\b(async)\\s+)?\n \\s*(?=(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))\\s*(=\u003e))","end":"(?\u003c=\\))\\s*(=\u003e)","patterns":[{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"string.quoted.js"},"10":{"name":"entity.name.function.js"},"11":{"name":"punctuation.separator.key-value.js"},"12":{"name":"storage.type.js"},"2":{"name":"punctuation.definition.string.begin.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"punctuation.definition.string.end.js"},"5":{"name":"string.quoted.js"},"6":{"name":"punctuation.definition.string.begin.js"},"7":{"name":"entity.name.function.js"},"8":{"name":"punctuation.definition.string.end.js"},"9":{"name":"string.unquoted.js"}},"endCaptures":{"1":{"name":"storage.type.function.arrow.js"}}},{"name":"meta.function.json.arrow.js","match":"(?x)\n (?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n (([_$a-zA-Z][$\\w]*|\\d+))\n )\n \\s*(:)\n \\s*(?:\\b(async)\\s+)?\n \\s*\\b([_$a-zA-Z][$\\w]*)\\s*(=\u003e)","captures":{"1":{"name":"string.quoted.js"},"10":{"name":"entity.name.function.js"},"11":{"name":"punctuation.separator.key-value.js"},"12":{"name":"storage.type.js"},"13":{"name":"variable.parameter.function.js"},"14":{"name":"storage.type.function.arrow.js"},"2":{"name":"punctuation.definition.string.begin.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"punctuation.definition.string.end.js"},"5":{"name":"string.quoted.js"},"6":{"name":"punctuation.definition.string.begin.js"},"7":{"name":"entity.name.function.js"},"8":{"name":"punctuation.definition.string.end.js"},"9":{"name":"string.unquoted.js"}}}]},"literal-class":{"patterns":[{"name":"meta.class.js","begin":"(?\u003c!\\.)\\b(?:(class)|(interface))\\b","end":"\\}","patterns":[{"include":"#comments"},{"begin":"([_$a-zA-Z][$\\w]*)","end":"(?={)","patterns":[{"include":"#comments"},{"include":"#flowtype-polymorph"},{"name":"meta.class.extends.js","begin":"(?\u003c!\\.)\\b(extends)\\b","end":"(?={)","patterns":[{"include":"#flowtype-polymorph"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"storage.type.extends.js"}}}],"beginCaptures":{"0":{"name":"entity.name.class.js"}}},{"begin":"\\{","end":"(?=})","patterns":[{"include":"#es7-decorators"},{"include":"#class-properties"},{"include":"#class-method-definition"},{"include":"#class-method-storage"},{"include":"#brackets"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"meta.brace.curly.begin.js"}}}],"beginCaptures":{"1":{"name":"storage.type.class.js"},"2":{"name":"storage.type.interface.flowtype.js"}},"endCaptures":{"0":{"name":"meta.brace.curly.end.js"}}}]},"literal-constructor":{"patterns":[{"name":"meta.instance.constructor.js","begin":"(new)\\s+(?=[_$a-zA-Z][$\\w.]*)","end":"(?![_$a-zA-Z][$\\w.]*)","patterns":[{"include":"#support-class"},{"include":"#support-other"},{"match":"([_$a-zA-Z][$\\w.]*\\.)?([_$a-zA-Z][$\\w]*)","captures":{"2":{"name":"variable.function.constructor.js"}}}],"beginCaptures":{"1":{"name":"keyword.operator.new.js"}}}]},"literal-for":{"patterns":[{"name":"meta.for.js","begin":"(?\u003c!\\.)\\b(for)\\b","end":"\\)","patterns":[{"include":"#comments"},{"begin":"\\(","end":"(?=\\))","patterns":[{"include":"#literal-keyword-storage"},{"include":"#expression"},{"include":"#literal-punctuation"}],"beginCaptures":{"0":{"name":"meta.brace.round.begin.js"}}}],"beginCaptures":{"1":{"name":"keyword.control.loop.js"}},"endCaptures":{"0":{"name":"meta.brace.round.end.js"}}}]},"literal-function":{"patterns":[{"name":"meta.function.js","begin":"(?x)\n (?:([_$a-zA-Z][$\\w]*)\\s*(=)\\s*)?\n (?:(async)\\s+)?\n (function)(?\u003e\\s*(\\*)|(?=[\\s(\u003c]))\n \\s*([_$a-zA-Z][$\\w]*)?","end":"(?\u003c=\\))","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.js"},"2":{"name":"keyword.operator.assignment.js"},"3":{"name":"storage.type.js"},"4":{"name":"storage.type.function.js"},"5":{"name":"keyword.generator.asterisk.js"},"6":{"name":"entity.name.function.js"}}},{"name":"meta.function.prototype.js","begin":"(?x)\n (\\b_?[A-Z][$\\w]*)?\n (\\.)(prototype)\n (\\.)([_$a-zA-Z][$\\w]*)\n \\s*(=)\n \\s*(?:(async)\\s+)?\n \\s*(function)(?\u003e\\s*(\\*)|(?=[\\s(\u003c]))\n \\s*([_$a-zA-Z][$\\w]*)?\\s*","end":"(?\u003c=\\))","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"entity.name.class.js"},"10":{"name":"entity.name.function.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"variable.language.prototype.js"},"4":{"name":"keyword.operator.accessor.js"},"5":{"name":"entity.name.function.js"},"6":{"name":"keyword.operator.assignment.js"},"7":{"name":"storage.type.js"},"8":{"name":"storage.type.function.js"},"9":{"name":"keyword.generator.asterisk.js"}}},{"name":"meta.function.static.js","begin":"(?x)\n (\\b_?[A-Z][$\\w]*)?\n (\\.)([_$a-zA-Z][$\\w]*)\n \\s*(=)\n \\s*(?:(async)\\s+)?\n \\s*(function)(?\u003e\\s*(\\*)|(?=[\\s(\u003c]))\n \\s*([_$a-zA-Z][$\\w]*)?\\s*","end":"(?\u003c=\\))","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"keyword.operator.assignment.js"},"5":{"name":"storage.type.js"},"6":{"name":"storage.type.function.js"},"7":{"name":"keyword.generator.asterisk.js"},"8":{"name":"entity.name.function.js"}}}]},"literal-function-call":{"patterns":[{"name":"meta.function-call.without-arguments.js","match":"([_$a-zA-Z][$\\w]*)\\s*(\\(\\s*\\))","captures":{"1":{"name":"entity.name.function.js"},"2":{"name":"meta.group.braces.round.function.arguments.js"}}},{"name":"meta.function-call.with-arguments.js","match":"([_$a-zA-Z][$\\w]*)\\s*(?=\\()","captures":{"1":{"name":"entity.name.function.js"}}},{"name":"meta.function-call.tagged-template.js","match":"([_$a-zA-Z][$\\w]*)\\s*(?=`)","captures":{"1":{"name":"entity.name.function.js"}}}]},"literal-function-labels":{"patterns":[{"name":"meta.function.json.js","begin":"(?x)\n (?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n (([_$a-zA-Z][$\\w]*|\\d+))\n )\n \\s*(:)\n \\s*(?:\\b(async)\\s+)?\n \\s*(function)(?\u003e\\s*(\\*)|(?=[\\s(\u003c]))\n \\s*([_$a-zA-Z][$\\w]*)?","end":"(?\u003c=\\))","patterns":[{"include":"#flowtype-polymorph"},{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"string.quoted.js"},"10":{"name":"entity.name.function.js"},"11":{"name":"punctuation.separator.key-value.js"},"12":{"name":"storage.type.js"},"13":{"name":"storage.type.function.js"},"14":{"name":"keyword.generator.asterisk.js"},"15":{"name":"entity.name.function.js"},"2":{"name":"punctuation.definition.string.begin.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"punctuation.definition.string.end.js"},"5":{"name":"string.quoted.js"},"6":{"name":"punctuation.definition.string.begin.js"},"7":{"name":"entity.name.function.js"},"8":{"name":"punctuation.definition.string.end.js"},"9":{"name":"string.unquoted.js"}}}]},"literal-jsx":{"contentName":"meta.jsx.js","begin":"(?\u003c=\\(|\\{|\\[|,|\u0026\u0026|\\|\\||\\?|:|=|=\u003e|\\Wreturn|^return|\\Wdefault|^)(?=\\s*\u003c[_$a-zA-Z])","end":"(?\u003c=/\u003e|\u003e)","patterns":[{"include":"#jsx-tag-start"}]},"literal-keyword-storage":{"patterns":[{"name":"storage.type.js","match":"(?\u003c!\\.)\\b(?\u003econst|let|var)\\b"}]},"literal-keywords":{"patterns":[{"include":"#literal-keyword-storage"},{"match":"(?\u003c!\\.)\\b((?\u003eawait|yield))\\b(?:\\s*(\\*))?","captures":{"1":{"name":"keyword.control.flow.js"},"2":{"name":"keyword.generator.asterisk.js"}}},{"name":"keyword.control.flow.js","match":"(?\u003c!\\.)\\b(return)\\b"},{"name":"keyword.control.conditional.js","match":"(?\u003c!\\.)\\b(?\u003eif|else)\\b"},{"name":"keyword.control.trycatch.js","match":"(?\u003c!\\.)\\b(?\u003ecatch|finally|throw|try)\\b"},{"name":"keyword.control.loop.js","match":"(?\u003c!\\.)\\b(?\u003ebreak|continue|do|goto|while|case|default)\\b"},{"name":"keyword.other.reserved.js","match":"(?\u003c!\\.)\\b(?\u003eenum|module|public|package|private|interface|protected)\\b"},{"name":"keyword.other.js","match":"(?\u003c!\\.)\\b(debugger)\\b"}]},"literal-labels":{"patterns":[{"begin":"(?x)\n (?\u003c!\\?)(?\u003c!\\?\\s)(?=(?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n )\\s*:)","end":":","patterns":[{"include":"#literal-string"}],"endCaptures":{"0":{"name":"punctuation.separator.key-value.js"}}},{"name":"constant.other.object.key.js","match":"(?\u003c!\\.|\\?|\\?\\s)([_$a-zA-Z][$\\w]*)\\s*(:)","captures":{"1":{"name":"string.unquoted.label.js"},"2":{"name":"punctuation.separator.key-value.js"}}}]},"literal-language-constant":{"patterns":[{"name":"constant.language.boolean.true.js","match":"(?\u003c!\\.)\\b(true)\\b"},{"name":"constant.language.boolean.false.js","match":"(?\u003c!\\.)\\b(false)\\b"},{"name":"constant.language.null.js","match":"(?\u003c!\\.)\\b(null)\\b"},{"name":"constant.language.undefined.js","match":"(?\u003c!\\.)\\b(undefined)\\b"},{"name":"constant.language.nan.js","match":"(?\u003c!\\.)\\b(NaN)\\b"}]},"literal-language-variable":{"patterns":[{"name":"variable.language.arguments.js","match":"(?\u003c!(?\u003c!\\.\\.)\\.)\\b(arguments)\\b"},{"name":"variable.language.super.js","match":"(?\u003c!(?\u003c!\\.\\.)\\.)\\b(super)\\b"},{"name":"variable.language.this.js","match":"(?\u003c!(?\u003c!\\.\\.)\\.)\\b(this)\\b"},{"name":"variable.language.self.js","match":"(?\u003c!(?\u003c!\\.\\.)\\.)\\b(self)\\b"},{"name":"variable.language.proto.js","match":"(?\u003c=\\.)(__proto__)\\b"},{"name":"variable.language.constructor.js","match":"(?\u003c=\\.)(constructor)\\b"},{"name":"variable.language.prototype.js","match":"(?\u003c=\\.)(prototype)\\b"}]},"literal-method":{"patterns":[{"name":"meta.method.js","begin":"(?x)\n (?:\\b(static)\\s+)?\n (?:\\b(async)\\s+)?\n (?:(\\*)\\s*)?\n (?\u003e\n ((')((?\u003e[^'\\\\]|\\\\.)*)('))|\n ((\")((?\u003e[^\"\\\\]|\\\\.)*)(\"))|\n (([_$a-zA-Z][$\\w]*|\\d+))\n )\n (?=\\s*(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))(?\u003e\\s|/\\*.*\\*/)*\\{)","end":"(?\u003c=\\))","patterns":[{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"storage.type.js"},"10":{"name":"entity.name.function.js"},"11":{"name":"punctuation.definition.string.end.js"},"12":{"name":"string.unquoted.js"},"13":{"name":"entity.name.function.js"},"2":{"name":"storage.type.js"},"3":{"name":"keyword.generator.asterisk.js"},"4":{"name":"string.quoted.js"},"5":{"name":"punctuation.definition.string.begin.js"},"6":{"name":"entity.name.function.js"},"7":{"name":"punctuation.definition.string.end.js"},"8":{"name":"string.quoted.js"},"9":{"name":"punctuation.definition.string.begin.js"}}},{"name":"meta.accessor.js","begin":"(?x)\n \\b(?:(static)\\s+)?\n (get|set)\\s+\n ([_$a-zA-Z][$\\w]*|\\d+)\\s*\n (?=(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))(?\u003e\\s|/\\*.*\\*/)*\\{)","end":"(?\u003c=\\))","patterns":[{"include":"#function-declaration-parameters"}],"beginCaptures":{"1":{"name":"storage.type.js"},"2":{"name":"storage.type.accessor.js"},"3":{"name":"entity.name.accessor.js"}}}]},"literal-method-call":{"patterns":[{"name":"meta.function-call.static.without-arguments.js","match":"(?x)\n (?:(?\u003c=\\.)|\\b)\n ([A-Z][$\\w]*)\\s*(\\.)\n ([_$a-zA-Z][$\\w]*)\\s*\n (\\(\\s*\\))","captures":{"1":{"name":"variable.other.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"entity.name.function.js"},"4":{"name":"meta.group.braces.round.function.arguments.js"}}},{"name":"meta.function-call.static.with-arguments.js","match":"(?x)\n (?:(?\u003c=\\.)|\\b)\n ([A-Z][$\\w]*)\\s*(\\.)\n ([_$a-zA-Z][$\\w]*)\\s*\n (?=\\()","captures":{"1":{"name":"variable.other.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"entity.name.function.js"}}},{"name":"meta.function-call.method.without-arguments.js","match":"(?x)\n (?\u003c=\\.)\n ([_$a-zA-Z][$\\w]*)\\s*\n (\\(\\s*\\))","captures":{"1":{"name":"entity.name.function.js"},"2":{"name":"meta.group.braces.round.function.arguments.js"}}},{"name":"meta.function-call.method.with-arguments.js","match":"(?x)\n (?\u003c=\\.)\n ([_$a-zA-Z][$\\w]*)\\s*\n (?=\\()","captures":{"1":{"name":"entity.name.function.js"}}}]},"literal-module":{"patterns":[{"name":"keyword.operator.module.js","match":"(?\u003c!\\.)\\b(?\u003eimport|export|default|from|as)\\b"}]},"literal-number":{"patterns":[{"name":"invalid.illegal.numeric.hex.js","match":"(?i)(?:\\B[-+]|\\b)0x[0-9a-f]*\\.(\\B|\\b[0-9]+)"},{"name":"invalid.illegal.numeric.octal.js","match":"(?:\\B[-+]|\\b)0[0-9]+\\.(\\B|\\b[0-9]+)"},{"name":"constant.numeric.js","match":"(?xi)\n (?:\\B[-+])?\n (?:\n \\b0b[0-1]*| # binary\n \\b0o[0-7]*| # octal\n \\b0x[0-9a-f]*| # hex\n (\n \\B\\.[0-9]+| # e.g. .999\n \\b[0-9]+(\\.[0-9]*)? # e.g. 999.999, 999. or 999\n )(e[-+]?[0-9]+)? # e.g. e+123, E-123\n )"},{"name":"constant.language.infinity.js","match":"(?:\\B[-+]|\\b)(Infinity)\\b"}]},"literal-operators":{"patterns":[{"name":"keyword.operator.js","match":"(?\u003c!\\.)\\b(?\u003edelete|instanceof|in|new|of|typeof|void|with)\\b"},{"name":"keyword.operator.logical.js","match":"(?x)\n !(?!=)| # logical-not right-to-left right\n \u0026\u0026 | # logical-and left-to-right both\n \\|\\| # logical-or left-to-right both"},{"name":"keyword.operator.assignment.js","match":"(?x)\n =(?!=) # assignment right-to-left both"},{"name":"keyword.operator.assignment.augmented.js","match":"(?x)\n %= | # assignment right-to-left both\n \u0026= | # assignment right-to-left both\n \\*= | # assignment right-to-left both\n \\+= | # assignment right-to-left both\n -= | # assignment right-to-left both\n /= | # assignment right-to-left both\n \\^= | # assignment right-to-left both\n \\|= | # assignment right-to-left both\n \u003c\u003c= | # assignment right-to-left both\n \u003e\u003e= | # assignment right-to-left both\n \u003e\u003e\u003e= # assignment right-to-left both"},{"name":"keyword.operator.bitwise.js","match":"(?x)\n ~ | # bitwise-not right-to-left right\n \u003c\u003c | # bitwise-shift left-to-right both\n \u003e\u003e\u003e | # bitwise-shift left-to-right both\n \u003e\u003e | # bitwise-shift left-to-right both\n \u0026 | # bitwise-and left-to-right both\n \\^ | # bitwise-xor left-to-right both\n \\| # bitwise-or left-to-right both"},{"name":"keyword.operator.relational.js","match":"(?x)\n \u003c= | # relational left-to-right both\n \u003e= | # relational left-to-right both\n \u003c | # relational left-to-right both\n \u003e # relational left-to-right both"},{"name":"keyword.operator.comparison.js","match":"(?x)\n === | # equality left-to-right both\n !== | # equality left-to-right both\n == | # equality left-to-right both\n != # equality left-to-right both"},{"name":"keyword.operator.arithmetic.js","match":"(?x)\n -- | # decrement n/a right-or-left\n \\+\\+ | # increment n/a right-or-left\n / | # division left-to-right both\n % | # modulus left-to-right both\n \\* | # multiplication left-to-right both\n \\+ | # addition left-to-right both\n - # subtraction left-to-right both"},{"name":"keyword.operator.ternary.js","match":"[?:]"},{"name":"keyword.operator.spread.js","match":"(?\u003c!\\.)\\.\\.\\."},{"name":"keyword.operator.accessor.js","match":"\\."}]},"literal-prototype":{"patterns":[{"name":"meta.prototype.declaration.js","match":"([_$a-zA-Z][$\\w]*)(\\.)(prototype)\\s*(=)\\s*","captures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"variable.language.prototype.js"},"4":{"name":"keyword.operator.assignment.js"}}},{"name":"meta.prototype.access.js","match":"([_$a-zA-Z][$\\w]*)(\\.)(prototype)\\b","captures":{"1":{"name":"entity.name.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"variable.language.prototype.js"}}}]},"literal-punctuation":{"patterns":[{"name":"punctuation.terminator.statement.js","match":";"},{"name":"meta.delimiter.comma.js","match":","}]},"literal-regexp":{"patterns":[{"name":"string.regexp.js","begin":"(?x)\n (?\u003c=\n \\.|\\(|,|{|}|\\[|;|\u003c|\u003e|\u003c=|\u003e=|==|!=|===|!==|\\+|-|\\*|%|\\+\\+|--|\u003c\u003c|\u003e\u003e|\u003e\u003e\u003e|\u0026|\\||\\^|!|~|\u0026\u0026|\\|\\||\\?|:|=|\\+=|-=|\\*=|%=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\u0026=|\\|=|\\^=|/|/=|\n \\Wnew|\\Wdelete|\\Wvoid|\\Wtypeof|\\Winstanceof|\\Win|\\Wdo|\\Wreturn|\\Wcase|\\Wthrow|\\Wyield|\n ^new|^delete|^void|^typeof|^instanceof|^in|^do|^return|^case|^throw|^yield|^\n )\\s*\n (/)\n (?!/|\\*|$)","end":"(/)([gimy]*)","patterns":[{"include":"source.js.regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"keyword.other.js"}}}]},"literal-string":{"patterns":[{"name":"string.quoted.js","begin":"([\"'])","end":"(\\1)|(\\n)","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"invalid.illegal.newline.js"}}}]},"literal-switch":{"patterns":[{"name":"meta.switch.js","begin":"(?\u003c!\\.)\\b(switch)\\b","end":"\\}","patterns":[{"include":"#comments"},{"include":"#round-brackets"},{"begin":"\\{","end":"(?=})","patterns":[{"begin":"(?\u003c!\\.)\\b(case|default)\\b","end":"(?=:)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.js"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.brace.curly.begin.js"}}}],"beginCaptures":{"1":{"name":"keyword.control.switch.js"}},"endCaptures":{"0":{"name":"meta.brace.curly.end.js"}}}]},"literal-template-string":{"begin":"`","end":"`","patterns":[{"include":"#string-content"},{"name":"constant.character.escape.js","match":"\\\\`"},{"begin":"\\${","end":"}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.substitution.begin.js"}},"endCaptures":{"0":{"name":"keyword.other.substitution.end.js"}}},{"name":"string.interpolated.js","match":"."}],"captures":{"0":{"name":"keyword.other.template.end.js"}},"beginCaptures":{"0":{"name":"keyword.other.template.begin.js"}}},"literal-variable":{"patterns":[{"name":"variable.other.constant.js","match":"_*?[A-Z][_$\\dA-Z]*\\b"},{"name":"meta.property.class.js","match":"\\b([A-Z][$\\w]*)\\s*(\\.)([_$a-zA-Z][$\\w]*)","captures":{"1":{"name":"variable.other.class.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"variable.other.property.static.js"}}},{"name":"variable.other.object.js","match":"(?\u003c!\\.)([_$a-zA-Z][$\\w]*)\\s*(?=[\\[\\.])","captures":{"1":{"name":"variable.other.object.js"}}},{"name":"meta.property.object.js","match":"(?\u003c=\\.)\\s*([_$a-zA-Z][$\\w]*)","captures":{"1":{"name":"variable.other.property.js"}}},{"name":"variable.other.readwrite.js","match":"[_$a-zA-Z][$\\w]*"}]},"merge-conflits":{"patterns":[{"match":"^([\u003c]{7})\\s(.+)$","captures":{"1":{"name":"invalid.illegal.conflict-marker.merge-into.js"},"2":{"name":"invalid.illegal.string.js"}}},{"match":"^([=|]{7})$","captures":{"1":{"name":"invalid.illegal.conflict-marker.separator.js"}}},{"match":"^([\u003e]{7})\\s(.+)$","captures":{"1":{"name":"invalid.illegal.conflict-marker.other-commit.js"},"2":{"name":"invalid.illegal.string.js"}}}]},"round-brackets":{"patterns":[{"name":"meta.group.braces.round.js","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.begin.js"}},"endCaptures":{"0":{"name":"meta.brace.round.end.js"}}}]},"square-brackets":{"patterns":[{"name":"meta.group.braces.square.js","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.js"}},"endCaptures":{"0":{"name":"meta.brace.square.end.js"}}}]},"string-content":{"patterns":[{"name":"constant.character.escape.newline.js","match":"\\\\\\s*\\n"},{"name":"constant.character.escape.js","match":"\\\\([1-7][0-7]{0,2}|[0-7]{2,3}|[bfnrtv0'\"\\\\]|x[[:xdigit:]]{2}|u\\{[[:xdigit:]]+\\}|u[[:xdigit:]]{4})"}]},"styled-components":{"patterns":[{"name":"meta.styled-components.js","contentName":"source.css.embedded.js","begin":"(?\u003c!\\.)\\b(injectGlobal|keyframes)\\s*(`)","end":"`","patterns":[{"include":"source.js.css"}],"beginCaptures":{"1":{"name":"variable.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}},{"name":"meta.styled-components.js","contentName":"source.css.embedded.js","begin":"(?\u003c!\\.)\\b(styled)(\\.)([_$a-zA-Z][$\\w]*)\\s*(`)","end":"`","patterns":[{"include":"source.js.css"}],"beginCaptures":{"1":{"name":"variable.other.object.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"variable.function.tagged-template.js"},"4":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}},{"name":"meta.styled-components.js","begin":"(?\u003c!\\.)\\b(styled)\\s*(?=(\\((?\u003e(?\u003e[^()]+)|\\g\u003c-1\u003e)*\\))\\s*`)","end":"(?\u003c=`)","patterns":[{"name":"meta.function-call.with-arguments.js meta.group.js","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.js"}}},{"contentName":"source.css.embedded.js","begin":"`","end":"`","patterns":[{"include":"source.js.css"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}}],"captures":{"1":{"name":"meta.function-call.with-arguments.js entity.name.function.js"}}}]},"support-class":{"patterns":[{"name":"support.class.builtin.js","match":"(?\u003c!\\.)\\b(Array|ArrayBuffer|Boolean|DataView|Date|Float32Array|Float64Array|Function|Infinity|Int16Array|Int32Array|Int8Array|JSON|Map|Math|NaN|Number|Object|Promise|Proxy|Reflect|RegExp|Set|String|Symbol|System|TypeError|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|WeakMap|WeakSet)\\b"},{"name":"support.class.error.js","match":"(?\u003c!\\.)\\b((?\u003eEval|Range|Reference|Syntax|Type|URI)?Error)\\b"},{"name":"support.class.node.js","match":"\\b(?\u003eBuffer)\\b"}]},"support-other":{"patterns":[{"name":"support.function.builtin.js","match":"(?\u003c!\\.)\\b(constructor|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|hasOwnProperty|isFinite|isNaN|isPrototypeOf|parseFloat|parseInt|propertyIsEnumerable|toLocaleString|toString|unescape|valueOf)\\b"},{"name":"support.function.node.js","match":"(?\u003c!\\.)\\b(clearImmediate|clearInterval|clearTimeout|require|setImmediate|setInterval|setTimeout)\\b"},{"name":"support.type.object.dom.js","match":"(?\u003c!\\.)\\b(?\u003edocument|window)\\b"},{"name":"support.type.object.node.js","match":"(?\u003c!\\.)\\b(?\u003eglobal|GLOBAL|root|__dirname|__filename)\\b"},{"match":"(?\u003c!\\.)\\b(console)(?:(\\.)(assert|count|dir|error|group|groupCollapsed|groupEnd|info|log|profile|profileEnd|table|time|timeEnd|trace|warn))?\\b","captures":{"1":{"name":"support.type.object.console.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"support.function.console.js"}}},{"match":"(?\u003c!\\.)\\b(process)(?:(\\.)(?:(arch|argv|config|env|execArgv|execPath|exitCode|mainModule|pid|platform|stderr|stdin|stdout|title|version|versions)|(abort|chdir|cwd|exit|getgid|getgroups|getuid|hrtime|initgroups|kill|memoryUsage|nextTick|setgid|setgroups|setuid|umask|uptime)))?\\b","captures":{"1":{"name":"support.type.object.process.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"support.type.object.process.js"},"4":{"name":"support.function.process.js"}}},{"match":"(?\u003c!\\.)\\b(exports|module)(?:(\\.)(children|exports|filename|id|loaded|parent))?\\b","captures":{"1":{"name":"support.type.object.module.js"},"2":{"name":"keyword.operator.accessor.js"},"3":{"name":"support.type.object.module.js"}}},{"name":"meta.tag.mustache.js","begin":"{{","end":"}}"}]}}}