[{"displayName":"Vue","name":"vue","patterns":[{"include":"#vue-comments"},{"include":"#self-closing-tag"},{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"patterns":[{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)md\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text.html.markdown","patterns":[{"include":"text.html.markdown"}]}]},{"begin":"(?!template(?![-0-:A-Za-z]))([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)html\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"contentName":"text.html.derivative","end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)pug\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text.pug","patterns":[{"include":"text.pug"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)stylus\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)postcss\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)sass\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.sass","patterns":[{"include":"source.sass"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)css\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)scss\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)less\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)js\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)ts\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\n]*</script[>\\s])","end":"(?=</script[>\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\s*</script[>\\s])"}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)jsx\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)tsx\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\n]*</script[>\\s])","end":"(?=</script[>\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\s*</script[>\\s])"}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)coffee\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)json\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.json","patterns":[{"include":"source.json"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)jsonc\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.json.comments","patterns":[{"include":"source.json.comments"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)json5\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.json5","patterns":[{"include":"source.json5"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)yaml\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.yaml","patterns":[{"include":"source.yaml"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)toml\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.toml","patterns":[{"include":"source.toml"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)(g(?:ql|raphql))\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.graphql","patterns":[{"include":"source.graphql"}]}]},{"begin":"([-0-:A-Za-z]+)\\b(?=[^>]*\\blang\\s*=\\s*([\"']?)vue\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text.html.vue","patterns":[{"include":"text.html.vue"}]}]},{"begin":"(template)(?=\\s|/?>)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</template[>\\s])","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)(?=\\s|/?>)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#multi-line-script-tag-stuff"}]},{"begin":"(style)(?=\\s|/?>)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#multi-line-style-tag-stuff"}]},{"begin":"([-0-:A-Za-z]+)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text"}]}]}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\G","end":"(?=</script[>\\s])","patterns":[{"begin":"\\G(?!\\blang\\s*=\\s*[\"']?(?:tsx??|jsx|coffee)\\b)","end":"(?=\\blang\\s*=\\s*[\"']?(?:tsx??|jsx|coffee)\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?ts\\b)","end":"(?=</script[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\n]*</script[>\\s])","end":"(?=</script[>\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\s*</script[>\\s])"}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?tsx\\b)","end":"(?=</script[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\n]*</script[>\\s])","end":"(?=</script[>\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\s*</script[>\\s])"}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?jsx\\b)","end":"(?=</script[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</script[>\\s])","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?coffee\\b)","end":"(?=</script[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</script[>\\s])","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"(?<=>)","end":"(?=</script[>\\s])","name":"source.js","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\G","end":"(?=</style[>\\s])","patterns":[{"begin":"\\G(?!\\blang\\s*=\\s*[\"']?(?:scss|stylus|less|postcss)\\b)","end":"(?=\\blang\\s*=\\s*[\"']?(?:scss|stylus|less|postcss)\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?scss\\b)","end":"(?=</style[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\s])","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?stylus\\b)","end":"(?=</style[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\s])","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?less\\b)","end":"(?=</style[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\s])","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\blang\\s*=\\s*[\"']?postcss\\b)","end":"(?=</style[>\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\s])","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"(?<=>)","end":"(?=</style[>\\s])","name":"source.css","patterns":[{"include":"source.css"}]}]},"self-closing-tag":{"begin":"(<)([-0-:A-Za-z]+)(?=([^>]+/>))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"self-closing-tag","patterns":[{"include":"#tag-stuff"}]},"tag-stuff":{"begin":"\\G","end":"(?=/>)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"begin":"(<)(template)\\b(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\G","end":"(?=/>)|((</)(template)(?=[>\\s]))","endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}},"name":"meta.template-tag.end","patterns":[{"include":"#html-stuff"}]}]},"template-tag-2":{"begin":"(<)(template)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\G","end":"(?=/>)|((</)(template)(?=[>\\s]))","endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}},"name":"meta.template-tag.end","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}]}]},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.vue"}},"end":"-->","name":"comment.block.vue"}]},"vue-comments-key-value":{"begin":"(<!--)\\s*(@)([$\\w]+)(?=\\s)","beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"end":"(-->)","endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}},"name":"comment.block.vue","patterns":[{"include":"source.json#value"}]},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-generic-attr"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"}]},"vue-directives-control":{"begin":"(?:(v-for)|(v-(?:if|else-if|else)))(?=[)/=>\\s])","beginCaptures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}},"end":"(?=\\s*[^=\\s])","name":"meta.attribute.directive.control.vue","patterns":[{"include":"#vue-directives-expression"}]},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*([\"'`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"patterns":[{"begin":"(?<=([\"'`]))","end":"(?=\\1)","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]},{"begin":"(=)\\s*(?=[^\"'`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?=([>\\s]|/>))","patterns":[{"begin":"(?=[^\"'`])","end":"(?=([>\\s]|/>))","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]},"vue-directives-generic-attr":{"begin":"\\b(generic)\\s*(=)","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<=[\"'])","name":"meta.attribute.generic.vue","patterns":[{"begin":"([\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"meta.type.parameters.vue","patterns":[{"include":"source.ts#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.ts"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.ts"}]}]},"vue-directives-original":{"begin":"(?:(v-[-\\w]+)(:)?|([.:])|(@)|(#))(?:(\\[)([^]]*)(])|([-\\w]+))?","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}},"end":"(?=\\s*[^=\\s])","name":"meta.attribute.directive.vue","patterns":[{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"entity.other.attribute-name.html.vue"},"match":"(\\.)([-\\w]*)"},{"include":"#vue-directives-expression"}]},"vue-directives-style-attr":{"begin":"\\b(style)\\s*(=)","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<=[\"'])","name":"meta.attribute.style.vue","patterns":[{"begin":"([\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"source.css.embedded.html.vue","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"match":"(?<![-\\w])--[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.css"},{"begin":"(?<![-A-Za-z])(?=[-A-Za-z])","end":"$|(?![-A-Za-z])","name":"meta.property-name.css","patterns":[{"include":"source.css#property-names"}]},{"begin":"(:)\\s*","beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"contentName":"meta.property-value.css","end":"\\s*(;)|\\s*(?=[\"'])","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}]},{"match":";","name":"punctuation.terminator.rule.css"}]}]},"vue-interpolations":{"patterns":[{"begin":"(\\{\\{)","beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"end":"(}})","endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}},"name":"expression.embedded.vue","patterns":[{"begin":"\\G","end":"(?=}})","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]}},"scopeName":"text.html.vue"},{"displayName":"Gnuplot","fileTypes":["gp","plt","plot","gnuplot"],"name":"gnuplot","patterns":[{"match":"(\\\\(?!\\n).*)","name":"invalid.illegal.backslash.gnuplot"},{"match":"(;)","name":"punctuation.separator.statement.gnuplot"},{"include":"#LineComment"},{"include":"#DataBlock"},{"include":"#MacroExpansion"},{"include":"#VariableDecl"},{"include":"#ArrayDecl"},{"include":"#FunctionDecl"},{"include":"#ShellCommand"},{"include":"#Command"}],"repository":{"ArrayDecl":{"begin":"\\b(array)\\s+([A-Z_a-z]\\w*)?","beginCaptures":{"1":{"name":"support.type.array.gnuplot"},"2":{"name":"entity.name.variable.gnuplot","patterns":[{"include":"#InvalidVariableDecl"},{"include":"#BuiltinVariable"}]}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","name":"meta.variable.gnuplot","patterns":[{"include":"#Expression"}]},"BuiltinFunction":{"patterns":[{"match":"\\bdefined\\b","name":"invalid.deprecated.function.gnuplot"},{"match":"\\b(?:abs|acosh??|airy|arg|asinh??|atan2??|atanh|EllipticK|EllipticE|EllipticPi|besj0|besj1|besy0|besy1|ceil|cosh??|erfc??|exp|expint|floor|gamma|ibeta|inverf|igamma|imag|invnorm|int|lambertw|lgamma|log|log10|norm|rand|real|sgn|sinh??|sqrt|tanh??|voigt|cerf|cdawson|faddeeva|erfi|VP)\\b","name":"support.function.math.gnuplot"},{"match":"\\b(?:gprintf|sprintf|strlen|strstrt|substr|strftime|strptime|system|words??)\\b","name":"support.function.string.gnuplot"},{"match":"\\b(?:column|columnhead|exists|hsv2rgb|stringcolumn|timecolumn|tm_hour|tm_mday|tm_min|tm_mon|tm_sec|tm_wday|tm_yday|tm_year|time|valid|value)\\b","name":"support.function.other.gnuplot"}]},"BuiltinOperator":{"patterns":[{"match":"(&&|\\|\\|)","name":"keyword.operator.logical.gnuplot"},{"match":"(<<|>>|[\\&^|])","name":"keyword.operator.bitwise.gnuplot"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.gnuplot"},{"match":"(=)","name":"keyword.operator.assignment.gnuplot"},{"match":"([-!+~])","name":"keyword.operator.arithmetic.gnuplot"},{"match":"(\\*\\*|[-%*+/])","name":"keyword.operator.arithmetic.gnuplot"},{"captures":{"2":{"name":"keyword.operator.word.gnuplot"}},"match":"(\\.|\\b(eq|ne)\\b)","name":"keyword.operator.strings.gnuplot"}]},"BuiltinVariable":{"patterns":[{"match":"\\bFIT_(?:LIMIT|MAXITER|START_LAMBDA|LAMBDA_FACTOR|SKIP|INDEX)\\b","name":"invalid.deprecated.variable.gnuplot"},{"match":"\\b(GPVAL_\\w*|MOUSE_\\w*)\\b","name":"support.constant.gnuplot"},{"match":"\\b(ARG[0-9C]|GPFUN_\\w*|FIT_\\w*|STATS_\\w*|pi|NaN)\\b","name":"support.variable.gnuplot"}]},"ColumnIndexLiteral":{"match":"(\\$[0-9]+)\\b","name":"support.constant.columnindex.gnuplot"},"Command":{"patterns":[{"begin":"\\bupdate\\b","end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","name":"invalid.deprecated.command.gnuplot"},{"begin":"\\b(?:break|clear|continue|pwd|refresh|replot|reread|shell)\\b","beginCaptures":{"0":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#InvalidWord"}]},{"begin":"\\b(?:cd|call|eval|exit|help|history|load|lower|pause|print|printerr|quit|raise|save|stats|system|test|toggle)\\b","beginCaptures":{"0":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#Expression"}]},{"begin":"\\b(import)\\s(.+)\\s(from)","beginCaptures":{"1":{"name":"keyword.control.import.gnuplot"},"2":{"patterns":[{"include":"#FunctionDecl"}]},"3":{"name":"keyword.control.import.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#SingleQuotedStringLiteral"},{"include":"#DoubleQuotedStringLiteral"},{"include":"#InvalidWord"}]},{"begin":"\\b(reset)\\b","beginCaptures":{"1":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"match":"\\b(bind|error(state)?|session)\\b","name":"support.class.reset.gnuplot"},{"include":"#InvalidWord"}]},{"begin":"\\b(undefine)\\b","beginCaptures":{"1":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#BuiltinVariable"},{"include":"#BuiltinFunction"},{"match":"(?<=\\s)(\\$?[A-Z_a-z]\\w*\\*?)(?=\\s)","name":"source.gnuplot"},{"include":"#InvalidWord"}]},{"begin":"\\b(if|while)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.gnuplot"}},"end":"(?=([#{]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#Expression"}]},{"begin":"\\b(else)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.gnuplot"}},"end":"(?=([#{]|\\\\(?!\\n)|(?<!\\\\)\\n$))"},{"begin":"\\b(do)\\b","beginCaptures":{"1":{"name":"keyword.control.flow.gnuplot"}},"end":"(?=([#{]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#ForIterationExpr"}]},{"begin":"\\b(set)(?=\\s+pm3d)\\b","beginCaptures":{"1":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"match":"\\b(hidden3d|map|transparent|solid)\\b","name":"invalid.deprecated.options.gnuplot"},{"include":"#SetUnsetOptions"},{"include":"#ForIterationExpr"},{"include":"#Expression"}]},{"begin":"\\b((un)?set)\\b","beginCaptures":{"1":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#SetUnsetOptions"},{"include":"#ForIterationExpr"},{"include":"#Expression"}]},{"begin":"\\b(show)\\b","beginCaptures":{"1":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#ExtraShowOptions"},{"include":"#SetUnsetOptions"},{"include":"#Expression"}]},{"begin":"\\b(fit|(s)?plot)\\b","beginCaptures":{"1":{"name":"keyword.other.command.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#ColumnIndexLiteral"},{"include":"#PlotModifiers"},{"include":"#ForIterationExpr"},{"include":"#Expression"}]}]},"DataBlock":{"begin":"(\\$[A-Z_a-z]\\w*)\\s*(<<)\\s*([A-Z_a-z]\\w*)\\s*(?=(#|$))","beginCaptures":{"1":{"patterns":[{"include":"#SpecialVariable"}]},"3":{"name":"constant.language.datablock.gnuplot"}},"end":"^(\\3)\\b(.*)","endCaptures":{"1":{"name":"constant.language.datablock.gnuplot"},"2":{"name":"invalid.illegal.datablock.gnuplot"}},"name":"meta.datablock.gnuplot","patterns":[{"include":"#LineComment"},{"include":"#NumberLiteral"},{"include":"#DoubleQuotedStringLiteral"}]},"DeprecatedScriptArgsLiteral":{"match":"(\\$[#0-9])","name":"invalid.illegal.scriptargs.gnuplot"},"DoubleQuotedStringLiteral":{"begin":"(\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gnuplot"}},"end":"((\")|(?=(?<!\\\\)\\n$))","endCaptures":{"0":{"name":"punctuation.definition.string.end.gnuplot"}},"name":"string.quoted.double.gnuplot","patterns":[{"include":"#EscapedChar"},{"include":"#RGBColorSpec"},{"include":"#DeprecatedScriptArgsLiteral"},{"include":"#InterpolatedStringLiteral"}]},"EscapedChar":{"match":"(\\\\.)","name":"constant.character.escape.gnuplot"},"Expression":{"patterns":[{"include":"#Literal"},{"include":"#SpecialVariable"},{"include":"#BuiltinVariable"},{"include":"#BuiltinOperator"},{"include":"#TernaryExpr"},{"include":"#FunctionCallExpr"},{"include":"#SummationExpr"}]},"ExtraShowOptions":{"match":"\\b(?:all|bind|colornames|functions|plot|variables|version)\\b","name":"support.class.options.gnuplot"},"ForIterationExpr":{"begin":"\\b(for)\\s*(\\[)\\s*(?:([A-Z_a-z]\\w*)\\s+(in)\\b)?","beginCaptures":{"1":{"name":"keyword.control.flow.gnuplot"},"2":{"patterns":[{"include":"#RangeSeparators"}]},"3":{"name":"variable.other.iterator.gnuplot"},"4":{"name":"keyword.control.flow.gnuplot"}},"end":"((])|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))","endCaptures":{"2":{"patterns":[{"include":"#RangeSeparators"}]}},"patterns":[{"include":"#Expression"},{"include":"#RangeSeparators"}]},"FunctionCallExpr":{"begin":"\\b([A-Z_a-z]\\w*)\\s*(\\()","beginCaptures":{"1":{"name":"variable.function.gnuplot","patterns":[{"include":"#BuiltinFunction"}]},"2":{"name":"punctuation.definition.arguments.begin.gnuplot"}},"end":"((\\))|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))","endCaptures":{"2":{"name":"punctuation.definition.arguments.end.gnuplot"}},"name":"meta.function-call.gnuplot","patterns":[{"include":"#Expression"}]},"FunctionDecl":{"begin":"\\b([A-Z_a-z]\\w*)\\s*((\\()\\s*([A-Z_a-z]\\w*)\\s*(?:(,)\\s*([A-Z_a-z]\\w*)\\s*)*(\\)))","beginCaptures":{"1":{"name":"entity.name.function.gnuplot","patterns":[{"include":"#BuiltinFunction"}]},"2":{"name":"meta.function.parameters.gnuplot"},"3":{"name":"punctuation.definition.parameters.begin.gnuplot"},"4":{"name":"variable.parameter.function.language.gnuplot"},"5":{"name":"punctuation.separator.parameters.gnuplot"},"6":{"name":"variable.parameter.function.language.gnuplot"},"7":{"name":"punctuation.definition.parameters.end.gnuplot"}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","name":"meta.function.gnuplot","patterns":[{"include":"#Expression"}]},"InterpolatedStringLiteral":{"begin":"(`)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gnuplot"}},"end":"((`)|(?=(?<!\\\\)\\n$))","endCaptures":{"0":{"name":"punctuation.definition.string.end.gnuplot"}},"name":"string.interpolated.gnuplot","patterns":[{"include":"#EscapedChar"}]},"InvalidVariableDecl":{"match":"\\b(GPVAL_\\w*|MOUSE_\\w*)\\b","name":"invalid.illegal.variable.gnuplot"},"InvalidWord":{"match":"([^#;\\\\\\s]+)","name":"invalid.illegal.gnuplot"},"LineComment":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.gnuplot"}},"end":"(?=(?<!\\\\)\\n$)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.gnuplot"}},"name":"comment.line.number-sign.gnuplot"},"Literal":{"patterns":[{"include":"#NumberLiteral"},{"include":"#DeprecatedScriptArgsLiteral"},{"include":"#SingleQuotedStringLiteral"},{"include":"#DoubleQuotedStringLiteral"},{"include":"#InterpolatedStringLiteral"}]},"MacroExpansion":{"begin":"(@[A-Z_a-z]\\w*)","beginCaptures":{"1":{"patterns":[{"include":"#SpecialVariable"}]}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"include":"#Expression"}]},"NumberLiteral":{"patterns":[{"match":"((\\b([0-9]+)|(?<!\\d)))(\\.[0-9]+)([Ee][-+]?[0-9]+)?(cm|in)?\\b","name":"constant.numeric.float.gnuplot"},{"match":"\\b([0-9]+)((([Ee][-+]?[0-9]+))\\b|(\\.([Ee][-+]?[0-9]+\\b)?))((?:cm|in)\\b)?","name":"constant.numeric.float.gnuplot"},{"match":"\\b(0[Xx]\\h+)(cm|in)?\\b","name":"constant.numeric.hex.gnuplot"},{"match":"\\b(0+)(cm|in)?\\b","name":"constant.numeric.dec.gnuplot"},{"match":"\\b(0[0-7]+)(cm|in)?\\b","name":"constant.numeric.oct.gnuplot"},{"match":"\\b(0[0-9]+)(cm|in)?\\b","name":"invalid.illegal.oct.gnuplot"},{"match":"\\b([0-9]+)(cm|in)?\\b","name":"constant.numeric.dec.gnuplot"}]},"PlotModifiers":{"patterns":[{"match":"\\b(thru)\\b","name":"invalid.deprecated.plot.gnuplot"},{"match":"\\b(?:in(dex)?|every|us(ing)?|wi(th)?|via)\\b","name":"storage.type.plot.gnuplot"},{"match":"\\b(newhist(ogram)?)\\b","name":"storage.type.plot.gnuplot"}]},"RGBColorSpec":{"match":"\\G(0x|#)((\\h{6})|(\\h{8}))\\b","name":"constant.other.placeholder.gnuplot"},"RangeSeparators":{"patterns":[{"match":"(\\[)","name":"punctuation.section.brackets.begin.gnuplot"},{"match":"(:)","name":"punctuation.separator.range.gnuplot"},{"match":"(])","name":"punctuation.section.brackets.end.gnuplot"}]},"SetUnsetOptions":{"patterns":[{"match":"\\G\\s*\\b(?:clabel|data|function|historysize|macros|ticslevel|ticscale|(style\\s+increment\\s+\\w+))\\b","name":"invalid.deprecated.options.gnuplot"},{"match":"\\G\\s*\\b(?:angles|arrow|autoscale|border|boxwidth|clip|cntr(label|param)|color(box|sequence)?|contour|(dash|line)type|datafile|decimal(sign)?|dgrid3d|dummy|encoding|(error)?bars|fit|fontpath|format|grid|hidden3d|history|(iso)?samples|jitter|key|label|link|loadpath|locale|logscale|mapping|[blrt]margin|margins|micro|minus(sign)?|mono(chrome)?|mouse|multiplot|nonlinear|object|offsets|origin|output|parametric|([pr])axis|pm3d|palette|pointintervalbox|pointsize|polar|print|psdir|size|style|surface|table|terminal|termoption|theta|tics|timestamp|timefmt|title|view|xyplane|zero|(no)?(m)?(x2??|y2??|z|cb|[rt])tics|(x2??|y2??|z|cb)data|(x2??|y2??|z|cb|r)label|(x2??|y2??|z|cb)dtics|(x2??|y2??|z|cb)mtics|(x2??|y2??|z|cb|[rtuv])range|(x2??|y2??|z)?zeroaxis)\\b","name":"support.class.options.gnuplot"}]},"ShellCommand":{"begin":"(!)","beginCaptures":{"1":{"name":"keyword.other.shell.gnuplot"}},"end":"(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$))","patterns":[{"match":"([^#]|\\\\(?=\\n))","name":"string.unquoted"}]},"SingleQuotedStringLiteral":{"begin":"(')","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gnuplot"}},"end":"((')(?!')|(?=(?<!\\\\)\\n$))","endCaptures":{"0":{"name":"punctuation.definition.string.end.gnuplot"}},"name":"string.quoted.single.gnuplot","patterns":[{"include":"#RGBColorSpec"},{"match":"('')","name":"constant.character.escape.gnuplot"}]},"SpecialVariable":{"patterns":[{"captures":{"1":{"name":"constant.language.wildcard.gnuplot"}},"match":"(?<=[:=\\[])\\s*(\\*)\\s*(?=[]:])"},{"captures":{"2":{"name":"punctuation.definition.variable.gnuplot"}},"match":"(([$@])[A-Z_a-z]\\w*)\\b","name":"constant.language.special.gnuplot"}]},"SummationExpr":{"begin":"\\b(sum)\\s*(\\[)","beginCaptures":{"1":{"name":"keyword.other.sum.gnuplot"},"2":{"patterns":[{"include":"#RangeSeparators"}]}},"end":"((])|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))","endCaptures":{"2":{"patterns":[{"include":"#RangeSeparators"}]}},"patterns":[{"include":"#Expression"},{"include":"#RangeSeparators"}]},"TernaryExpr":{"begin":"(?<!\\?)(\\?)(?!\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.gnuplot"}},"end":"((?<!:)(:)(?!:)|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))","endCaptures":{"2":{"name":"keyword.operator.ternary.gnuplot"}},"patterns":[{"include":"#Expression"}]},"VariableDecl":{"begin":"\\b([A-Z_a-z]\\w*)\\s*(?:(\\[)\\s*(.*)\\s*(])\\s*)?(?=(=)(?!\\s*=))","beginCaptures":{"1":{"name":"entity.name.variable.gnuplot","patterns":[{"include":"#InvalidVariableDecl"},{"include":"#BuiltinVariable"}]},"3":{"patterns":[{"include":"#Expression"}]}},"end":"(?=([#;]|\\\\(?!\\n)|(?<!\\\\)\\n$))","name":"meta.variable.gnuplot","patterns":[{"include":"#Expression"}]}},"scopeName":"source.gnuplot"},{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<![#@])-}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\()\\s*(\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\()(#)\\s*(#)(\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\()\\s*,[,\\s]*(\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\()(#)\\s*,[,\\s]*(#)(\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\[)\\s*(])","name":"constant.language.empty-list.haskell"},{"begin":"(\\b(?<!')(module)|^(signature))\\b((?!'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\b(?<!')where\\b(?!'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\s*)(class)\\b((?!'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!')\\bwhere\\b(?!'))|(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\s*)(data|newtype)(?:\\s+(instance))?\\s+((?:(?!(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:=|--+)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])|\\b(?<!')(?:where|deriving)\\b(?!')|\\{-).)*)(?=\\b(?<!'')where\\b(?!''))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!')\\bderiving\\b(?!'))|(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!')\\b(where)\\s*(\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\b(?<!')(where)\\b(?!')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\s*)(pattern)\\s+(.*?)\\s+(::|∷)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\s*(pattern)\\b(?!')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\s*)(data|newtype)(?:\\s+(family|instance))?\\s+(((?!(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:=|--+)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])|\\b(?<!')(?:where|deriving)\\b(?!')|\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\s*)(type)\\s+(family)\\b(?!')(((?!(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:=|--+)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])|\\b(?<!')where\\b(?!')|\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\s*)(type)(?:\\s+(instance))?\\s+(((?!(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:=|--+|::|∷)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])|\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\s*)(instance)\\b((?!'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\b(?<!')(where)\\b(?!'))|(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\s*)(import)\\b((?!'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\b(?<!')(where)\\b(?!'))|(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\s*(infix[lr]?)\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\()(#)\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:(=)|(\\|))(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\G|^)\\s*(?:(?<!')\\b(['._\\p{Ll}\\p{Lu}\\p{Lt}\\d]+)|('?(?<paren>\\((?:[^()]?|\\g<paren>)*\\)))|('?(?<brac>\\((?:[^]\\[]?|\\g<brac>)*])))\\s*(?:(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(:[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]*)|(`)([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)(`))|(?<!')\\b([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*(:[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]*)\\s*(\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<!['_\\p{Ll}\\p{Lu}\\p{Lt}\\d])(')(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\"\\&'\\\\abfnrtv]))|(\\\\o[0-7]+)|(\\\\x\\h+)|(\\\\\\^[@-_]))(')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\s*)(--\\s[$|])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\1--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])))","name":"comment.block.documentation.haskell"},{"begin":"(^[\\t ]+)?(--\\s[*^])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\{-\\s?[$*^|]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[\\t ]+)?(?=--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?!\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(=>|⇒)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\b(?<!')[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*(?!['.\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\s*)(deriving)\\s+(?:(via|stock|newtype|anyclass)\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!')\\b(instance)\\b(?!')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!')\\b(via|stock|newtype|anyclass)\\b(?!')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\s+(stock|newtype|anyclass))?\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\s+(stock|newtype|anyclass))?\\s+([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)(\\s+(via)\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!')\\b(via)\\b(?!')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\s*(::|∷)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\b(?<!')(pattern)\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*(:[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*(\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\b(?<!')(type)\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*([[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*(\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!')\\b[_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*","name":"entity.name.function.haskell"},{"match":"(?<!')\\b[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\s*)(foreign)\\s+((?:im|ex)port)\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\b(?<!')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\s+"},{"begin":"(?=\")|(?=\\b(?<!')([_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)\\b(?!'))","end":"(?=(::|∷)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\b(?<!')(safe|unsafe|interruptible)\\b(?!')\\s*(\"(?:\\\\\"|[^\"])*\")?\\s*(?:\\b(?<!'')([_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)\\b(?!')|\\(\\s*(?!--+\\))([[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*\\))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\b(?<!')(safe|unsafe|interruptible)\\b(?!')\\s*(\"(?:\\\\\"|[^\"])*\")?\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\"(?:\\\\\"|[^\"])*\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"\\b(?<!'')([_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)\\b(?!')|(\\()\\s*(?!--+\\))([[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*(\\))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"match":"\\b(?<!')(?:([0-9][0-9_]*\\.[0-9][0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?|[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*)|(0(?:[Xx]_*\\h[_\\h]*\\.\\h[_\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?|[Xx]_*\\h[_\\h]*[Pp][-+]?[0-9][0-9_]*)))\\b(?!')"},"forall":{"begin":"\\b(?<!')(forall|∀)\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\.)|(->|→)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\s*)(?<fn>(?:[_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*#*|\\(\\s*(?!--+\\))[[\\p{S}\\p{P}]&&[^]\"'(),:;\\[_`{}]][[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]*\\s*\\))(?:\\s*,\\s*\\g<fn>)?)\\s*(?<![[\\p{S}\\p{P}]&&[^]\"'),;_`}]])(::|∷)(?![[\\p{S}\\p{P}]&&[^\"'(,;\\[_`{]])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])((<-|←)|(=)|(-<|↢)|(-<<|⤛))([]\"'(),;\\[_`{}[^\\p{S}\\p{P}]]))|(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\s*)(?:\\b((?<!')[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*(:[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]*)\\s*(\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\b(?<!'')deriving\\b(?!'))|(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"\\b((?<!')[\\p{Lu}\\p{Lt}][_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*(:[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]*)\\s*(\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"match":"((?:(?<!'')('')?[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.)*)(#+|[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"match":"(`)((?:[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.)*)([_\\p{Ll}\\p{Lu}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)(`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\b(?<!')(?:([0-9][0-9_]*)|(0[Xx]_*\\h[_\\h]*)|(0[Oo]_*[0-7][0-7_]*)|(0[Bb]_*[01][01_]*))\\b(?!')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\b(?<!')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\b(?!')"},"layout_herald":{"begin":"(?<!')\\b(?:(where|let|m?do)|(of))\\s*(\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\{-@","end":"@-}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\b(?<!')(module)\\b(?!')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*(\\.\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![[_\\p{Ll}\\p{Lu}\\p{Lt}\\d\\p{S}\\p{P}]&&[^(,;\\[`{]])(#)(?:(\"(?:\\\\\"|[^\"])*\")|['._\\p{Ll}\\p{Lu}\\p{Lt}\\d]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\{-#","end":"#-}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\b(?<!')(LANGUAGE)\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali[sz]edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\b(?<!')(SPECIALI[SZ]E)(?:\\s*(\\[[^]\\[]*])?\\s*|\\s+)(instance)\\b(?!')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\b(?<!')(SPECIALI[SZ]E)\\b(?!')(?:\\s+(INLINE)\\b(?!'))?\\s*(\\[[^]\\[]*])?\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-})","patterns":[{"include":"$self"}]},{"match":"(?i)\\b(?<!')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\b(?!')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\b(DEPRECATED|WARNING)\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\\()\\s*(?!(?:--+|\\.\\.)\\))(#+|[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+(?<!#))\\s*(\\))"}]},"qualifier":{"match":"\\b(?<!')[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\[)([dep])?(\\|\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\[)(t)(\\|\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\[)(?:(\\$\\$)|(\\$))?(['._[^\\s\\p{S}\\p{P}]]*)(\\|\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\5]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"(\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"(\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"([_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*([[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*(\\))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"([_\\p{Ll}\\p{Lu}]['._\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)|(\\()\\s*([[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*(\\))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(\\.\\.)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:(\\.\\.)|(:)|(=)|(\\\\)|(\\|)|(<-|←)|(->|→)|(-<|↢)|(-<<|⤛)|(>-|⤚)|(>>-|⤜)|(∀))(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\p{Ll}\\p{Lu}\\p{Lt}\\d\\p{S}\\p{P}]&&[^#,;\\[`{]])(#+)(?![[_\\p{Ll}\\p{Lu}\\p{Lt}\\d\\p{S}\\p{P}]&&[^]),;`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\p{Ll}\\p{Lu}\\p{Lt}\\d])(@)(?=[(\\[_{\\p{Ll}\\p{Lu}\\p{Lt}\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![[_\\p{Ll}\\p{Lu}\\p{Lt}\\d\\p{S}\\p{P}]&&[^(,;\\[`{]])(?:(~)|(!)|(-)|(\\$)|(\\$\\$))(?=[(\\[_{\\p{Ll}\\p{Lu}\\p{Lt}\\d])"}]},"role_annotation":{"patterns":[{"begin":"^(\\s*)(type)\\s+(role)\\b(?!')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=[;}])|^(?!\\1\\s+\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\b(?<!')(nominal|representational|phantom)\\b(?!')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\s*)(::|∷)(?![[\\p{S}\\p{P}]&&[^\"'(,;\\[_`{]])\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\)|[],]|(?<!')\\b(in|then|else|of)\\b(?!')|(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:([\\\\λ])|(<-|←)|(=)|(-<|↢)|(-<<|⤛))([]\"'(),;\\[_`{}[^\\p{S}\\p{P}]])|([#@])-}|(?=[;}])|^(?!\\1\\s*\\S|\\s*(?:$|\\{-[^@]|--+(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![[\\p{S}\\p{P}]&&[^\"'(,;\\[_`{]])(::|∷)(?![[\\p{S}\\p{P}]&&[^\"'(,;\\[_`{]])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\)|[],]|\\b(?<!')(in|then|else|of)\\b(?!')|([#@])-}|(?<![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])(?:([\\\\λ])|(<-|←)|(=)|(-<|↢)|(-<<|⤛))([]\"'(),;\\[_`{}[^\\p{S}\\p{P}]])|(?=[;}])|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\"\\&'\\\\abfnrtv])","name":"constant.character.escape.haskell"},{"match":"\\\\(?:o[0-7]+|x\\h+|[0-9]+)","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\^[@-_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[]\",;\\[{}\\s])(@)(')?(\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\",;\\[{}\\s])(@)(')?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\",;\\[{}\\s])(@)(?=\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[]\",;\\[{}\\s])(@)(?=['_\\p{Ll}\\p{Lu}\\p{Lt}\\d])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?!['_\\p{Ll}\\p{Lu}\\p{Lt}\\d])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(')?((?:\\b[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.)*)\\b([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(')?(\\()\\s*((?:[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.)*)([[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+)\\s*(\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!')('))?((?:\\b[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.)*)(?![#@]?-})(#+|[[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(')?(`)((?:[\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*\\.)*)([\\p{Lu}\\p{Lt}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*)(`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(')?(\\()\\s*(\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\()(#)\\s*(#)(\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(')?(\\()\\s*,[,\\s]*(\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\()(#)\\s*(#)(\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\()(#)\\s*,[,\\s]*(#)(\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(')?(\\[)\\s*(])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|∷)(?![[\\p{S}\\p{P}]&&[^]\"'(),;\\[_`{}]])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|⇒","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"'[^']'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(')?(\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(')?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\b(?<!')(?!(?:forall|deriving)\\b(?!'))[_\\p{Ll}]['_\\p{Ll}\\p{Lu}\\p{Lt}\\d]*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!')\\b(where)\\s*(\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\b(?<!')(where)\\b(?!')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell"},{"displayName":"TeX","name":"tex","patterns":[{"include":"#iffalse-block"},{"include":"#macro-control"},{"include":"#catcode"},{"include":"#comment"},{"match":"[]\\[]","name":"punctuation.definition.brackets.tex"},{"include":"#dollar-math"},{"match":"\\\\\\\\","name":"keyword.control.newline.tex"},{"include":"#ifnextchar"},{"include":"#macro-general"}],"repository":{"braces":{"begin":"(?<!\\\\)\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.tex"}},"end":"(?<!\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.tex"}},"name":"meta.group.braces.tex","patterns":[{"include":"#braces"}]},"catcode":{"captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}},"match":"((\\\\)catcode)`\\\\?.(=)(\\d+)","name":"meta.catcode.tex"},"comment":{"begin":"(^[\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}},"end":"(?!\\G)","patterns":[{"begin":"%:?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}},"end":"$\\n?","name":"comment.line.percentage.tex"},{"begin":"^(%!TEX) (\\S*) =","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}},"end":"$\\n?","name":"comment.line.percentage.directive.tex"}]},"conditionals":{"begin":"(?<=^\\s*)\\\\if(?!f\\b)[a-z]*","end":"(?<=^\\s*)\\\\fi","patterns":[{"include":"#comment"},{"include":"#conditionals"}]},"dollar-math":{"begin":"(\\$\\$?)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tex"}},"end":"(\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\$","name":"constant.character.escape.tex"},{"include":"#math-content"},{"include":"$self"}]},"iffalse-block":{"begin":"(?<=^\\s*)((\\\\)iffalse)(?!\\s*[{}]\\s*\\\\fi\\b)","beginCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"contentName":"comment.line.percentage.tex","end":"((\\\\)(?:else|fi))\\b","endCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"patterns":[{"include":"#comment"},{"include":"#braces"},{"include":"#conditionals"}]},"ifnextchar":{"match":"\\\\@ifnextchar[(\\[{]","name":"keyword.control.ifnextchar.tex"},"macro-control":{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])","name":"keyword.control.tex"},"macro-general":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\)_*[@\\p{Alphabetic}]+(?:_[@\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\.)[@\\p{Alphabetic}]+(?:_[@\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\)(?:[,;]|[@\\p{Alphabetic}]+)","name":"support.function.general.tex"},{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\)[^@-Za-z]","name":"constant.character.escape.tex"}]},"math-content":{"patterns":[{"begin":"((\\\\)(?:text|mbox))(\\{)","beginCaptures":{"1":{"name":"constant.other.math.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"punctuation.definition.arguments.begin.tex meta.text.normal.tex"}},"contentName":"meta.text.normal.tex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.tex meta.text.normal.tex"}},"patterns":[{"include":"#math-content"},{"include":"$self"}]},{"match":"\\\\[{}]","name":"punctuation.math.bracket.pair.tex"},{"match":"\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\[|]|\\\\[{|}]|\\\\[lr]?[Vv]ert|\\\\[lr]angle)","name":"punctuation.math.bracket.pair.big.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|ge|le|Arrownot)(?![@-Za-z])","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\b","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\b","name":"constant.other.math.tex"},{"begin":"((\\\\)Sexpr(\\{))","beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"contentName":"support.function.sexpr.math.tex","end":"(((})))","endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}},"name":"meta.embedded.line.r","patterns":[{"begin":"\\G(?!})","end":"(?=})","name":"source.r","patterns":[{"include":"source.r"}]}]},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\)(?!begin\\{|verb)([A-Za-z]+)","name":"constant.other.general.math.tex"},{"match":"(?<!\\\\)\\{","name":"punctuation.math.begin.bracket.curly.tex"},{"match":"(?<!\\\\)}","name":"punctuation.math.end.bracket.curly.tex"},{"match":"(?<!\\\\)\\(","name":"punctuation.math.begin.bracket.round.tex"},{"match":"(?<!\\\\)\\)","name":"punctuation.math.end.bracket.round.tex"},{"match":"(([0-9]*\\.[0-9]+)|[0-9]+)","name":"constant.numeric.math.tex"},{"match":"[-*+/]|(?<!\\^)\\^(?!\\^)|(?<!_)_(?!_)","name":"punctuation.math.operator.tex"}]}},"scopeName":"text.tex"},{"displayName":"GLSL","fileTypes":["vs","fs","gs","vsh","fsh","gsh","vshader","fshader","gshader","vert","frag","geom","f.glsl","v.glsl","g.glsl"],"foldingStartMarker":"/\\*\\*|\\{\\s*$","foldingStopMarker":"\\*\\*/|^\\s*}","name":"glsl","patterns":[{"match":"\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\b","name":"keyword.control.glsl"},{"match":"\\b(void|bool|int|uint|float|vec2|vec3|vec4|bvec2|bvec3|bvec4|ivec2|ivec3|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[123|]D|samplerCube|sampler2DRect|sampler[12|]DShadow|sampler2DRectShadow|sampler[12|]DArray|sampler[12|]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[123|]D|isamplerCube|isampler2DRect|isampler[12|]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[123|]D|usamplerCube|usampler2DRect|usampler[12|]DArray|usamplerBuffer|usampler2DMS|usampler2DMSArray)\\b","name":"storage.type.glsl"},{"match":"\\b(attribute|centroid|const|flat|in|inout|invariant|noperspective|out|smooth|uniform|varying)\\b","name":"storage.modifier.glsl"},{"match":"\\b(gl_(?:BackColor|BackLightModelProduct|BackLightProduct|BackMaterial|BackSecondaryColor|ClipDistance|ClipPlane|ClipVertex|Color|DepthRange|DepthRangeParameters|EyePlaneQ|EyePlaneR|EyePlaneS|EyePlaneT|Fog|FogCoord|FogFragCoord|FogParameters|FragColor|FragCoord|FragDat|FragDept|FrontColor|FrontFacing|FrontLightModelProduct|FrontLightProduct|FrontMaterial|FrontSecondaryColor|InstanceID|Layer|LightModel|LightModelParameters|LightModelProducts|LightProducts|LightSource|LightSourceParameters|MaterialParameters|ModelViewMatrix|ModelViewMatrixInverse|ModelViewMatrixInverseTranspose|ModelViewMatrixTranspose|ModelViewProjectionMatrix|ModelViewProjectionMatrixInverse|ModelViewProjectionMatrixInverseTranspose|ModelViewProjectionMatrixTranspose|MultiTexCoord[0-7]|Normal|NormalMatrix|NormalScale|ObjectPlaneQ|ObjectPlaneR|ObjectPlaneS|ObjectPlaneT|Point|PointCoord|PointParameters|PointSize|Position|PrimitiveIDIn|ProjectionMatrix|ProjectionMatrixInverse|ProjectionMatrixInverseTranspose|ProjectionMatrixTranspose|SecondaryColor|TexCoord|TextureEnvColor|TextureMatrix|TextureMatrixInverse|TextureMatrixInverseTranspose|TextureMatrixTranspose|Vertex|VertexIDh))\\b","name":"support.variable.glsl"},{"match":"\\b(gl_Max(?:ClipPlane|CombinedTextureImageUnit|DrawBuffer|FragmentUniformComponent|Light|TextureCoord|TextureImageUnit|TextureUnit|VaryingFloat|VertexAttrib|VertexTextureImageUnit|VertexUniformComponent)s)\\b","name":"support.constant.glsl"},{"match":"\\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp2??|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log2??|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\\b","name":"support.function.glsl"},{"match":"\\b(asm|double|enum|extern|goto|inline|long|short|sizeof|static|typedef|union|unsigned|volatile)\\b","name":"invalid.illegal.glsl"},{"include":"source.c"}],"scopeName":"source.glsl"},{"displayName":"AppleScript","fileTypes":["applescript","scpt","script editor"],"firstLineMatch":"^#!.*(osascript)","name":"applescript","patterns":[{"include":"#blocks"},{"include":"#inline"}],"repository":{"attributes.considering-ignoring":{"patterns":[{"match":",","name":"punctuation.separator.array.attributes.applescript"},{"match":"\\b(and)\\b","name":"keyword.control.attributes.and.applescript"},{"match":"\\b(?i:case|diacriticals|hyphens|numeric\\s+strings|punctuation|white\\s+space)\\b","name":"constant.other.attributes.text.applescript"},{"match":"\\b(?i:application\\s+responses)\\b","name":"constant.other.attributes.application.applescript"}]},"blocks":{"patterns":[{"begin":"^\\s*(script)\\s+(\\w+)","beginCaptures":{"1":{"name":"keyword.control.script.applescript"},"2":{"name":"entity.name.type.script-object.applescript"}},"end":"^\\s*(end(?:\\s+script)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.script.applescript"}},"name":"meta.block.script.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(to|on)\\s+(\\w+)(\\()((?:[,:{}\\s]*\\w+{0,1})*)(\\))","beginCaptures":{"1":{"name":"keyword.control.function.applescript"},"2":{"name":"entity.name.function.handler.applescript"},"3":{"name":"punctuation.definition.parameters.begin.applescript"},"4":{"name":"variable.parameter.handler.applescript"},"5":{"name":"punctuation.definition.parameters.end.applescript"}},"end":"^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.function.applescript"}},"name":"meta.function.positional.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(to|on)\\s+(\\w+)(?:\\s+(of|in)\\s+(\\w+))?(?=\\s+(above|against|apart\\s+from|around|aside\\s+from|at|below|beneath|beside|between|by|for|from|instead\\s+of|into|on|onto|out\\s+of|over|thru|under)\\b)","beginCaptures":{"1":{"name":"keyword.control.function.applescript"},"2":{"name":"entity.name.function.handler.applescript"},"3":{"name":"keyword.control.function.applescript"},"4":{"name":"variable.parameter.handler.direct.applescript"}},"end":"^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.function.applescript"}},"name":"meta.function.prepositional.applescript","patterns":[{"captures":{"1":{"name":"keyword.control.preposition.applescript"},"2":{"name":"variable.parameter.handler.applescript"}},"match":"\\b(?i:above|against|apart\\s+from|around|aside\\s+from|at|below|beneath|beside|between|by|for|from|instead\\s+of|into|on|onto|out\\s+of|over|thru|under)\\s+(\\w+)\\b"},{"include":"$self"}]},{"begin":"^\\s*(to|on)\\s+(\\w+)(?=\\s*(--.*?)?$)","beginCaptures":{"1":{"name":"keyword.control.function.applescript"},"2":{"name":"entity.name.function.handler.applescript"}},"end":"^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.function.applescript"}},"name":"meta.function.parameterless.applescript","patterns":[{"include":"$self"}]},{"include":"#blocks.tell"},{"include":"#blocks.repeat"},{"include":"#blocks.statement"},{"include":"#blocks.other"}]},"blocks.other":{"patterns":[{"begin":"^\\s*(considering)\\b","end":"^\\s*(end(?:\\s+considering)?)(?=\\s*(--.*?)?$)","name":"meta.block.considering.applescript","patterns":[{"begin":"(?<=considering)","end":"(?<!¬)$","name":"meta.array.attributes.considering.applescript","patterns":[{"include":"#attributes.considering-ignoring"}]},{"begin":"(?<=ignoring)","end":"(?<!¬)$","name":"meta.array.attributes.ignoring.applescript","patterns":[{"include":"#attributes.considering-ignoring"}]},{"match":"\\b(but)\\b","name":"keyword.control.but.applescript"},{"include":"$self"}]},{"begin":"^\\s*(ignoring)\\b","end":"^\\s*(end(?:\\s+ignoring)?)(?=\\s*(--.*?)?$)","name":"meta.block.ignoring.applescript","patterns":[{"begin":"(?<=considering)","end":"(?<!¬)$","name":"meta.array.attributes.considering.applescript","patterns":[{"include":"#attributes.considering-ignoring"}]},{"begin":"(?<=ignoring)","end":"(?<!¬)$","name":"meta.array.attributes.ignoring.applescript","patterns":[{"include":"#attributes.considering-ignoring"}]},{"match":"\\b(but)\\b","name":"keyword.control.but.applescript"},{"include":"$self"}]},{"begin":"^\\s*(if)\\b","beginCaptures":{"1":{"name":"keyword.control.if.applescript"}},"end":"^\\s*(end(?:\\s+if)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.if.applescript","patterns":[{"match":"\\b(then)\\b","name":"keyword.control.then.applescript"},{"match":"\\b(else\\s+if)\\b","name":"keyword.control.else-if.applescript"},{"match":"\\b(else)\\b","name":"keyword.control.else.applescript"},{"include":"$self"}]},{"begin":"^\\s*(try)\\b","beginCaptures":{"1":{"name":"keyword.control.try.applescript"}},"end":"^\\s*(end(?:\\s+(try|error))?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.try.applescript","patterns":[{"begin":"^\\s*(on\\s+error)\\b","beginCaptures":{"1":{"name":"keyword.control.exception.on-error.applescript"}},"end":"(?<!¬)$","name":"meta.property.error.applescript","patterns":[{"match":"\\b(?i:number|partial|from|to)\\b","name":"keyword.control.exception.modifier.applescript"},{"include":"#inline"}]},{"include":"$self"}]},{"begin":"^\\s*(using\\s+terms\\s+from)\\b","beginCaptures":{"1":{"name":"keyword.control.terms.applescript"}},"end":"^\\s*(end(?:\\s+using\\s+terms\\s+from)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.terms.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(with\\s+timeout(\\s+of)?)\\b","beginCaptures":{"1":{"name":"keyword.control.timeout.applescript"}},"end":"^\\s*(end(?:\\s+timeout)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.timeout.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(with\\s+transaction(\\s+of)?)\\b","beginCaptures":{"1":{"name":"keyword.control.transaction.applescript"}},"end":"^\\s*(end(?:\\s+transaction)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.transaction.applescript","patterns":[{"include":"$self"}]}]},"blocks.repeat":{"patterns":[{"begin":"^\\s*(repeat)\\s+(until)\\b","beginCaptures":{"1":{"name":"keyword.control.repeat.applescript"},"2":{"name":"keyword.control.until.applescript"}},"end":"^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.repeat.until.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(repeat)\\s+(while)\\b","beginCaptures":{"1":{"name":"keyword.control.repeat.applescript"},"2":{"name":"keyword.control.while.applescript"}},"end":"^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.repeat.while.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(repeat)\\s+(with)\\s+(\\w+)\\b","beginCaptures":{"1":{"name":"keyword.control.repeat.applescript"},"2":{"name":"keyword.control.until.applescript"},"3":{"name":"variable.parameter.loop.applescript"}},"end":"^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.repeat.with.applescript","patterns":[{"match":"\\b(from|to|by)\\b","name":"keyword.control.modifier.range.applescript"},{"match":"\\b(in)\\b","name":"keyword.control.modifier.list.applescript"},{"include":"$self"}]},{"begin":"^\\s*(repeat)\\b(?=\\s*(--.*?)?$)","beginCaptures":{"1":{"name":"keyword.control.repeat.applescript"}},"end":"^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.repeat.forever.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(repeat)\\b","beginCaptures":{"1":{"name":"keyword.control.repeat.applescript"}},"end":"^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)","endCaptures":{"1":{"name":"keyword.control.end.applescript"}},"name":"meta.block.repeat.times.applescript","patterns":[{"match":"\\b(times)\\b","name":"keyword.control.times.applescript"},{"include":"$self"}]}]},"blocks.statement":{"patterns":[{"begin":"\\b(prop(?:erty)?)\\s+(\\w+)\\b","beginCaptures":{"1":{"name":"keyword.control.def.property.applescript"},"2":{"name":"variable.other.property.applescript"}},"end":"(?<!¬)$","name":"meta.statement.property.applescript","patterns":[{"match":":","name":"punctuation.separator.key-value.property.applescript"},{"include":"#inline"}]},{"begin":"\\b(set)\\s+(\\w+)\\s+(to)\\b","beginCaptures":{"1":{"name":"keyword.control.def.set.applescript"},"2":{"name":"variable.other.readwrite.set.applescript"},"3":{"name":"keyword.control.def.set.applescript"}},"end":"(?<!¬)$","name":"meta.statement.set.applescript","patterns":[{"include":"#inline"}]},{"begin":"\\b(local)\\b","beginCaptures":{"1":{"name":"keyword.control.def.local.applescript"}},"end":"(?<!¬)$","name":"meta.statement.local.applescript","patterns":[{"match":",","name":"punctuation.separator.variables.local.applescript"},{"match":"\\b\\w+","name":"variable.other.readwrite.local.applescript"},{"include":"#inline"}]},{"begin":"\\b(global)\\b","beginCaptures":{"1":{"name":"keyword.control.def.global.applescript"}},"end":"(?<!¬)$","name":"meta.statement.global.applescript","patterns":[{"match":",","name":"punctuation.separator.variables.global.applescript"},{"match":"\\b\\w+","name":"variable.other.readwrite.global.applescript"},{"include":"#inline"}]},{"begin":"\\b(error)\\b","beginCaptures":{"1":{"name":"keyword.control.exception.error.applescript"}},"end":"(?<!¬)$","name":"meta.statement.error.applescript","patterns":[{"match":"\\b(number|partial|from|to)\\b","name":"keyword.control.exception.modifier.applescript"},{"include":"#inline"}]},{"begin":"\\b(if)\\b(?=.*\\bthen\\b(?!\\s*(--.*?)?$))","beginCaptures":{"1":{"name":"keyword.control.if.applescript"}},"end":"(?<!¬)$","name":"meta.statement.if-then.applescript","patterns":[{"include":"#inline"}]}]},"blocks.tell":{"patterns":[{"begin":"^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:textmate)\")(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.application.textmate.applescript","patterns":[{"include":"#textmate"},{"include":"#standard-suite"},{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:finder)\")(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.application.finder.applescript","patterns":[{"include":"#finder"},{"include":"#standard-suite"},{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:system events)\")(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.application.system-events.applescript","patterns":[{"include":"#system-events"},{"include":"#standard-suite"},{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:itunes)\")(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.application.itunes.applescript","patterns":[{"include":"#itunes"},{"include":"#standard-suite"},{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?=app(lication)?\\s+process\\b)(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.application-process.generic.applescript","patterns":[{"include":"#standard-suite"},{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?=app(lication)?\\b)(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.application.generic.applescript","patterns":[{"include":"#standard-suite"},{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?!.*\\bto(?!\\s+tell)\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)","name":"meta.block.tell.generic.applescript","patterns":[{"include":"$self"}]},{"begin":"^\\s*(tell)\\s+(?=.*\\bto\\b)","captures":{"1":{"name":"keyword.control.tell.applescript"}},"end":"(?<!¬)$","name":"meta.block.tell.generic.applescript","patterns":[{"include":"$self"}]}]},"built-in":{"patterns":[{"include":"#built-in.constant"},{"include":"#built-in.keyword"},{"include":"#built-in.support"},{"include":"#built-in.punctuation"}]},"built-in.constant":{"patterns":[{"match":"\\b(?i:true|false|yes|no)\\b","name":"constant.language.boolean.applescript"},{"match":"\\b(?i:null|missing\\s+value)\\b","name":"constant.language.null.applescript"},{"match":"-?\\b\\d+((\\.(\\d+\\b)?)?(?i:e\\+?\\d*\\b)?|\\b)","name":"constant.numeric.applescript"},{"match":"\\b(?i:space|tab|return|linefeed|quote)\\b","name":"constant.other.text.applescript"},{"match":"\\b(?i:all\\s+(caps|lowercase)|bold|condensed|expanded|hidden|italic|outline|plain|shadow|small\\s+caps|strikethrough|(su(?:b|per))script|underline)\\b","name":"constant.other.styles.applescript"},{"match":"\\b(?i:Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\\b","name":"constant.other.time.month.applescript"},{"match":"\\b(?i:Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(rsday)?|Fri(day)?|Sat(urday)?|Sun(day)?)\\b","name":"constant.other.time.weekday.applescript"},{"match":"\\b(?i:AppleScript|pi|result|version|current\\s+application|its?|m[ey])\\b","name":"constant.other.miscellaneous.applescript"},{"match":"\\b(?i:text\\s+item\\s+delimiters|print\\s+(length|depth))\\b","name":"variable.language.applescript"}]},"built-in.keyword":{"patterns":[{"match":"([-\\&*+/^÷])","name":"keyword.operator.arithmetic.applescript"},{"match":"([<=>≠≥]|>=|≤|<=)","name":"keyword.operator.comparison.applescript"},{"match":"(?i)\\b(and|or|div|mod|as|not|(a\\s+)?(ref(?:(\\s+to)?|erence\\s+to))|equal(s|\\s+to)|contains?|comes\\s+(after|before)|(start|begin|end)s?\\s+with)\\b","name":"keyword.operator.word.applescript"},{"match":"(?i)\\b(is(n't|\\s+not)?(\\s+(equal(\\s+to)?|(less|greater)\\s+than(\\s+or\\s+equal(\\s+to)?)?|in|contained\\s+by))?|does(n't|\\s+not)\\s+(equal|come\\s+(before|after)|contain))\\b","name":"keyword.operator.word.applescript"},{"match":"\\b(?i:some|every|whose|where|that|id|index|\\d+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|front|back|middle|named|beginning|end|from|to|thr(u|ough)|before|(front|back|beginning|end)\\s+of|after|behind|in\\s+(front|back|beginning|end)\\s+of)\\b","name":"keyword.operator.reference.applescript"},{"match":"\\b(?i:continue|return|exit(\\s+repeat)?)\\b","name":"keyword.control.loop.applescript"},{"match":"\\b(?i:about|above|after|against|and|apart\\s+from|around|as|aside\\s+from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contains??|contains|copy|div|does|eighth|else|end|equals??|error|every|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead\\s+of|into|is|its??|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|out\\s+of|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|then??|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b","name":"keyword.other.applescript"}]},"built-in.punctuation":{"patterns":[{"match":"¬","name":"punctuation.separator.continuation.line.applescript"},{"match":":","name":"punctuation.separator.key-value.property.applescript"},{"match":"[()]","name":"punctuation.section.group.applescript"}]},"built-in.support":{"patterns":[{"match":"\\b(?i:POSIX\\s+path|frontmost|id|name|running|version|days?|weekdays?|months?|years?|time|date\\s+string|time\\s+string|length|rest|reverse|items?|contents|quoted\\s+form|characters?|paragraphs?|words?)\\b","name":"support.function.built-in.property.applescript"},{"match":"\\b(?i:activate|log|clipboard\\s+info|set\\s+the\\s+clipboard\\s+to|the\\s+clipboard|info\\s+for|list\\s+(disks|folder)|mount\\s+volume|path\\s+to(\\s+resource)?|close\\s+access|get\\s+eof|open\\s+for\\s+access|read|set\\s+eof|write|open\\s+location|current\\s+date|do\\s+shell\\s+script|get\\s+volume\\s+settings|random\\s+number|round|set\\s+volume|system\\s+(attribute|info)|time\\s+to\\s+GMT|load\\s+script|run\\s+script|scripting\\s+components|store\\s+script|copy|count|get|launch|run|set|ASCII\\s+(character|number)|localized\\s+string|offset|summarize|beep|choose\\s+(application|color|file(\\s+name)?|folder|from\\s+list|remote\\s+application|URL)|delay|display\\s+(alert|dialog)|say)\\b","name":"support.function.built-in.command.applescript"},{"match":"\\b(?i:get|run)\\b","name":"support.function.built-in.applescript"},{"match":"\\b(?i:anything|data|text|upper\\s+case|propert(y|ies))\\b","name":"support.class.built-in.applescript"},{"match":"\\b(?i:alias|class)(es)?\\b","name":"support.class.built-in.applescript"},{"match":"\\b(?i:app(lication)?|boolean|character|constant|date|event|file(\\s+specification)?|handler|integer|item|keystroke|linked\\s+list|list|machine|number|picture|preposition|POSIX\\s+file|real|record|reference(\\s+form)?|RGB\\s+color|script|sound|text\\s+item|type\\s+class|vector|writing\\s+code(\\s+info)?|zone|((international|styled(\\s+(Clipboard|Unicode))?|Unicode)\\s+)?text|((C|encoded|Pascal)\\s+)?string)s?\\b","name":"support.class.built-in.applescript"},{"match":"(?i)\\b((cubic\\s+(centi)?|square\\s+(kilo)?|centi|kilo)met(er|re)s|square\\s+(yards|feet|miles)|cubic\\s+(yards|feet|inches)|miles|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees\\s+(Celsius|Fahrenheit|Kelvin))\\b","name":"support.class.built-in.unit.applescript"},{"match":"\\b(?i:seconds|minutes|hours|days)\\b","name":"support.class.built-in.time.applescript"}]},"comments":{"patterns":[{"begin":"^\\s*(#!)","captures":{"1":{"name":"punctuation.definition.comment.applescript"}},"end":"\\n","name":"comment.line.number-sign.applescript"},{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.applescript"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.applescript"}},"end":"\\n","name":"comment.line.number-sign.applescript"}]},{"begin":"(^[\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.applescript"}},"end":"(?!\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.applescript"}},"end":"\\n","name":"comment.line.double-dash.applescript"}]},{"begin":"\\(\\*","captures":{"0":{"name":"punctuation.definition.comment.applescript"}},"end":"\\*\\)","name":"comment.block.applescript","patterns":[{"include":"#comments.nested"}]}]},"comments.nested":{"patterns":[{"begin":"\\(\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.applescript"}},"end":"\\*\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.applescript"}},"name":"comment.block.applescript","patterns":[{"include":"#comments.nested"}]}]},"data-structures":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.applescript"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.array.end.applescript"}},"name":"meta.array.applescript","patterns":[{"captures":{"1":{"name":"constant.other.key.applescript"},"2":{"name":"meta.identifier.applescript"},"3":{"name":"punctuation.definition.identifier.applescript"},"4":{"name":"punctuation.definition.identifier.applescript"},"5":{"name":"punctuation.separator.key-value.applescript"}},"match":"(\\w+|((\\|)[^\\n|]*(\\|)))\\s*(:)"},{"match":":","name":"punctuation.separator.key-value.applescript"},{"match":",","name":"punctuation.separator.array.applescript"},{"include":"#inline"}]},{"begin":"(?:(?<=application )|(?<=app ))(\")","captures":{"1":{"name":"punctuation.definition.string.applescript"}},"end":"(\")","name":"string.quoted.double.application-name.applescript","patterns":[{"match":"\\\\.","name":"constant.character.escape.applescript"}]},{"begin":"(\")","captures":{"1":{"name":"punctuation.definition.string.applescript"}},"end":"(\")","name":"string.quoted.double.applescript","patterns":[{"match":"\\\\.","name":"constant.character.escape.applescript"}]},{"captures":{"1":{"name":"punctuation.definition.identifier.applescript"},"2":{"name":"punctuation.definition.identifier.applescript"}},"match":"(\\|)[^\\n|]*(\\|)","name":"meta.identifier.applescript"},{"captures":{"1":{"name":"punctuation.definition.data.applescript"},"2":{"name":"support.class.built-in.applescript"},"3":{"name":"storage.type.utxt.applescript"},"4":{"name":"string.unquoted.data.applescript"},"5":{"name":"punctuation.definition.data.applescript"},"6":{"name":"keyword.operator.applescript"},"7":{"name":"support.class.built-in.applescript"}},"match":"(«)(data) (ut(?:xt|f8))(\\h*)(»)(?:\\s+(as)\\s+(?i:Unicode\\s+text))?","name":"constant.other.data.utxt.applescript"},{"begin":"(«)(\\w+)\\b(?=\\s)","beginCaptures":{"1":{"name":"punctuation.definition.data.applescript"},"2":{"name":"support.class.built-in.applescript"}},"end":"(»)","endCaptures":{"1":{"name":"punctuation.definition.data.applescript"}},"name":"constant.other.data.raw.applescript"},{"captures":{"1":{"name":"punctuation.definition.data.applescript"},"2":{"name":"punctuation.definition.data.applescript"}},"match":"(«)[^»]*(»)","name":"invalid.illegal.data.applescript"}]},"finder":{"patterns":[{"match":"\\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\\b","name":"support.class.finder.items.applescript"},{"match":"\\b((Finder|desktop|information|preferences|clipping) )windows?\\b","name":"support.class.finder.window-classes.applescript"},{"match":"\\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\\b","name":"support.class.finder.type-definitions.applescript"},{"match":"\\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\\b","name":"support.function.finder.items.applescript"},{"match":"\\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\\b","name":"support.constant.finder.applescript"},{"match":"\\b(visible)\\b","name":"support.variable.finder.applescript"}]},"inline":{"patterns":[{"include":"#comments"},{"include":"#data-structures"},{"include":"#built-in"},{"include":"#standardadditions"}]},"itunes":{"patterns":[{"match":"\\b(artwork|application|encoder|EQ preset|item|source|visual|(EQ |browser )?window|((audio CD|device|shared|URL|file) )?track|playlist window|((audio CD|device|radio tuner|library|folder|user) )?playlist)s?\\b","name":"support.class.itunes.applescript"},{"match":"\\b(add|back track|convert|fast forward|(next|previous) track|pause|play(pause)?|refresh|resume|rewind|search|stop|update|eject|subscribe|update(Podcast|AllPodcasts)|download)\\b","name":"support.function.itunes.applescript"},{"match":"\\b(current (playlist|stream (title|URL)|track)|player state)\\b","name":"support.constant.itunes.applescript"},{"match":"\\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\\b","name":"support.variable.itunes.applescript"}]},"standard-suite":{"patterns":[{"match":"\\b(colors?|documents?|items?|windows?)\\b","name":"support.class.standard-suite.applescript"},{"match":"\\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\\b","name":"support.function.standard-suite.applescript"},{"match":"\\b(name|frontmost|version)\\b","name":"support.constant.standard-suite.applescript"},{"match":"\\b(selection)\\b","name":"support.variable.standard-suite.applescript"},{"match":"\\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\\b","name":"support.class.text-suite.applescript"}]},"standardadditions":{"patterns":[{"match":"\\b((alert|dialog) reply)\\b","name":"support.class.standardadditions.user-interaction.applescript"},{"match":"\\b(file information)\\b","name":"support.class.standardadditions.file.applescript"},{"match":"\\b(POSIX files?|system information|volume settings)\\b","name":"support.class.standardadditions.miscellaneous.applescript"},{"match":"\\b(URLs?|internet address(es)?|web pages?|FTP items?)\\b","name":"support.class.standardadditions.internet.applescript"},{"match":"\\b(info for|list (disks|folder)|mount volume|path to( resource)?)\\b","name":"support.function.standardadditions.file.applescript"},{"match":"\\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\\b","name":"support.function.standardadditions.user-interaction.applescript"},{"match":"\\b(ASCII (character|number)|localized string|offset|summarize)\\b","name":"support.function.standardadditions.string.applescript"},{"match":"\\b(set the clipboard to|the clipboard|clipboard info)\\b","name":"support.function.standardadditions.clipboard.applescript"},{"match":"\\b(open for access|close access|read|write|get eof|set eof)\\b","name":"support.function.standardadditions.file-i-o.applescript"},{"match":"\\b((load|store|run) script|scripting components)\\b","name":"support.function.standardadditions.scripting.applescript"},{"match":"\\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\\b","name":"support.function.standardadditions.miscellaneous.applescript"},{"match":"\\b(opening folder|((?:clos|mov)ing) folder window for|adding folder items to|removing folder items from)\\b","name":"support.function.standardadditions.folder-actions.applescript"},{"match":"\\b(open location|handle CGI request)\\b","name":"support.function.standardadditions.internet.applescript"}]},"system-events":{"patterns":[{"match":"\\b(audio (data|file))\\b","name":"support.class.system-events.audio-file.applescript"},{"match":"\\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\\b","name":"support.class.system-events.disk-folder-file.applescript"},{"match":"\\b(delete|open|move)\\b","name":"support.function.system-events.disk-folder-file.applescript"},{"match":"\\b(folder actions?|scripts?)\\b","name":"support.class.system-events.folder-actions.applescript"},{"match":"\\b(attach action to|attached scripts|edit action of|remove action from)\\b","name":"support.function.system-events.folder-actions.applescript"},{"match":"\\b(movie (?:data|file))\\b","name":"support.class.system-events.movie-file.applescript"},{"match":"\\b(log out|restart|shut down|sleep)\\b","name":"support.function.system-events.power.applescript"},{"match":"\\b(((application |desk accessory )?process|(c(?:heck|ombo ))?box)(es)?|(action|attribute|browser|(busy|progress|relevance) indicator|color well|column|drawer|group|grow area|image|incrementor|list|menu( bar)?( item)?|(menu |pop up |radio )?button|outline|(radio|tab|splitter) group|row|scroll (area|bar)|sheet|slider|splitter|static text|table|text (area|field)|tool bar|UI element|window)s?)\\b","name":"support.class.system-events.processes.applescript"},{"match":"\\b(click|key code|keystroke|perform|select)\\b","name":"support.function.system-events.processes.applescript"},{"match":"\\b(property list (file|item))\\b","name":"support.class.system-events.property-list.applescript"},{"match":"\\b(annotation|QuickTime (data|file)|track)s?\\b","name":"support.class.system-events.quicktime-file.applescript"},{"match":"\\b((abort|begin|end) transaction)\\b","name":"support.function.system-events.system-events.applescript"},{"match":"\\b(XML (attribute|data|element|file)s?)\\b","name":"support.class.system-events.xml.applescript"},{"match":"\\b(print settings|users?|login items?)\\b","name":"support.class.sytem-events.other.applescript"}]},"textmate":{"patterns":[{"match":"\\b(print settings)\\b","name":"support.class.textmate.applescript"},{"match":"\\b(get url|insert|reload bundles)\\b","name":"support.function.textmate.applescript"}]}},"scopeName":"source.applescript"},{"displayName":"BibTeX","name":"bibtex","patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.bibtex"}},"match":"@(?i:comment)(?=[({\\s])","name":"comment.block.at-sign.bibtex"},{"include":"#preamble"},{"include":"#string"},{"include":"#entry"},{"begin":"[^\\n@]","end":"(?=@)","name":"comment.block.bibtex"}],"repository":{"entry":{"patterns":[{"begin":"((@)[-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*)\\s*(\\{)\\s*([^,}\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.braces.bibtex","patterns":[{"begin":"([-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*)\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[,}])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]},{"begin":"((@)[-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*)\\s*(\\()\\s*([^,\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.parenthesis.bibtex","patterns":[{"begin":"([-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*)\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[),])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]}]},"field_value":{"patterns":[{"include":"#string_content"},{"include":"#integer"},{"include":"#string_var"},{"match":"#","name":"keyword.operator.bibtex"}]},"integer":{"captures":{"1":{"name":"constant.numeric.bibtex"}},"match":"\\s*(\\d+)\\s*"},"nested_braces":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},"preamble":{"patterns":[{"begin":"((@)(?i:preamble))\\s*(\\{)\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:preamble))\\s*(\\()\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string":{"patterns":[{"begin":"((@)(?i:string))\\s*(\\{)\\s*([-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:string))\\s*(\\()\\s*([-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string_content":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]}]},"string_var":{"captures":{"0":{"name":"support.variable.bibtex"}},"match":"[-!$\\&*+./:;<>-z|~][!$\\&*+\\--<>-z|~]*"}},"scopeName":"text.bibtex"},{"displayName":"LaTeX","name":"latex","patterns":[{"match":"(?<=\\\\(?:[@\\w]|[@\\w]{2}|[@\\w]{3}|[@\\w]{4}|[@\\w]{5}|[@\\w]{6}))\\s","name":"meta.space-after-command.latex"},{"include":"#songs-env"},{"include":"#embedded-code-env"},{"include":"#verbatim-env"},{"include":"#document-env"},{"include":"#all-balanced-env"},{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"text.tex"}],"repository":{"all-balanced-env":{"patterns":[{"begin":"\\s*((\\\\)begin)(\\{)((?:\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\s*\\n)?","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\s*((\\\\)end)(\\{)(\\4)(})(?:\\s*\\n)?","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\s*(\\\\begin\\{empheq}(?:\\[.*])?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\s*(\\\\end\\{empheq})","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"(\\s*\\\\begin\\{(tabular[*xy]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[*X]?|booktabs)}(\\s*\\n)?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.tabular.latex","end":"(\\s*\\\\end\\{(\\2)}(?:\\s*\\n)?)","name":"meta.function.environment.tabular.latex","patterns":[{"match":"(?<!\\\\)&","name":"keyword.control.table.cell.latex"},{"match":"\\\\\\\\","name":"keyword.control.table.newline.latex"},{"include":"$self"}]},{"begin":"(\\s*\\\\begin\\{(itemize|enumerate|description|list)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\end\\{\\2}(?:\\s*\\n)?)","name":"meta.function.environment.list.latex","patterns":[{"include":"$self"}]},{"begin":"(\\s*\\\\begin\\{tikzpicture})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\end\\{tikzpicture}(?:\\s*\\n)?)","name":"meta.function.environment.latex.tikz","patterns":[{"include":"$self"}]},{"begin":"(\\s*\\\\begin\\{frame})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\end\\{frame})","name":"meta.function.environment.frame.latex","patterns":[{"include":"$self"}]},{"begin":"(\\s*\\\\begin\\{(mpost\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\end\\{\\2}(?:\\s*\\n)?)","name":"meta.function.environment.latex.mpost"},{"begin":"(\\s*\\\\begin\\{markdown})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.embedded.markdown_latex_combined","end":"(\\\\end\\{markdown})","patterns":[{"include":"text.tex.markdown_latex_combined"}]},{"begin":"(\\s*\\\\begin\\{(\\p{Alphabetic}+\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\end\\{\\2}(?:\\s*\\n)?)","name":"meta.function.environment.general.latex","patterns":[{"include":"$self"}]}]},"all-other-macro":{"patterns":[{"match":"\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\b","name":"keyword.control.layout.latex"},{"begin":"((\\\\)marginpar)((?:\\[[^\\[]*?])*)(\\{)","beginCaptures":{"1":{"name":"support.function.marginpar.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.marginpar.begin.latex"}},"contentName":"meta.paragraph.margin.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.marginpar.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\)footnote)((?:\\[[^\\[]*?])*)(\\{)","beginCaptures":{"1":{"name":"support.function.footnote.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.footnote.begin.latex"}},"contentName":"entity.name.footnote.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.footnote.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"captures":{"0":{"name":"keyword.other.item.latex"},"1":{"name":"punctuation.definition.keyword.latex"}},"match":"(\\\\)item\\b","name":"meta.scope.item.latex"},{"captures":{"1":{"name":"punctuation.definition.constant.latex"}},"match":"(\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\b","name":"constant.character.latex"},{"captures":{"1":{"name":"punctuation.definition.variable.latex"}},"match":"(\\\\)(?:[cgl]_+[@_\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\p{Alphabetic}]+[@\\p{Alphabetic}])","name":"variable.other.latex3.latex"}]},"autocites-arg":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#optional-arg-parenthesis-no-highlight"}]},"2":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.citation.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"patterns":[{"include":"#autocites-arg"}]}},"match":"((?:\\([^)]*\\)){0,2})((?:\\[[^]]*]){0,2})(\\{)([-.:_\\p{Alphabetic}\\p{N}]+)(})(.*)"}]},"braces":{"begin":"(?<!\\\\)\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.latex"}},"end":"(?<!\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.latex"}},"name":"meta.group.braces.latex","patterns":[{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"text.tex"},{"include":"#braces"}]},"citation-macro":{"begin":"((\\\\)(?:[Aa]uto|foot|full|footfull|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart|[FPfp]vol|vol)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title|url|date)?[ANP]*\\*?)((?:(?:\\([^)]*\\)){0,2}(?:\\[[^]]*]){0,2}\\{[-.:_\\p{Alphabetic}\\p{N}]*})*)(<[^]<>]*>)?((?:\\[[^]]*])*)(\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#autocites-arg"}]},"4":{"patterns":[{"include":"#optional-arg-angle-no-highlight"}]},"5":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"captures":{"1":{"name":"comment.line.percentage.tex"},"2":{"name":"punctuation.definition.comment.tex"}},"match":"((%).*)$"},{"match":"[-.:\\p{Alphabetic}\\p{N}]+","name":"constant.other.reference.citation.latex"}]},"column-specials":{"captures":{"1":{"name":"punctuation.definition.column-specials.begin.latex"},"2":{"name":"punctuation.definition.column-specials.end.latex"}},"match":"[<>](\\{)\\$(})","name":"meta.column-specials.latex"},"display-math":{"patterns":[{"begin":"\\\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\$\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\$\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"match":"\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"document-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\s*\\\\begin\\{document})","name":"meta.function.begin-document.latex"},{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\s*\\\\end\\{document})","name":"meta.function.end-document.latex"}]},"documentclass-usepackage-macro":{"begin":"((\\\\)(?:usepackage|documentclass))\\b(?=[\\[{])","beginCaptures":{"1":{"name":"keyword.control.preamble.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.preamble.latex","patterns":[{"include":"#multiline-optional-arg"},{"begin":"((?:\\G|(?<=]))\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"support.class.latex","end":"(})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"$self"}]}]},"embedded-code-env":{"patterns":[{"begin":"(?:^\\s*)?\\\\begin\\{(lstlisting|minted|pyglist)}(?=[\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\end\\{\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)(asy(?:|mptote))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.asy","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.asy"}]},{"begin":"(?:\\G|(?<=]))(\\{)(bash)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.shell","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.shell"}]},{"begin":"(?:\\G|(?<=]))(\\{)(c(?:|pp))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.cpp.embedded.latex","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.cpp.embedded.latex"}]},{"begin":"(?:\\G|(?<=]))(\\{)(css)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.css","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.css"}]},{"begin":"(?:\\G|(?<=]))(\\{)(gnuplot)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.gnuplot","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.gnuplot"}]},{"begin":"(?:\\G|(?<=]))(\\{)(h(?:s|askell))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.haskell","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.haskell"}]},{"begin":"(?:\\G|(?<=]))(\\{)(html)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.html","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.html.basic"}]},{"begin":"(?:\\G|(?<=]))(\\{)(java)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.java","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.java"}]},{"begin":"(?:\\G|(?<=]))(\\{)(j(?:l|ulia))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.julia","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.julia"}]},{"begin":"(?:\\G|(?<=]))(\\{)(j(?:s|avascript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.js","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.js"}]},{"begin":"(?:\\G|(?<=]))(\\{)(lua)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.lua","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.lua"}]},{"begin":"(?:\\G|(?<=]))(\\{)(py|python|sage)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.python","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.python"}]},{"begin":"(?:\\G|(?<=]))(\\{)(r(?:b|uby))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ruby","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ruby"}]},{"begin":"(?:\\G|(?<=]))(\\{)(rust)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.rust","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.rust"}]},{"begin":"(?:\\G|(?<=]))(\\{)(t(?:s|ypescript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ts","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ts"}]},{"begin":"(?:\\G|(?<=]))(\\{)(xml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.xml","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.xml"}]},{"begin":"(?:\\G|(?<=]))(\\{)(yaml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.yaml","end":"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.yaml"}]},{"begin":"(?:\\G|(?<=]))(\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\s*(?=\\\\end\\{(?:lstlisting|minted|pyglist)})","name":"meta.embedded.block.generic.latex"}]},{"begin":"\\s*\\\\begin\\{asy(?:|code)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{asy(?:|code)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.asymptote","end":"^\\s*(?=\\\\end\\{asy(?:|code)\\*?})","patterns":[{"include":"source.asymptote"}]}]},{"begin":"\\s*\\\\begin\\{cppcode\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{cppcode\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\s*(?=\\\\end\\{cppcode\\*?})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\s*\\\\begin\\{dot(?:2tex|code)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{dot(?:2tex|code)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.dot","end":"^\\s*(?=\\\\end\\{dot(?:2tex|code)\\*?})","patterns":[{"include":"source.dot"}]}]},{"begin":"\\s*\\\\begin\\{gnuplot\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{gnuplot\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.gnuplot","end":"^\\s*(?=\\\\end\\{gnuplot\\*?})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\s*\\\\begin\\{hscode\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{hscode\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.haskell","end":"^\\s*(?=\\\\end\\{hscode\\*?})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\s*\\\\begin\\{java(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{java(?:code|verbatim|block|concode|console|converbatim)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.java","end":"^\\s*(?=\\\\end\\{java(?:code|verbatim|block|concode|console|converbatim)\\*?})","patterns":[{"include":"source.java"}]}]},{"begin":"\\s*\\\\begin\\{jl(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{jl(?:code|verbatim|block|concode|console|converbatim)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.julia","end":"^\\s*(?=\\\\end\\{jl(?:code|verbatim|block|concode|console|converbatim)\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\s*\\\\begin\\{julia(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{julia(?:code|verbatim|block|concode|console|converbatim)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.julia","end":"^\\s*(?=\\\\end\\{julia(?:code|verbatim|block|concode|console|converbatim)\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\s*\\\\begin\\{lua(?:code|draw)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{lua(?:code|draw)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.lua","end":"^\\s*(?=\\\\end\\{lua(?:code|draw)\\*?})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\s*\\\\begin\\{py(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{py(?:code|verbatim|block|concode|console|converbatim)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.python","end":"^\\s*(?=\\\\end\\{py(?:code|verbatim|block|concode|console|converbatim)\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\s*\\\\begin\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.python","end":"^\\s*(?=\\\\end\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\s*\\\\begin\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.python","end":"^\\s*(?=\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\s*\\\\begin\\{scalacode\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{scalacode\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.scala","end":"^\\s*(?=\\\\end\\{scalacode\\*?})","patterns":[{"include":"source.scala"}]}]},{"begin":"\\s*\\\\begin\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\s*\\\\end\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\s*)","contentName":"source.python","end":"^\\s*(?=\\\\end\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\s*\\\\begin\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\*?)}(?:\\[.*])?(?:\\{.*})?","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.function.embedded.latex","end":"\\\\end\\{\\1}(?:\\s*\\n)?","name":"meta.embedded.block.generic.latex"},{"begin":"((?:^\\s*)?\\\\begin\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?))})(?:\\[[^]]*]){0,2}(?=\\{)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\end\\{\\2})","patterns":[{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:asy(?:|mptote))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.asy","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.asy"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:bash)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.shell","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.shell"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:c(?:|pp))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:css)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.css","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.css"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:gnuplot)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.gnuplot","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:h(?:s|askell))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.haskell","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:html)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"text.html","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"text.html.basic"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:java)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.java","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.java"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:j(?:l|ulia))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.julia","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:j(?:s|avascript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.js","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.js"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:lua)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.lua","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:py|python|sage)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.python","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.python"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:r(?:b|uby))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.ruby","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.ruby"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:rust)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.rust","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.rust"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:t(?:s|ypescript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.ts","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.ts"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:xml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"text.xml","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"text.xml"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:yaml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"source.yaml","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"source.yaml"}]}]},{"begin":"\\G(\\{)(?:__|[a-z\\s]*)(?i:tikz(?:|picture))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"text.tex.latex","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"include":"text.tex.latex"}]}]},{"begin":"\\G(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","patterns":[{"begin":"\\G","end":"(})\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\s*)","contentName":"meta.function.embedded.latex","end":"^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)})","name":"meta.embedded.block.generic.latex"}]}]},{"begin":"(?:^\\s*)?\\\\begin\\{(terminal\\*?)}(?=[\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\end\\{\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\s*(?=\\\\end\\{terminal\\*?})","name":"meta.embedded.block.generic.latex"}]}]},"hyperref-macro":{"patterns":[{"begin":"\\s*((\\\\)h(?:ref|yperref|yperimage))(?=[\\[{])","beginCaptures":{"1":{"name":"support.function.url.latex"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.hyperlink.latex","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=]))(\\{)([^}]*)(})(?:\\{[^}]*}){2}?(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"markup.underline.link.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]},{"begin":"(?:\\G|(?<=]))(?:(\\{)[^}]*(}))?(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]}]},{"captures":{"1":{"name":"support.function.url.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"markup.underline.link.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\s*((\\\\)(?:url|path))(\\{)([^}]*)(})","name":"meta.function.link.url.latex"}]},"inline-code-macro":{"patterns":[{"begin":"((\\\\)addplot)\\+?(\\[[^\\[]*])*\\s*(gnuplot)\\s*(\\[[^\\[]*])*\\s*(\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"variable.parameter.function.latex"},"5":{"patterns":[{"include":"#optional-arg-bracket"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"\\s*(};)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.latex"}},"end":"$\\n?","name":"comment.line.percentage.latex"},{"include":"source.gnuplot"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"markup.raw.verb.latex"},"8":{"name":"punctuation.definition.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"},"10":{"name":"markup.raw.verb.latex"},"11":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\)mint(?:|inline))((?:\\[[^\\[]*?])?)(\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\6)|(\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"markup.raw.verb.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"markup.raw.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\)[a-z]+inline)((?:\\[[^\\[]*?])?)(?:([^A-Za-{])(.*?)(\\4)|(\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.python","patterns":[{"include":"source.python"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.python","patterns":[{"include":"source.python"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\[[^\\[]*?])?)(?:([^](),;A-\\[a-{}\\s])(.*?)(\\4)|(\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\)j(?:l|ulia)[cv]?)((?:\\[[^\\[]*?])?)(?:([^A-Za-{])(.*?)(\\4)|(\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"begin":"((\\\\)(?:directlua|luadirect|luaexec))(\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"},{"include":"text.tex#braces"}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:asy(?:|mptote))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.asy","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.asy"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:bash)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.shell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.shell"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:c(?:|pp))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.cpp.embedded.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:css)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.css"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:gnuplot)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.gnuplot","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.gnuplot"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:h(?:s|askell))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.haskell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.haskell"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:html)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.html","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.html.basic"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:java)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.java","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.java"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:j(?:l|ulia))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.julia","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.julia"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:j(?:s|avascript))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.js"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:lua)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:py|python|sage)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.python","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.python"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:r(?:b|uby))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ruby"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:rust)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.rust","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.rust"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:t(?:s|ypescript))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ts"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:xml)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.xml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.xml"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:yaml)\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.yaml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.yaml"}]}]},{"begin":"((\\\\)cacheMeCode)(?=\\[(?i:tikz(?:|picture))\\b|\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.tex.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex.latex"}]}]},{"begin":"((\\\\)cacheMeCode)(?=[\\[{])","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.embedded.block.generic.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"}]}]}]},"inline-math":{"patterns":[{"begin":"\\\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\$(?!\\$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"end":"(?<!\\$)\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"input-macro":{"begin":"((\\\\)in(?:clude|put))(\\{)","beginCaptures":{"1":{"name":"keyword.control.include.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.include.latex","patterns":[{"include":"$self"}]},"label-macro":{"begin":"((\\\\)z?label)((?:\\[[^\\[]*?])*)(\\{)","beginCaptures":{"1":{"name":"keyword.control.label.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.definition.label.latex","patterns":[{"match":"[!*,-/:^_\\p{Alphabetic}\\p{N}]+","name":"variable.parameter.definition.label.latex"}]},"macro-with-args-tokenizer":{"captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.optional.begin.latex"},"7":{"patterns":[{"include":"$self"}]},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"},"10":{"name":"variable.parameter.function.latex"},"11":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\s*((\\\\)\\p{Alphabetic}+)(\\{)(\\\\?\\p{Alphabetic}+\\*?)(})(?:(\\[)([^]]*)(])){0,2}(?:(\\{)([^{}]*)(}))?"},"multiline-arg-no-highlight":{"begin":"\\G\\{","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"multiline-optional-arg":{"begin":"\\G\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg-no-highlight":{"begin":"(?:\\G|(?<=}))\\s*\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"newcommand-macro":{"begin":"((\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand)\\*?)(\\{)((\\\\)\\p{Alphabetic}+\\*?)(})(?:(\\[)[^]]*(])){0,2}(\\{)","beginCaptures":{"1":{"name":"storage.type.function.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.begin.latex"},"4":{"name":"support.function.general.latex"},"5":{"name":"punctuation.definition.function.latex"},"6":{"name":"punctuation.definition.end.latex"},"7":{"name":"punctuation.definition.arguments.optional.begin.latex"},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.newcommand.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#unbalanced-env"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"optional-arg-angle-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(<)[^<]*?(>)","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\[)([^\\[]*?)(])","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\[)[^\\[]*?(])","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\()([^(]*?)(\\))","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\()[^(]*?(\\))","name":"meta.parameter.optional.latex"}]},"references-macro":{"patterns":[{"begin":"((\\\\)\\w*[Rr]ef\\*?)(?:\\[[^]]*])?(\\{)","beginCaptures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.reference.label.latex","patterns":[{"match":"[!*,-/:^_\\p{Alphabetic}\\p{N}]+","name":"constant.other.reference.label.latex"}]},{"captures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.label.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.begin.latex"},"7":{"name":"constant.other.reference.label.latex"},"8":{"name":"punctuation.definition.arguments.end.latex"}},"match":"((\\\\)\\w*[Rr]efrange\\*?)(?:\\[[^]]*])?(\\{)([!*,-/:^_\\p{Alphabetic}\\p{N}]+)(})(\\{)([!*,-/:^_\\p{Alphabetic}\\p{N}]+)(})"},{"begin":"((\\\\)bibentry)(\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"match":"[.:\\p{Alphabetic}\\p{N}]+","name":"constant.other.reference.citation.latex"}]}]},"sections-macro":{"begin":"((\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\*?)((?:\\[[^\\[]*?]){0,2})(\\{)","beginCaptures":{"1":{"name":"support.function.section.latex"},"2":{"name":"punctuation.definition.function.latex"},"4":{"patterns":[{"include":"#optional-arg-bracket"}]},"5":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"entity.name.section.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.section.$3.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},"songs-chords":{"patterns":[{"begin":"\\\\\\[","end":"]","name":"meta.chord.block.latex support.class.chord.block.environment.latex","patterns":[{"include":"$self"}]},{"match":"\\^","name":"meta.chord.block.latex support.class.chord.block.environment.latex"},{"include":"$self"}]},"songs-env":{"patterns":[{"begin":"(\\s*\\\\begin\\{songs}\\{.*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.songs.latex","end":"(\\\\end\\{songs}(?:\\s*\\n)?)","name":"meta.function.environment.songs.latex","patterns":[{"include":"text.tex.latex#songs-chords"}]},{"begin":"\\s*((\\\\)beginsong)(?=\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"punctuation.definition.arguments.end.latex"}},"end":"((\\\\)endsong)(?:\\s*\\n)?","name":"meta.function.environment.song.latex","patterns":[{"include":"#multiline-arg-no-highlight"},{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\G|(?<=[]}]))\\s*","contentName":"meta.data.environment.song.latex","end":"\\s*(?=\\\\endsong)","patterns":[{"include":"text.tex.latex#songs-chords"}]}]}]},"text-font-macro":{"patterns":[{"begin":"((\\\\)emph)(\\{)","beginCaptures":{"1":{"name":"support.function.emph.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.emph.begin.latex"}},"contentName":"markup.italic.emph.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.emph.end.latex"}},"name":"meta.function.emph.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\)textit)(\\{)","captures":{"1":{"name":"support.function.textit.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textit.begin.latex"}},"contentName":"markup.italic.textit.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textit.end.latex"}},"name":"meta.function.textit.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\)textbf)(\\{)","captures":{"1":{"name":"support.function.textbf.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textbf.begin.latex"}},"contentName":"markup.bold.textbf.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textbf.end.latex"}},"name":"meta.function.textbf.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\)texttt)(\\{)","captures":{"1":{"name":"support.function.texttt.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.texttt.begin.latex"}},"contentName":"markup.raw.texttt.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.texttt.end.latex"}},"name":"meta.function.texttt.latex","patterns":[{"include":"#braces"},{"include":"$self"}]}]},"unbalanced-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\s*\\\\(?:begin|end)\\{(\\p{Alphabetic}+\\*?)})","name":"meta.function.environment.general.latex"}]},"verb-macro":{"patterns":[{"begin":"((\\\\)(?:[Vv]|spv)erb\\*?)\\s*((\\\\)scantokens)(\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"support.function.verb.latex"},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"punctuation.definition.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.end.latex"}},"name":"meta.function.verb.latex","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.verb.latex"},"4":{"name":"markup.raw.verb.latex"},"5":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\)(?:[Vv]|spv)erb\\*?)\\s*((?<=\\s)\\S|[^A-Za-z])(.*?)(\\3|$)","name":"meta.function.verb.latex"}]},"verbatim-env":{"patterns":[{"begin":"(\\s*\\\\begin\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\end\\{\\2})","name":"meta.function.verbatim.latex"},{"begin":"(\\s*\\\\begin\\{VerbatimOut}\\{[^}]*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\end\\{VerbatimOut})","name":"meta.function.verbatim.latex"},{"begin":"(\\s*\\\\begin\\{alltt})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\end\\{alltt})","name":"meta.function.alltt.latex","patterns":[{"captures":{"1":{"name":"punctuation.definition.function.latex"}},"match":"(\\\\)[A-Za-z]+","name":"support.function.general.latex"}]},{"begin":"(\\s*\\\\begin\\{([Cc]omment)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"comment.line.percentage.latex","end":"(\\\\end\\{\\2})","name":"meta.function.verbatim.latex"}]}},"scopeName":"text.tex.latex"},{"displayName":"Elixir","fileTypes":["ex","exs"],"firstLineMatch":"^#!/.*\\belixir","foldingStartMarker":"(after|else|catch|rescue|->|[\\[{]|do)\\s*$","foldingStopMarker":"^\\s*(([]}]|after|else|catch|rescue)\\s*$|end\\b)","name":"elixir","patterns":[{"begin":"\\b(fn)\\b(?!.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"$","patterns":[{"include":"#core_syntax"}]},{"captures":{"1":{"name":"entity.name.type.class.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"([A-Z]\\w+)\\s*(\\.)\\s*([_a-z]\\w*[!?]?)"},{"captures":{"1":{"name":"constant.other.symbol.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"(:\\w+)\\s*(\\.)\\s*(_?\\w*[!?]?)"},{"captures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"entity.name.function.elixir"}},"match":"(\\|>)\\s*([_a-z]\\w*[!?]?)"},{"match":"\\b[_a-z]\\w*[!?]?(?=\\s*\\.?\\s*\\()","name":"entity.name.function.elixir"},{"begin":"\\b(fn)\\b(?=.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]},{"include":"#core_syntax"},{"begin":"^(?=.*->)((?![^\"']*([\"'])[^\"']*->)|(?=.*->[^\"']*([\"'])[^\"']*->))((?!.*\\([^)]*->)|(?=[^()]*->)|(?=\\s*\\(.*\\).*->))((?!.*\\b(fn)\\b)|(?=.*->.*\\bfn\\b))","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]}],"repository":{"core_syntax":{"patterns":[{"begin":"^\\s*(defmodule)\\b","beginCaptures":{"1":{"name":"keyword.control.module.elixir"}},"end":"\\b(do)\\b","endCaptures":{"1":{"name":"keyword.control.module.elixir"}},"name":"meta.module.elixir","patterns":[{"match":"\\b[A-Z]\\w*(?=\\.)","name":"entity.other.inherited-class.elixir"},{"match":"\\b[A-Z]\\w*\\b","name":"entity.name.type.class.elixir"}]},{"begin":"^\\s*(defprotocol)\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\b(do)\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_declaration.elixir","patterns":[{"match":"\\b[A-Z]\\w*\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\s*(defimpl)\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\b(do)\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_implementation.elixir","patterns":[{"match":"\\b[A-Z]\\w*\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\s*(def(?:|macro|delegate|guard))\\s+((?>[A-Z_a-z]\\w*(?>\\.|::))?(?>[A-Z_a-z]\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\&/`|]|\\*\\*?|=?~|[-+]@?|\\[]=?))((\\()|\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.public.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\b(do:)|\\b(do)\\b|(?=\\s+(def(?:|n|macro|delegate|guard))\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.public.elixir","patterns":[{"include":"$self"},{"begin":"\\s(\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\b","name":"keyword.control.elixir"}]},{"begin":"^\\s*(def(?:|n|macro|guard)p)\\s+((?>[A-Z_a-z]\\w*(?>\\.|::))?(?>[A-Z_a-z]\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\&/`|]|\\*\\*?|=?~|[-+]@?|\\[]=?))((\\()|\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.private.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\b(do:)|\\b(do)\\b|(?=\\s+(def(?:p|macrop|guardp))\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.private.elixir","patterns":[{"include":"$self"},{"begin":"\\s(\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\b","name":"keyword.control.elixir"}]},{"begin":"\\s*~L\"\"\"","end":"\\s*\"\"\"","name":"sigil.leex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"\\s*~H\"\"\"","end":"\\s*\"\"\"","name":"sigil.heex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"@(module|type)?doc (~[a-z])?\"\"\"","end":"\\s*\"\"\"","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\"\"\"","end":"\\s*\"\"\"","name":"comment.block.documentation.heredoc"},{"begin":"@(module|type)?doc (~[a-z])?'''","end":"\\s*'''","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]'''","end":"\\s*'''","name":"comment.block.documentation.heredoc"},{"match":"@(module|type)?doc false","name":"comment.block.documentation.false"},{"begin":"@(module|type)?doc \"","end":"\"","name":"comment.block.documentation.string","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"match":"(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\\b(?![!:?])","name":"keyword.control.elixir"},{"match":"(?<!\\.)\\b(and|not|or|when|xor|in)\\b","name":"keyword.operator.elixir"},{"match":"\\b[A-Z]\\w*\\b","name":"entity.name.type.class.elixir"},{"match":"\\b(nil|true|false)\\b(?![!?])","name":"constant.language.elixir"},{"match":"\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\b(?![!?])","name":"variable.language.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(@)[A-Z_a-z]\\w*","name":"variable.other.readwrite.module.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(&)\\d+","name":"variable.other.anonymous.elixir"},{"match":"&(?!&)","name":"variable.other.anonymous.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"\\^[_a-z]\\w*","name":"variable.other.capture.elixir"},{"match":"\\b0x\\h(?>_?\\h)*\\b","name":"constant.numeric.hex.elixir"},{"match":"\\b\\d(?>_?\\d)*(\\.(?![^\\s\\d])(?>_?\\d)+)([Ee][-+]?\\d(?>_?\\d)*)?\\b","name":"constant.numeric.float.elixir"},{"match":"\\b\\d(?>_?\\d)*\\b","name":"constant.numeric.integer.elixir"},{"match":"\\b0b[01](?>_?[01])*\\b","name":"constant.numeric.binary.elixir"},{"match":"\\b0o[0-7](?>_?[0-7])*\\b","name":"constant.numeric.octal.elixir"},{"begin":":'","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"'","name":"constant.other.symbol.single-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":":\"","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\"","name":"constant.other.symbol.double-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\s*'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\s*\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\s*\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z](\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[A-Z]\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\s*\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.literal.elixir"},{"begin":"~[A-Z]\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z](\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?<!:)(:)(?>[A-Z_a-z][@\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\|>|=>|=~|[/=]|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|\\.\\.//|>=?|<=?|&&?&?|\\+\\+?|--?|\\|\\|?\\|?|[!@]|%?\\{}|%|\\[]|\\^(\\^\\^)?)","name":"constant.other.symbol.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?>[A-Z_a-z][@\\w]*[!?]?)(:)(?!:)","name":"constant.other.keywords.elixir"},{"begin":"(^[\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\n","name":"comment.line.section.elixir"}]},{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\n","name":"comment.line.number-sign.elixir"}]},{"match":"\\b_([^_]\\w+[!?]?)","name":"comment.unused.elixir"},{"match":"\\b_\\b","name":"comment.wildcard.elixir"},{"match":"(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^CMx])|[^\\\\\\s])","name":"constant.numeric.elixir"},{"match":"\\+\\+|--|<\\|>","name":"keyword.operator.concatenation.elixir"},{"match":"\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\|>","name":"keyword.operator.sigils_1.elixir"},{"match":"&&&?","name":"keyword.operator.sigils_2.elixir"},{"match":"<-|\\\\\\\\","name":"keyword.operator.sigils_3.elixir"},{"match":"===?|!==?|<=?|>=?","name":"keyword.operator.comparison.elixir"},{"match":"(\\|\\|\\||&&&|\\^\\^\\^|<<<|>>>|~~~)","name":"keyword.operator.bitwise.elixir"},{"match":"(?<=[\\t ])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b","name":"keyword.operator.logical.elixir"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.elixir"},{"match":"\\||\\+\\+|--|\\*\\*|\\\\\\\\|<-|<>|<<|>>|::|\\.\\.|//|\\|>|~|=>|&","name":"keyword.operator.other.elixir"},{"match":"=","name":"keyword.operator.assignment.elixir"},{"match":":","name":"punctuation.separator.other.elixir"},{"match":";","name":"punctuation.separator.statement.elixir"},{"match":",","name":"punctuation.separator.object.elixir"},{"match":"\\.","name":"punctuation.separator.method.elixir"},{"match":"[{}]","name":"punctuation.section.scope.elixir"},{"match":"[]\\[]","name":"punctuation.section.array.elixir"},{"match":"[()]","name":"punctuation.section.function.elixir"}]},"escaped_char":{"match":"\\\\(x[A-Fa-f\\d]{1,2}|.)","name":"constant.character.escaped.elixir"},"interpolated_elixir":{"begin":"#\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.elixir"}},"contentName":"source.elixir","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.elixir"}},"name":"meta.embedded.line.elixir","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\{","captures":{"0":{"name":"punctuation.section.scope.elixir"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}},"scopeName":"source.elixir"},{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\)([\"'\\\\bdefnrstv]|(\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\d]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][@-Z_a-z\\d]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][@-Z_a-z\\d]*+)\\s*+(\\))\\s*+(\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\$)((\\\\)([\"'\\\\bdefnrstv]|(\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\d]{2}))","name":"constant.character.erlang"},{"match":"\\$\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\$)[ \\S]","name":"constant.character.erlang"},{"match":"\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([@-Z_a-z\\d]++)\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\))\\s*+(\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[@-Z_a-z\\d]++\\s*+\\()","end":"(\\))\\s*+(\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([@-Z_a-z\\d]++)\\s*+(\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\))\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\|\\||[,.:;|]|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\s*+(-)\\s*+([a-z][@-Z_a-z\\d]*+)\\s*+(\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\)?)\\s*+(\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\s*+(-)\\s*+([a-z][@-Z_a-z\\d]*+)\\s*+(\\.)","name":"meta.directive.erlang"}]},"doc-directive":{"begin":"^\\s*+(-)\\s*+((module)?doc)\\s*(\\(\\s*)?(~[BSbs]?)?((\"{3,})\\s*)(\\S.*)?$","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"contentName":"meta.embedded.block.markdown","end":"^(\\s*(\\7))\\s*(\\)\\s*)?(\\.)","endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}},"name":"meta.directive.doc.erlang","patterns":[{"include":"text.html.markdown"}]},"docstring":{"begin":"(?<!\")((\"{3,})\\s*)(\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\s*(\\2))(?!\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"begin":"\\b(if)\\b","beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.if.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\b(case)\\b","beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.case.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\b(receive)\\b","beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.receive.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"captures":{"1":{"name":"keyword.control.fun.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"}},"match":"\\b(fun)\\s+((([a-z][@-Z_a-z\\d]*+)|(_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+))\\s*+(:)\\s*+)?(([a-z][@-Z_a-z\\d]*+|'[^']*+')|(_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+))\\s*(/)","name":"meta.expression.fun.implicit.erlang"},{"begin":"\\b(fun)\\s+(([a-z][@-Z_a-z\\d]*+)|(_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+))\\s*+(:)","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\b(fun)\\s+(?!\\()","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\b(fun)\\s*+(\\()(?=(\\s*+\\()|(\\)))","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"include":"#everything-else"}]},{"begin":"\\b(fun)\\b","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.fun.erlang","patterns":[{"begin":"(?=\\()","end":"(;)|(?=\\bend\\b)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},{"begin":"\\b(try)\\b","beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.try.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\b(begin)\\b","beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.begin.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\b(maybe)\\b","beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"end":"\\b(end)\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.maybe.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]}]},"function":{"begin":"^\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')\\s*+(?=\\()","beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"end":"(\\.)","endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}},"name":"meta.function.erlang","patterns":[{"captures":{"1":{"name":"entity.name.function.erlang"}},"match":"^\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')\\s*+(?=\\()"},{"begin":"(?=\\()","end":"(;)|(?=\\.)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},"function-call":{"begin":"(?=([a-z][@-Z_a-z\\d]*+|'[^']*+'|_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+)\\s*+(\\(|:\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+'|_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+)\\s*+\\())","end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"name":"meta.function-call.erlang","patterns":[{"begin":"((erlang)\\s*+(:)\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\s*+(\\()","beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"begin":"((([a-z][@-Z_a-z\\d]*+|'[^']*+')|(_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+))\\s*+(:)\\s*+)?(([a-z][@-Z_a-z\\d]*+|'[^']*+')|(_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+))\\s*+(\\()","beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]}]},"import-export-directive":{"patterns":[{"begin":"^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\))\\s*+(\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.import.erlang","patterns":[{"include":"#internal-function-list"}]},{"begin":"^\\s*+(-)\\s*+(export)\\s*+(\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\))\\s*+(\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.export.erlang","patterns":[{"include":"#internal-function-list"}]}]},"internal-expression-punctuation":{"captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}},"match":"(->)|(;)|(,)"},"internal-function-list":{"begin":"(\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][@-Z_a-z\\d]*+|'[^']*+')\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"[,;]","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][@-Z_a-z\\d]*+|'[^']*+')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\)([\"'\\\\bdefnrstv]|(\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\d]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"match":"(~)((-)?\\d++|(\\*))?((\\.)(\\d++|(\\*))?((\\.)((\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"match":"(~)(\\*)?(\\d++)?(t)?[-#acdflsu~]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=[,:]|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\d++)|(-)"}]},"keyword":{"match":"\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\b(false|true|undefined)\\b","name":"constant.language"},"list":{"begin":"(\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\|\\|??|,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([@-z\\d]++)\\s*+(\\))\\s*+(\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([@-z\\d]++)\\s*+(\\))\\s*+(\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([@-z\\d]++)\\s*+(\\))\\s*+(\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\?\\??)\\s*+([@-Z_a-z\\d]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][@-Z_a-z\\d]*+)\\s*+(\\))\\s*+(\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\d)","end":"(?!\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\d++(\\.)\\d++([Ee][-+]?\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([01]++_)*[01]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([012]++_)*[012]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\d++_)*\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([Aa\\d]++_)*[Aa\\d]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([ABab\\d]++_)*[ABab\\d]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([ABCabc\\d]++_)*[ABCabc\\d]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([A-Da-d\\d]++_)*[A-Da-d\\d]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([A-Ea-e\\d]++_)*[A-Ea-e\\d]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([A-Fa-f\\d]++_)*[A-Fa-f\\d]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([A-Ga-g\\d]++_)*[A-Ga-g\\d]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([A-Ha-h\\d]++_)*[A-Ha-h\\d]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([A-Ia-i\\d]++_)*[A-Ia-i\\d]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([A-Ja-j\\d]++_)*[A-Ja-j\\d]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([A-Ka-k\\d]++_)*[A-Ka-k\\d]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([A-La-l\\d]++_)*[A-La-l\\d]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([A-Ma-m\\d]++_)*[A-Ma-m\\d]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([A-Na-n\\d]++_)*[A-Na-n\\d]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([A-Oa-o\\d]++_)*[A-Oa-o\\d]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([A-Pa-p\\d]++_)*[A-Pa-p\\d]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([A-Qa-q\\d]++_)*[A-Qa-q\\d]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([A-Ra-r\\d]++_)*[A-Ra-r\\d]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([A-Sa-s\\d]++_)*[A-Sa-s\\d]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([A-Ta-t\\d]++_)*[A-Ta-t\\d]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([A-Ua-u\\d]++_)*[A-Ua-u\\d]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([A-Va-v\\d]++_)*[A-Va-v\\d]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([A-Wa-w\\d]++_)*[A-Wa-w\\d]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([A-Xa-x\\d]++_)*[A-Xa-x\\d]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([A-Ya-y\\d]++_)*[A-Ya-y\\d]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([A-Za-z\\d]++_)*[A-Za-z\\d]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\d++#([A-Za-z\\d]++_)*[A-Za-z\\d]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\d++_)*\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\))\\s*+(\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')","name":"meta.record-usage.erlang"},{"begin":"(#)\\s*+([a-z][@-Z_a-z\\d]*+|'[^']*+')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bs])((\"{3,})\\s*)(\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\s*(\\3))(?!\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-docstring-verbatim":{"begin":"(~[BS]?)((\"{3,})\\s*)(\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\s*(\\3))(?!\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)(\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])(\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-double-quote":{"begin":"(~[bs]?)(\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-parenthesis":{"begin":"(~[bs]?)(\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])(\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-character":{"begin":"(~[bs]?)([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-quote":{"begin":"(~[bs]?)(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-square-brackets":{"begin":"(~[bs]?)(\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])(\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"string":{"begin":"(\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\+\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[@-Z_a-z\\d]++|[A-Z][@-Z_a-z\\d]*+)|(_)"}},"scopeName":"source.erlang"},{"displayName":"Handlebars","name":"handlebars","patterns":[{"include":"#yfm"},{"include":"#extends"},{"include":"#block_comments"},{"include":"#comments"},{"include":"#block_helper"},{"include":"#end_block"},{"include":"#else_token"},{"include":"#partial_and_var"},{"include":"#inline_script"},{"include":"#html_tags"},{"include":"text.html.basic"}],"repository":{"block_comments":{"patterns":[{"begin":"\\{\\{!--","end":"--}}","name":"comment.block.handlebars","patterns":[{"match":"@\\w*","name":"keyword.annotation.handlebars"},{"include":"#comments"}]},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html"}},"end":"-{2,3}\\s*>","name":"comment.block.html","patterns":[{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html"}]}]},"block_helper":{"begin":"(\\{\\{)(~?#)([\\--9>A-Z_a-z]+)\\s?(@?[\\--9A-Z_a-z]+)*\\s?(@?[\\--9A-Z_a-z]+)*\\s?(@?[\\--9A-Z_a-z]+)*","beginCaptures":{"1":{"name":"support.constant.handlebars"},"2":{"name":"support.constant.handlebars keyword.control"},"3":{"name":"support.constant.handlebars keyword.control"},"4":{"name":"variable.parameter.handlebars"},"5":{"name":"support.constant.handlebars"},"6":{"name":"variable.parameter.handlebars"},"7":{"name":"support.constant.handlebars"}},"end":"(~?}})","endCaptures":{"1":{"name":"support.constant.handlebars"}},"name":"meta.function.block.start.handlebars","patterns":[{"include":"#string"},{"include":"#handlebars_attribute"}]},"comments":{"patterns":[{"begin":"\\{\\{!","end":"}}","name":"comment.block.handlebars","patterns":[{"match":"@\\w*","name":"keyword.annotation.handlebars"},{"include":"#comments"}]},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html"}},"end":"-{2,3}\\s*>","name":"comment.block.html","patterns":[{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html"}]}]},"else_token":{"begin":"(\\{\\{)(~?else)(@?\\s(if)\\s([()\\--9A-Z_a-z\\s]+))?","beginCaptures":{"1":{"name":"support.constant.handlebars"},"2":{"name":"support.constant.handlebars keyword.control"},"3":{"name":"support.constant.handlebars"},"4":{"name":"variable.parameter.handlebars"}},"end":"(~?}}}*)","endCaptures":{"1":{"name":"support.constant.handlebars"}},"name":"meta.function.inline.else.handlebars"},"end_block":{"begin":"(\\{\\{)(~?/)([\\--9A-Z_a-z]+)\\s*","beginCaptures":{"1":{"name":"support.constant.handlebars"},"2":{"name":"support.constant.handlebars keyword.control"},"3":{"name":"support.constant.handlebars keyword.control"}},"end":"(~?}})","endCaptures":{"1":{"name":"support.constant.handlebars"}},"name":"meta.function.block.end.handlebars","patterns":[]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.html"},{"match":"&","name":"invalid.illegal.bad-ampersand.html"}]},"escaped-double-quote":{"match":"\\\\\"","name":"constant.character.escape.js"},"escaped-single-quote":{"match":"\\\\'","name":"constant.character.escape.js"},"extends":{"patterns":[{"begin":"(\\{\\{!<)\\s([\\--9A-Z_a-z]+)","beginCaptures":{"1":{"name":"support.function.handlebars"},"2":{"name":"support.class.handlebars"}},"end":"(}})","endCaptures":{"1":{"name":"support.function.handlebars"}},"name":"meta.preprocessor.handlebars"}]},"handlebars_attribute":{"patterns":[{"include":"#handlebars_attribute_name"},{"include":"#handlebars_attribute_value"}]},"handlebars_attribute_name":{"begin":"\\b([-.0-9A-Z_a-z]+)\\b=","captures":{"1":{"name":"variable.parameter.handlebars"}},"end":"(?=[\"']?)","name":"entity.other.attribute-name.handlebars"},"handlebars_attribute_value":{"begin":"([\\--9A-Z_a-z]+)\\b","captures":{"1":{"name":"variable.parameter.handlebars"}},"end":"([\"']?)","name":"entity.other.attribute-value.handlebars","patterns":[{"include":"#string"}]},"html_tags":{"patterns":[{"begin":"(<)([-0-:A-Za-z]+)(?=[^>]*></\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"end":"(>(<)/)(\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(<\\?)(xml)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.xml.html"}},"end":"(\\?>)","name":"meta.tag.preprocessor.xml.html","patterns":[{"include":"#tag_generic_attribute"},{"include":"#string"}]},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html"}},"end":"--\\s*>","name":"comment.block.html","patterns":[{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html"}]},{"begin":"<!","captures":{"0":{"name":"punctuation.definition.tag.html"}},"end":">","name":"meta.tag.sgml.html","patterns":[{"begin":"(DOCTYPE|doctype)","captures":{"1":{"name":"entity.name.tag.doctype.html"}},"end":"(?=>)","name":"meta.tag.sgml.doctype.html","patterns":[{"match":"\"[^\">]*\"","name":"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{"begin":"\\[CDATA\\[","end":"]](?=>)","name":"constant.other.inline-data.html"},{"match":"(\\s*)(?!--|>)\\S(\\s*)","name":"invalid.illegal.bad-comments-or-CDATA.html"}]},{"begin":"(?:^\\s+)?(<)((?i:style))\\b(?![^>]*/>)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}},"end":"(</)((?i:style))(>)(?:\\s*\\n)?","name":"source.css.embedded.html","patterns":[{"include":"#tag-stuff"},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"}},"end":"(?=</(?i:style))","patterns":[{"include":"source.css"}]}]},{"begin":"(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}},"end":"(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?","endCaptures":{"2":{"name":"punctuation.definition.tag.html"}},"name":"source.js.embedded.html","patterns":[{"include":"#tag-stuff"},{"begin":"(?<!</(?:script|SCRIPT))(>)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}},"end":"(</)((?i:script))","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.js"}},"match":"(//).*?((?=</script)|$\\n?)","name":"comment.line.double-slash.js"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"\\*/|(?=</script)","name":"comment.block.js"},{"include":"source.js"}]}]},{"begin":"(</?)((?i:body|head|html))\\b","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.structure.any.html"}},"end":"(>)","name":"meta.tag.structure.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre))\\b","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.block.any.html"}},"end":"(>)","name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var))\\b","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"end":"((?: ?/)?>)","name":"meta.tag.inline.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)([-0-:A-Za-z]+)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"end":"(>)","name":"meta.tag.other.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)([-0-:A-Za-{}]+)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.tokenised.html"}},"end":"(>)","name":"meta.tag.tokenised.html","patterns":[{"include":"#tag-stuff"}]},{"include":"#entities"},{"match":"<>","name":"invalid.illegal.incomplete.html"},{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]},"inline_script":{"begin":"(?:^\\s+)?(<)((?i:script))\\b.*(type)=([\"'](?:text/x-handlebars-template|text/x-handlebars|text/template|x-tmpl-handlebars)[\"'])(?![^>]*/>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"},"3":{"name":"entity.other.attribute-name.html"},"4":{"name":"string.quoted.double.html"}},"end":"(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?","endCaptures":{"2":{"name":"punctuation.definition.tag.html"}},"name":"source.handlebars.embedded.html","patterns":[{"include":"#tag-stuff"},{"begin":"(?<!</(?:script|SCRIPT))(>)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}},"end":"(</)((?i:script))","patterns":[{"include":"#block_comments"},{"include":"#comments"},{"include":"#block_helper"},{"include":"#end_block"},{"include":"#else_token"},{"include":"#partial_and_var"},{"include":"#html_tags"},{"include":"text.html.basic"}]}]},"partial_and_var":{"begin":"(\\{\\{~?\\{*(>|!<)*)\\s*(@?[$\\--9A-Z_a-z]+)*","beginCaptures":{"1":{"name":"support.constant.handlebars"},"3":{"name":"variable.parameter.handlebars"}},"end":"(~?}}}*)","endCaptures":{"1":{"name":"support.constant.handlebars"}},"name":"meta.function.inline.other.handlebars","patterns":[{"include":"#string"},{"include":"#handlebars_attribute"}]},"string":{"patterns":[{"include":"#string-single-quoted"},{"include":"#string-double-quoted"}]},"string-double-quoted":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.handlebars","patterns":[{"include":"#escaped-double-quote"},{"include":"#block_comments"},{"include":"#comments"},{"include":"#block_helper"},{"include":"#else_token"},{"include":"#end_block"},{"include":"#partial_and_var"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.handlebars","patterns":[{"include":"#escaped-single-quote"},{"include":"#block_comments"},{"include":"#comments"},{"include":"#block_helper"},{"include":"#else_token"},{"include":"#end_block"},{"include":"#partial_and_var"}]},"tag-stuff":{"patterns":[{"include":"#tag_id_attribute"},{"include":"#tag_generic_attribute"},{"include":"#string"},{"include":"#block_comments"},{"include":"#comments"},{"include":"#block_helper"},{"include":"#end_block"},{"include":"#else_token"},{"include":"#partial_and_var"}]},"tag_generic_attribute":{"begin":"\\b([-0-9A-Z_a-z]+)\\b\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.generic.html"},"2":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[\"']?)","name":"entity.other.attribute-name.html","patterns":[{"include":"#string"}]},"tag_id_attribute":{"begin":"\\b(id)\\b\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[\"']?)","name":"meta.attribute-with-value.id.html","patterns":[{"include":"#string"}]},"yfm":{"patterns":[{"begin":"(?<!\\s)---\\n$","end":"^---\\s","name":"markup.raw.yaml.front-matter","patterns":[{"include":"source.yaml"}]}]}},"scopeName":"text.html.handlebars"},{"displayName":"Dart","name":"dart","patterns":[{"match":"^(#!.*)$","name":"meta.preprocessor.script.dart"},{"begin":"^\\w*\\b(augment\\s+library|library|import\\s+augment|import|part\\s+of|part|export)\\b","beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.dart"}},"name":"meta.declaration.dart","patterns":[{"include":"#strings"},{"include":"#comments"},{"match":"\\b(as|show|hide)\\b","name":"keyword.other.import.dart"},{"match":"\\b(if)\\b","name":"keyword.control.dart"}]},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"match":"@[A-Za-z]+","name":"storage.type.annotation.dart"}]},"class-identifier":{"patterns":[{"match":"(?<!\\$)\\b(bool|num|int|double|dynamic)\\b(?!\\$)","name":"support.class.dart"},{"match":"(?<!\\$)\\bvoid\\b(?!\\$)","name":"storage.type.primitive.dart"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\b","beginCaptures":{"1":{"name":"support.class.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"class-identifier-with-optional-factory-method":{"patterns":[{"captures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\$)\\b(bool|num|int|double|dynamic)\\b(?!\\$)\\s*(factory\\b)?"},{"captures":{"1":{"name":"storage.type.primitive.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\$)\\b(void)\\b(?!\\$)\\s*(factory\\b)?"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\b\\s*(factory\\b)?","beginCaptures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.dart"}},"match":"/\\*\\*/","name":"comment.block.empty.dart"},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"begin":"/\\*","end":"\\*/","name":"comment.block.dart","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"begin":"///","end":"^(?!\\s*///)","name":"comment.block.documentation.dart","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"begin":"/\\*\\*","end":"\\*/","name":"comment.block.documentation.dart","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"captures":{"1":{"name":"comment.line.double-slash.dart"}},"match":"((//).*)$"}]},"constants-and-special-vars":{"patterns":[{"match":"(?<!\\$)\\b(true|false|null)\\b(?!\\$)","name":"constant.language.dart"},{"match":"(?<!\\$)\\b(this|super|augmented)\\b(?!\\$)","name":"variable.language.dart"},{"match":"(?<!\\$)\\b((0([Xx])\\h[_\\h]*)|(([0-9][0-9_]*\\.?[0-9_]*)|(\\.[0-9][0-9_]*))(([Ee])([-+])?[0-9][0-9_]*)?)\\b(?!\\$)","name":"constant.numeric.dart"}]},"dartdoc":{"patterns":[{"captures":{"0":{"name":"variable.name.source.dart"}},"match":"(\\[.*?])"},{"begin":"^\\s*///\\s*(```)","end":"^(?:\\s*///\\s*(```)|(?!\\s*///))","patterns":[{"include":"#dartdoc-codeblock-triple"}]},{"begin":"^\\s*\\*\\s*(```)","end":"^(?:\\s*\\*\\s*(```)|(?=\\s*\\*/))","patterns":[{"include":"#dartdoc-codeblock-block"}]},{"match":"`[^\\n`]+`","name":"variable.other.source.dart"},{"captures":{"1":{"name":"variable.other.source.dart"}},"match":"(?:\\*|//)\\s{4,}(.*?)(?=($|\\*/))"}]},"dartdoc-codeblock-block":{"begin":"^\\s*\\*\\s*(?!(\\s*```|/))","contentName":"variable.other.source.dart","end":"\\n"},"dartdoc-codeblock-triple":{"begin":"^\\s*///\\s*(?!\\s*```)","contentName":"variable.other.source.dart","end":"\\n"},"expression":{"patterns":[{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#strings"},{"match":"[0-9A-Z_a-z]+","name":"variable.parameter.dart"},{"begin":"\\{","end":"}","patterns":[{"include":"#expression"}]}]},"function-identifier":{"patterns":[{"captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}},"match":"([$_]*[a-z][$0-9A-Z_a-z]*)(<(?:[$0-9<>?A-Z_a-z]|,\\s*|\\s+extends\\s+)+>)?[!?]?\\("},{"match":"(?<=\\.)new\\b","name":"entity.name.function.dart"}]},"keywords":{"patterns":[{"match":"(?<!\\$)\\bas\\b(?!\\$)","name":"keyword.cast.dart"},{"match":"(?<!\\$)\\b(try|on|catch|finally|throw|rethrow)\\b(?!\\$)","name":"keyword.control.catch-exception.dart"},{"match":"(?<!\\$)\\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\\b(?!\\$)","name":"keyword.control.dart"},{"match":"(?<!\\$)\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b(?!\\$)","name":"keyword.control.dart"},{"match":"(?<!\\$)\\bassert\\b(?!\\$)","name":"keyword.control.dart"},{"match":"(?<![$.])\\b(new)\\b(?!\\$)","name":"keyword.new.dart"},{"match":"(?<!\\$)\\b(return)\\b(?!\\$)","name":"keyword.control.return.dart"},{"match":"(?<!\\$)\\b(abstract|sealed|base|interface|class|enum|extends|extension\\s+type|extension|external|factory|implements|get(?![(<])|mixin|native|operator|set(?![(<])|typedef|with|covariant)\\b(?!\\$)","name":"keyword.declaration.dart"},{"match":"(?<!\\$)\\b(macro|augment|static|final|const|required|late)\\b(?!\\$)","name":"storage.modifier.dart"},{"match":"(?<!\\$)\\bvar\\b(?!\\$)","name":"storage.type.primitive.dart"}]},"operators":{"patterns":[{"match":"(?<!\\$)\\b(is!?)\\b(?!\\$)","name":"keyword.operator.dart"},{"match":"[:?]","name":"keyword.operator.ternary.dart"},{"match":"(<<|>>>?|[\\&^|~])","name":"keyword.operator.bitwise.dart"},{"match":"(([\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.dart"},{"match":"(=>)","name":"keyword.operator.closure.dart"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.dart"},{"match":"(([-%*+/~])=)","name":"keyword.operator.assignment.arithmetic.dart"},{"match":"(=)","name":"keyword.operator.assignment.dart"},{"match":"(--|\\+\\+)","name":"keyword.operator.increment-decrement.dart"},{"match":"([-*+/]|~/|%)","name":"keyword.operator.arithmetic.dart"},{"match":"(!|&&|\\|\\|)","name":"keyword.operator.logical.dart"}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.dart"},{"match":";","name":"punctuation.terminator.dart"},{"match":"\\.","name":"punctuation.dot.dart"}]},"string-interp":{"patterns":[{"captures":{"1":{"name":"variable.parameter.dart"}},"match":"\\$([0-9A-Z_a-z]+)","name":"meta.embedded.expression.dart"},{"begin":"\\$\\{","end":"}","name":"meta.embedded.expression.dart","patterns":[{"include":"#expression"}]},{"match":"\\\\.","name":"constant.character.escape.dart"}]},"strings":{"patterns":[{"begin":"(?<!r)\"\"\"","end":"\"\"\"(?!\")","name":"string.interpolated.triple.double.dart","patterns":[{"include":"#string-interp"}]},{"begin":"(?<!r)'''","end":"'''(?!')","name":"string.interpolated.triple.single.dart","patterns":[{"include":"#string-interp"}]},{"begin":"r\"\"\"","end":"\"\"\"(?!\")","name":"string.quoted.triple.double.dart"},{"begin":"r'''","end":"'''(?!')","name":"string.quoted.triple.single.dart"},{"begin":"(?<!\\|r)\"","end":"\"","name":"string.interpolated.double.dart","patterns":[{"match":"\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\"","end":"\"","name":"string.quoted.double.dart","patterns":[{"match":"\\n","name":"invalid.string.newline"}]},{"begin":"(?<!\\|r)'","end":"'","name":"string.interpolated.single.dart","patterns":[{"match":"\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r'","end":"'","name":"string.quoted.single.dart","patterns":[{"match":"\\n","name":"invalid.string.newline"}]}]},"type-args":{"begin":"(<)","beginCaptures":{"1":{"name":"other.source.dart"}},"end":"(>)","endCaptures":{"1":{"name":"other.source.dart"}},"patterns":[{"include":"#class-identifier"},{"match":","},{"match":"extends","name":"keyword.declaration.dart"},{"include":"#comments"}]}},"scopeName":"source.dart"},{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\b(static\\s+)?(abstract)\\s+(member)?(\\s+\\[<.*>])?\\s*([,.0-9_`[:alpha:]\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\s*(with)\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\??)([ '.0-9^_`[:alpha:]]+)\\s*(:)((?!with\\b)\\b([ '.0-9^_`\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\w modifier in order to check that the words isn't blacklisted","match":"(?!with|get|set\\b)\\s*(['.0-9^_`\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\b(fun)\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ '0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ '0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\s*\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"('\\\\?.')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\s*(\\*)+\\)\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\(\\*(?!\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\*+\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn't prematurely end the comment block.","match":"\\(\\*\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\()(\\*)+\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\))\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\^['.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\)\\s*(([ '.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\s*(\\^['.0-9_[:alpha:]]+)\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\b(and|when|or)\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(['.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\s*([ '.0-9?^_`[:alpha:]]+)(\\|\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\s*(\\()?\\s*([ '.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\*)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\)\\s*(([ '.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\*)(\\s*([ '.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\s*\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(->)\\s*([ '.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ '.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\s*(->)\\s*(?!with|get|set\\b)\\b(['.0-9^_`\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\??)([ '.0-9^_`[:alpha:]]+)\\s*(:)(\\s*([ '.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ '.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\(\\)","name":"keyword.symbol.fsharp"},{"match":"\\b-?[0-9][0-9_]*((\\.(?!\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\b(-?((0([Xx])\\h[_\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\b(true|false)\\b","name":"constant.language.boolean.fsharp"},{"match":"\\b(null|void)\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[<.*>])?\\s*(private|internal|public)?\\s+(\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\s]+|(?<=,)\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\s*((with(?: inline|))\\b|(=|\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\b(use!??|and!??)\\s+(\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\s]+|(?<=,)\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\s*\\b(([gs]et)\\s*(?=\\())(\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\s]+|(?<=,)\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\s*(=|\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\b(static val mutable|val mutable|val inline|val)(\\s+rec|mutable)?(\\s+\\[<.*>])?\\s*(private|internal|public)?\\s+(\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\s]+|(?<=,)\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\b(new)\\b\\s+(\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\b(of)\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(['.0-9<>^_`[:alpha:]]+|``[ '.0-9<>^_[:alpha:]]+``)\\s*(:)\\s*(['.0-9<>^_`[:alpha:]]+|``[ '.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ '.0-9^_[:alpha:]]+)``|['.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((['^])['.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((['^])['.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((['^])['.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ '.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\b)\\b(['.0-9^_`\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\b(private|public|internal)\\b","name":"storage.modifier"},{"match":"\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b","name":"keyword.fsharp"},{"match":"\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!')\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\|\\|\\||\\^\\^\\^|~~~|~\\+|~-|<<<|>>>|\\|>|:>|:\\?>|[]:;\\[]|<>|[=@]|\\|\\||&&|[%\\&_{|}]|\\.\\.|[!*-\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\))\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\^['.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\^['.0-9_[:alpha:]]+)"},{"match":"\\b(and|when|or)\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\??)(['.0-9^_`[:alpha:]]+|``[ ',.0-:^_`[:alpha:]]+``)\\s*(:?)(\\s*([ '.0-9<>?_`[:alpha:]]+))?(\\|\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\b(?:(namespace global)|(namespace|module)\\s*(public|internal|private|rec)?\\s+([`|[:alpha:]][ '.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\s?=|\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\.)([A-Z]['0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\b(open(?: type|))\\s+([`|[:alpha:]]['0-9_[:alpha:]]*)(?=(\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\.)(\\p{alpha}['0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\s*(module)\\s+([A-Z]['0-9_[:alpha:]]*)\\s*(=)\\s*([A-Z]['0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\.)([A-Z]['0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s\\p{alpha}+)|['.0-9<>^_`[:alpha:]]*)\\s*((?<!:):(?!:))\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ '0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ '0-9^_`[:alpha:]]+(=)([ '0-9^_`[:alpha:]]+)"},{"begin":"(\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ '0-9^_`[:alpha:]]+(=)([ '0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\b(type)\\s+(private|internal|public)?\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\s*((with)|((as)\\s+(['0-9[:alpha:]]+))|(=)|[\\n=]|(\\(\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(['.0-9^_[:alpha:]]+|``[ ',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((['^])``[ ,.0-:^_`[:alpha:]]+``|(['^])[.0-:^_`[:alpha:]]+)"},{"match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b","name":"keyword.fsharp"},{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\w modifier in order to check that the words isn't blacklisted","match":"(['.0-9^_`\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\s*(private|internal|public)"},{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\d+)?(([at])|(\\.\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\])(@\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\")(?!\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\"(\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\])(\"\"\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\"\"\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\])(\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\$[\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\([\"'\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\h{2})|(u\\h{4})|(U00(0\\h|10)\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\(([0-9]{1,3})|(x\\S{0,2})|(u\\S{0,4})|(U\\S{0,8})|\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\^['.0-9_[:alpha:]]+)"},{"match":"\\b(and|when|or)\\b","name":"keyword.fsharp"},{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\s*(['.0-9<>^_`[:alpha:]]+|``[ '.0-9<>^_[:alpha:]]+``)\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ '.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ '.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\(\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\??)(``[ ',.0-:^_`[:alpha:]]+``|(?!private|struct\\b)\\b[ '.0-9<>^_`\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp"},{"displayName":"C#","name":"csharp","patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"accessor-getter":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.getter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"include":"#accessor-getter-expression"},{"include":"#punctuation-semicolon"}]},"accessor-getter-expression":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.getter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"accessor-setter":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.setter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.setter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},{"include":"#punctuation-semicolon"}]},"anonymous-method-expression":{"patterns":[{"begin":"((?:\\b(?:async|static)\\b\\s*)*)(?:(@?[_[:alpha:]][_[:alnum:]]*)\\b|(\\()(?<tuple>(?:[^()]|\\(\\g<tuple>\\))*)(\\)))\\s*(=>)","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"entity.name.variable.parameter.cs"},"3":{"name":"punctuation.parenthesis.open.cs"},"4":{"patterns":[{"include":"#comment"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#implicit-anonymous-function-parameter"},{"include":"#default-argument"},{"include":"#punctuation-comma"}]},"5":{"name":"punctuation.parenthesis.close.cs"},"6":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"(?=\\{)","end":"(?=[),;}])","patterns":[{"include":"#block"},{"include":"#intrusive"}]},{"begin":"\\b(ref)\\b|(?=\\S)","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#expression"}]}]},{"begin":"((?:\\b(?:async|static)\\b\\s*)*)\\b(delegate)\\b\\s*","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"storage.type.delegate.cs"}},"end":"(?<=})|(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#punctuation-comma"}]},{"include":"#block"}]}]},"anonymous-object-creation-expression":{"begin":"\\b(new)\\b\\s*(?=\\{|//|/\\*|$)","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#initializer-expression"}]},"argument":{"patterns":[{"match":"\\b(ref|in)\\b","name":"storage.modifier.$1.cs"},{"begin":"\\b(out)\\b","beginCaptures":{"1":{"name":"storage.modifier.out.cs"}},"end":"(?=[]),])","patterns":[{"include":"#declaration-expression-local"},{"include":"#expression"}]},{"include":"#expression"}]},"argument-list":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#named-argument"},{"include":"#argument"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\b(new|stackalloc)\\b\\s*(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\*\\s*)*(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)?\\s*(?=\\[)","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=])","patterns":[{"include":"#bracketed-argument-list"}]},"as-expression":{"captures":{"1":{"name":"keyword.operator.expression.as.cs"},"2":{"patterns":[{"include":"#type"}]}},"match":"(?<!\\.)\\b(as)\\b\\s*(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?(?!\\?))?(?:\\s*\\[\\s*(?:,\\s*)*](?:\\s*\\?(?!\\?))?)*)?"},"assignment-expression":{"begin":"(?:[-%*+/]|\\?\\?|[\\&^]|<<|>>>?|\\|)?=(?![=>])","beginCaptures":{"0":{"patterns":[{"include":"#assignment-operators"}]}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"assignment-operators":{"patterns":[{"match":"(?:[-%*+/]|\\?\\?)=","name":"keyword.operator.assignment.compound.cs"},{"match":"(?:[\\&^]|<<|>>>?|\\|)=","name":"keyword.operator.assignment.compound.bitwise.cs"},{"match":"=","name":"keyword.operator.assignment.cs"}]},"attribute":{"patterns":[{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#attribute-arguments"}]},"attribute-arguments":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#attribute-named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"attribute-named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?==)","beginCaptures":{"1":{"name":"entity.name.variable.property.cs"}},"end":"(?=([),]))","patterns":[{"include":"#operator-assignment"},{"include":"#expression"}]},"attribute-section":{"begin":"(\\[)(assembly|module|field|event|method|param|property|return|typevar|type)?(:)?","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"},"2":{"name":"keyword.other.attribute-specifier.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute"},{"include":"#punctuation-comma"}]},"await-expression":{"match":"(?<!\\.\\s*)\\b(await)\\b","name":"keyword.operator.expression.await.cs"},"await-statement":{"begin":"(?<!\\.\\s*)\\b(await)\\b","beginCaptures":{"1":{"name":"keyword.operator.expression.await.cs"}},"end":"(?<=})|(?=[;}])","patterns":[{"include":"#foreach-statement"},{"include":"#using-statement"},{"include":"#expression"}]},"base-class-constructor-call":{"begin":"(?:(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.))*(@?[_[:alpha:]][_[:alnum:]]*)\\s*(<(?<type_args>[^()<>]|\\((?:[^()<>]|<[^()<>]*>|\\([^()<>]*\\))*\\)|<\\g<type_args>*>)*>\\s*)?(?=\\()","beginCaptures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"entity.name.type.cs"},"4":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\))","patterns":[{"include":"#argument-list"}]},"base-types":{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\{|where|;)","patterns":[{"include":"#base-class-constructor-call"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#preprocessor"}]},"block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?<!\\.)\\btrue\\b","name":"constant.language.boolean.true.cs"},{"match":"(?<!\\.)\\bfalse\\b","name":"constant.language.boolean.false.cs"}]},"bracketed-argument-list":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#named-argument"},{"include":"#argument"},{"include":"#punctuation-comma"}]},"bracketed-parameter-list":{"begin":"(?=(\\[))","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"}},"end":"(?=(]))","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"begin":"(?<=\\[)","end":"(?=])","patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]}]},"break-or-continue-statement":{"match":"(?<!\\.)\\b(break|continue)\\b","name":"keyword.control.flow.$1.cs"},"case-guard":{"patterns":[{"include":"#parenthesized-expression"},{"include":"#expression"}]},"cast-expression":{"captures":{"1":{"name":"punctuation.parenthesis.open.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"punctuation.parenthesis.close.cs"}},"match":"(\\()\\s*(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s*(\\))(?=\\s*-*!*@?[(_[:alnum:]])"},"casted-constant-pattern":{"begin":"(\\()([.:@_\\s[:alnum:]]+)(\\))(?=[-!+~\\s]*@?[\"'(_[:alnum:]]+)","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"},"2":{"patterns":[{"include":"#type-builtin"},{"include":"#type-name"}]},"3":{"name":"punctuation.parenthesis.close.cs"}},"end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#casted-constant-pattern"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#constant-pattern"}]},{"include":"#constant-pattern"},{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.constant.cs"}]},"catch-clause":{"begin":"(?<!\\.)\\b(catch)\\b","beginCaptures":{"1":{"name":"keyword.control.exception.catch.cs"}},"end":"(?<=})","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.local.cs"}},"match":"(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s*(?:(\\g<identifier>)\\b)?"}]},{"include":"#when-clause"},{"include":"#comment"},{"include":"#block"}]},"char-character-escape":{"match":"\\\\(x\\h{1,4}|u\\h{4}|.)","name":"constant.character.escape.cs"},"char-literal":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.char.begin.cs"}},"end":"(')|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.char.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#char-character-escape"}]},"class-declaration":{"begin":"(?=(\\brecord\\b\\s+)?\\bclass\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(\\b(record)\\b\\s+)?\\b(class)\\b\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\s*","beginCaptures":{"2":{"name":"storage.type.record.cs"},"3":{"name":"storage.type.class.cs"},"4":{"name":"entity.name.type.class.cs"}},"end":"(?=\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"class-or-struct-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#type-declarations"},{"include":"#constructor-declaration"},{"include":"#property-declaration"},{"include":"#fixed-size-buffer-declaration"},{"include":"#field-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#destructor-declaration"},{"include":"#operator-declaration"},{"include":"#conversion-operator-declaration"},{"include":"#method-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"combinator-pattern":{"match":"\\b(and|or|not)\\b","name":"keyword.operator.expression.pattern.combinator.$1.cs"},"comment":{"patterns":[{"begin":"(^\\s+)?(///)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.documentation.cs","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\s*)(///)(?!/)"},{"begin":"(^\\s+)?(/\\*\\*)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"end":"(^\\s+)?(\\*/)","name":"comment.block.documentation.cs","patterns":[{"begin":"\\G(?=(?~\\*/)$)","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\s*+)(\\*(?!/))?(?=(?~\\*/)$)","whileCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}}},{"include":"#xml-doc-comment"}]},{"begin":"(^\\s+)?(//).*$","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.line.double-slash.cs","while":"^(\\s*)(//).*$"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\*/","name":"comment.block.cs"}]},"conditional-operator":{"patterns":[{"match":"\\?(?!\\?|\\s*[.\\[])","name":"keyword.operator.conditional.question-mark.cs"},{"match":":","name":"keyword.operator.conditional.colon.cs"}]},"constant-pattern":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#string-literal"},{"include":"#raw-string-literal"},{"include":"#verbatim-string-literal"},{"include":"#type-operator-expression"},{"include":"#expression-operator-expression"},{"include":"#expression-operators"},{"include":"#casted-constant-pattern"}]},"constructor-declaration":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?=\\(|$)","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\{|=>)","patterns":[{"include":"#constructor-initializer"}]},{"include":"#parenthesized-parameter-list"},{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\b(base|this)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"variable.language.$1.cs"}},"end":"(?<=\\))","patterns":[{"include":"#argument-list"}]},"context-control-paren-statement":{"patterns":[{"include":"#fixed-statement"},{"include":"#lock-statement"},{"include":"#using-statement"}]},"context-control-statement":{"match":"\\b(checked|unchecked|unsafe)\\b(?!\\s*[(@_[:alpha:]])","name":"keyword.control.context.$1.cs"},"conversion-operator-declaration":{"begin":"\\b(?<explicit_or_implicit_keyword>(?:ex|im)plicit)\\s*\\b(?<operator_keyword>operator)\\s*(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s*(?=\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.explicit.cs"}},"match":"\\b(explicit)\\b"},{"captures":{"1":{"name":"storage.modifier.implicit.cs"}},"match":"\\b(implicit)\\b"}]},"2":{"name":"storage.type.operator.cs"},"3":{"patterns":[{"include":"#type"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"declaration-expression-local":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"match":"(?:\\b(var)\\b|(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*))\\s+(\\g<identifier>)\\b\\s*(?=[]),])"},"declaration-expression-tuple":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?:\\b(var)\\b|(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*))\\s+(\\g<identifier>)\\b\\s*(?=[),])"},"declarations":{"patterns":[{"include":"#namespace-declaration"},{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"default-argument":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[),])","patterns":[{"include":"#expression"}]},"default-literal-expression":{"captures":{"1":{"name":"keyword.operator.expression.default.cs"}},"match":"\\b(default)\\b"},"delegate-declaration":{"begin":"\\b(delegate)\\b\\s+(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+(\\g<identifier>)\\s*(<([^<>]+)>)?\\s*(?=\\()","beginCaptures":{"1":{"name":"storage.type.delegate.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.type.delegate.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"}]},"designation-pattern":{"patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#punctuation-comma"},{"include":"#designation-pattern"}]},{"include":"#simple-designation-pattern"}]},"destructor-declaration":{"begin":"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?=\\()","beginCaptures":{"1":{"name":"punctuation.tilde.cs"},"2":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"directives":{"patterns":[{"include":"#extern-alias-directive"},{"include":"#using-directive"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"discard-pattern":{"match":"_(?![_[:alnum:]])","name":"variable.language.discard.cs"},"do-statement":{"begin":"(?<!\\.)\\b(do)\\b","beginCaptures":{"1":{"name":"keyword.control.loop.do.cs"}},"end":"(?=[;}])","patterns":[{"include":"#statement"}]},"double-raw-interpolation":{"begin":"(?<=[^{][^{]|^)(\\{*)(\\{\\{)(?=[^{])","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"element-access-expression":{"begin":"(?:(?:(\\?)\\s*)?(\\.)\\s*|(->)\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\s*)?(?:(\\?)\\s*)?(?=\\[)","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"},"5":{"name":"keyword.operator.null-conditional.cs"}},"end":"(?<=])(?!\\s*\\[)","patterns":[{"include":"#bracketed-argument-list"}]},"else-part":{"begin":"(?<!\\.)\\b(else)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.else.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#statement"}]},"enum-declaration":{"begin":"(?=\\benum\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(?=enum)","end":"(?=\\{)|(?=;)","patterns":[{"include":"#comment"},{"captures":{"1":{"name":"storage.type.enum.cs"},"2":{"name":"entity.name.type.enum.cs"}},"match":"(enum)\\s+(@?[_[:alpha:]][_[:alnum:]]*)"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\{)","patterns":[{"include":"#type"}]}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#attribute-section"},{"include":"#punctuation-comma"},{"begin":"@?[_[:alpha:]][_[:alnum:]]*","beginCaptures":{"0":{"name":"entity.name.variable.enum-member.cs"}},"end":"(?=([,}]))","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]}]},{"include":"#preprocessor"},{"include":"#comment"}]},"event-accessors":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"begin":"\\b(add|remove)\\b\\s*(?=[;{]|=>|//|/\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"event-declaration":{"begin":"\\b(event)\\b\\s*(?<return_type>(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(\\g<identifier>)\\s*(?=[,;={]|//|/\\*|$)","beginCaptures":{"1":{"name":"storage.type.event.cs"},"2":{"patterns":[{"include":"#type"}]},"8":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"9":{"name":"entity.name.variable.event.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#event-accessors"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.event.cs"},{"include":"#punctuation-comma"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?<=,)|(?=;)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]}]},"explicit-anonymous-function-parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\b(ref|params|out|in)\\b\\s*)?(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args><(?:[^<>]|\\g<type_args>)*>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)*\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s*\\b(\\g<identifier>)\\b"},"expression":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-operator-expression"},{"include":"#type-operator-expression"},{"include":"#default-literal-expression"},{"include":"#throw-expression"},{"include":"#raw-interpolated-string"},{"include":"#interpolated-string"},{"include":"#verbatim-interpolated-string"},{"include":"#type-builtin"},{"include":"#language-variable"},{"include":"#switch-statement-or-expression"},{"include":"#with-expression"},{"include":"#conditional-operator"},{"include":"#assignment-expression"},{"include":"#expression-operators"},{"include":"#await-expression"},{"include":"#query-expression"},{"include":"#as-expression"},{"include":"#is-expression"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#anonymous-method-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#anonymous-object-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#tuple-deconstruction-assignment"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"expression-operator-expression":{"begin":"\\b(checked|unchecked|nameof)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"expression-operators":{"patterns":[{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.cs"},{"match":"[!=]=","name":"keyword.operator.comparison.cs"},{"match":"<=|>=|[<>]","name":"keyword.operator.relational.cs"},{"match":"!|&&|\\|\\|","name":"keyword.operator.logical.cs"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.cs"},{"match":"--","name":"keyword.operator.decrement.cs"},{"match":"\\+\\+","name":"keyword.operator.increment.cs"},{"match":"\\+|-(?!>)|[%*/]","name":"keyword.operator.arithmetic.cs"},{"match":"\\?\\?","name":"keyword.operator.null-coalescing.cs"},{"match":"\\.\\.","name":"keyword.operator.range.cs"}]},"extern-alias-directive":{"begin":"\\b(extern)\\s+(alias)\\b","beginCaptures":{"1":{"name":"keyword.other.directive.extern.cs"},"2":{"name":"keyword.other.directive.alias.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.alias.cs"}]},"field-declaration":{"begin":"(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+(\\g<identifier>)\\s*(?!=[=>])(?=[,;=]|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.field.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"finally-clause":{"begin":"(?<!\\.)\\b(finally)\\b","beginCaptures":{"1":{"name":"keyword.control.exception.finally.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#block"}]},"fixed-size-buffer-declaration":{"begin":"\\b(fixed)\\b\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*)\\s+(\\g<identifier>)\\s*(?=\\[)","beginCaptures":{"1":{"name":"storage.modifier.fixed.cs"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"include":"#bracketed-argument-list"},{"include":"#comment"}]},"fixed-statement":{"begin":"\\b(fixed)\\b","beginCaptures":{"1":{"name":"keyword.control.context.fixed.cs"}},"end":"(?<=\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"}]}]},"for-statement":{"begin":"\\b(for)\\b","beginCaptures":{"1":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=\\))|(?=[;}])","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"begin":"(?=[^);])","end":"(?=[);])","patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#tuple-deconstruction-assignment"},{"include":"#expression"}]},{"begin":"(?=;)","end":"(?=\\))","patterns":[{"include":"#intrusive"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]}]}]},"foreach-statement":{"begin":"\\b(foreach)\\b","beginCaptures":{"1":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"captures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.type.var.cs"},"3":{"patterns":[{"include":"#type"}]},"8":{"name":"entity.name.variable.local.cs"},"9":{"name":"keyword.control.loop.in.cs"}},"match":"(?:(?:\\b(ref)\\s+)?\\b(var)\\b|(?<type_name>(?:ref\\s+)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*))\\s+(\\g<identifier>)\\s+\\b(in)\\b"},{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\b(var)\\b\\s*)?(?<tuple>\\((?:[^()]|\\g<tuple>)+\\))\\s+\\b(in)\\b"},{"include":"#expression"}]}]},"generic-constraints":{"begin":"(where)\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)","beginCaptures":{"1":{"name":"storage.modifier.where.cs"},"2":{"name":"entity.name.type.type-parameter.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\{|where|;|=>)","patterns":[{"match":"\\bclass\\b","name":"storage.type.class.cs"},{"match":"\\bstruct\\b","name":"storage.type.struct.cs"},{"match":"\\bdefault\\b","name":"keyword.other.constraint.default.cs"},{"match":"\\bnotnull\\b","name":"keyword.other.constraint.notnull.cs"},{"match":"\\bunmanaged\\b","name":"keyword.other.constraint.unmanaged.cs"},{"captures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"name":"punctuation.parenthesis.open.cs"},"3":{"name":"punctuation.parenthesis.close.cs"}},"match":"(new)\\s*(\\()\\s*(\\))"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#generic-constraints"}]},"goto-statement":{"begin":"(?<!\\.)\\b(goto)\\b","beginCaptures":{"1":{"name":"keyword.control.flow.goto.cs"}},"end":"(?=[;}])","patterns":[{"begin":"\\b(case)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.case.cs"}},"end":"(?=[;}])","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"keyword.control.conditional.default.cs"}},"match":"\\b(default)\\b"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.label.cs"}]},"group-by":{"captures":{"1":{"name":"keyword.operator.expression.query.by.cs"}},"match":"\\b(by)\\b\\s*"},"group-clause":{"begin":"\\b(group)\\b\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.group.cs"}},"end":"(?=[);])","patterns":[{"include":"#group-by"},{"include":"#group-into"},{"include":"#query-body"},{"include":"#expression"}]},"group-into":{"captures":{"1":{"name":"keyword.operator.expression.query.into.cs"},"2":{"name":"entity.name.variable.range-variable.cs"}},"match":"\\b(into)\\b\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*"},"identifier":{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.readwrite.cs"},"if-statement":{"begin":"(?<!\\.)\\b(if)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"implicit-anonymous-function-parameter":{"match":"@?[_[:alpha:]][_[:alnum:]]*\\b","name":"entity.name.variable.parameter.cs"},"indexer-declaration":{"begin":"(?<return_type>(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(?<indexer_name>this)\\s*(?=\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"variable.language.this.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#bracketed-parameter-list"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"}]},"initializer-expression":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-declaration":{"begin":"(?=\\binterface\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(interface)\\b\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.interface.cs"},"2":{"name":"entity.name.type.interface.cs"}},"end":"(?=\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#interface-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"interface-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#property-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#method-declaration"},{"include":"#operator-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"interpolated-string":{"begin":"\\$\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"(\")|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#string-character-escape"},{"include":"#interpolation"}]},"interpolation":{"begin":"(?<=[^{]|^)((?:\\{\\{)*)(\\{)(?=[^{])","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"intrusive":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"}]},"invocation-expression":{"begin":"(?:(?:(\\?)\\s*)?(\\.)\\s*|(->)\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\s*(<(?<type_args>[^()<>]|\\((?:[^()<>]|<[^()<>]*>|\\([^()<>]*\\))*\\)|<\\g<type_args>*>)*>\\s*)?(?=\\()","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"entity.name.function.cs"},"5":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\))","patterns":[{"include":"#argument-list"}]},"is-expression":{"begin":"(?<!\\.)\\b(is)\\b","beginCaptures":{"1":{"name":"keyword.operator.expression.pattern.is.cs"}},"end":"(?=[]\\&),:;=?^|}]|!=)","patterns":[{"include":"#pattern"}]},"join-clause":{"begin":"\\b(join)\\b\\s*(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)?\\s+(\\g<identifier>)\\b\\s*\\b(in)\\b\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.join.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#join-on"},{"include":"#join-equals"},{"include":"#join-into"},{"include":"#query-body"},{"include":"#expression"}]},"join-equals":{"captures":{"1":{"name":"keyword.operator.expression.query.equals.cs"}},"match":"\\b(equals)\\b\\s*"},"join-into":{"captures":{"1":{"name":"keyword.operator.expression.query.into.cs"},"2":{"name":"entity.name.variable.range-variable.cs"}},"match":"\\b(into)\\b\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*"},"join-on":{"captures":{"1":{"name":"keyword.operator.expression.query.on.cs"}},"match":"\\b(on)\\b\\s*"},"labeled-statement":{"captures":{"1":{"name":"entity.name.label.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)"},"language-variable":{"patterns":[{"match":"\\b(base|this)\\b","name":"variable.language.$1.cs"},{"match":"\\b(value)\\b","name":"variable.other.$1.cs"}]},"let-clause":{"begin":"\\b(let)\\b\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.let.cs"},"2":{"name":"entity.name.variable.range-variable.cs"},"3":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"list-pattern":{"begin":"(?=\\[)","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#pattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=])","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#raw-string-literal"},{"include":"#string-literal"},{"include":"#verbatim-string-literal"},{"include":"#tuple-literal"}]},"local-constant-declaration":{"begin":"\\b(?<const_keyword>const)\\b\\s*(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+(\\g<identifier>)\\s*(?=[,;=])","beginCaptures":{"1":{"name":"storage.modifier.const.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"},{"include":"#local-function-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#local-tuple-declaration-deconstruction"}]},"local-function-declaration":{"begin":"\\b((?:(?:async|unsafe|static|extern)\\s+)*)(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?)?(?:\\s*\\[\\s*(?:,\\s*)*](?:\\s*\\?)?)*)\\s+(\\g<identifier>)\\s*(<[^<>]+>)?\\s*(?=\\()","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifier"}]},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.function.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"local-tuple-declaration-deconstruction":{"captures":{"1":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"match":"(?<tuple>\\((?:[^()]|\\g<tuple>)+\\))\\s*(?!=[=>])(?==)"},"local-tuple-var-deconstruction":{"begin":"\\b(var)\\b\\s*(?<tuple>\\((?:[^()]|\\g<tuple>)+\\))\\s*(?=[);=])","beginCaptures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"end":"(?=[);])","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},"local-variable-declaration":{"begin":"(?:(?:\\b(ref)\\s+(?:\\b(readonly)\\s+)?)?\\b(var)\\b|(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\*\\s*)*(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*))\\s+(\\g<identifier>)\\s*(?!=>)(?=[),;=])","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.modifier.readonly.cs"},"3":{"name":"storage.type.var.cs"},"4":{"patterns":[{"include":"#type"}]},"9":{"name":"entity.name.variable.local.cs"}},"end":"(?=[);}])","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"lock-statement":{"begin":"\\b(lock)\\b","beginCaptures":{"1":{"name":"keyword.control.context.lock.cs"}},"end":"(?<=\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#expression"}]}]},"member-access-expression":{"patterns":[{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"}},"match":"(?:(?:(\\?)\\s*)?(\\.)\\s*|(->)\\s*)(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?![(_[:alnum:]]|(\\?)?\\[|<)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"variable.other.object.cs"},"3":{"patterns":[{"include":"#type-arguments"}]}},"match":"(\\.)?\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?<type_params>\\s*<([^<>]|\\g<type_params>)+>\\s*)(?=(\\s*\\?)?\\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.object.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)(?=\\s*(?:(?:\\?\\s*)?\\.|->)\\s*@?[_[:alpha:]][_[:alnum:]]*)"}]},"method-declaration":{"begin":"(?<return_type>(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(\\g<identifier>)\\s*(<([^<>]+)>)?\\s*(?=\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.function.cs"},"9":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)","beginCaptures":{"1":{"name":"entity.name.variable.parameter.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"end":"(?=([]),]))","patterns":[{"include":"#argument"}]},"namespace-declaration":{"begin":"\\b(namespace)\\s+","beginCaptures":{"1":{"name":"storage.type.namespace.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.namespace.cs"},{"include":"#punctuation-accessor"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#declarations"},{"include":"#using-directive"},{"include":"#punctuation-semicolon"}]}]},"null-literal":{"match":"(?<!\\.)\\bnull\\b","name":"constant.language.null.cs"},"numeric-literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"$","patterns":[{"captures":{"2":{"name":"constant.numeric.decimal.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"3":{"name":"constant.numeric.other.separator.thousands.cs"},"4":{"name":"constant.numeric.other.separator.decimals.cs"},"5":{"name":"constant.numeric.decimal.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"6":{"name":"constant.numeric.other.separator.thousands.cs"},"8":{"name":"constant.numeric.other.exponent.cs"},"9":{"name":"keyword.operator.arithmetic.cs"},"10":{"name":"keyword.operator.arithmetic.cs"},"11":{"name":"constant.numeric.decimal.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"12":{"name":"constant.numeric.other.suffix.cs"}},"match":"\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)?((?<=[0-9])|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)?((?<!_)([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*))?([DFMdfm](?!\\w))?$"},{"captures":{"1":{"name":"constant.numeric.other.preffix.binary.cs"},"2":{"name":"constant.numeric.binary.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"3":{"name":"constant.numeric.other.separator.thousands.cs"},"4":{"name":"constant.numeric.other.suffix.cs"}},"match":"\\G(0[Bb])([01_](?:[01_]|((?<=\\h)_(?=\\h)))*)((?:(?:(?:(?:(?:[Uu]|[Uu]l)|[Uu]L)|l[Uu]?)|L[Uu]?)|[DFMdfm])(?!\\w))?$"},{"captures":{"1":{"name":"constant.numeric.other.preffix.hex.cs"},"2":{"name":"constant.numeric.hex.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"3":{"name":"constant.numeric.other.separator.thousands.cs"},"4":{"name":"constant.numeric.other.suffix.cs"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)_(?=\\h)))*)((?:(?:(?:(?:(?:[Uu]|[Uu]l)|[Uu]L)|l[Uu]?)|L[Uu]?)|[DFMdfm])(?!\\w))?$"},{"captures":{"2":{"name":"constant.numeric.decimal.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"3":{"name":"constant.numeric.other.separator.thousands.cs"},"5":{"name":"constant.numeric.other.exponent.cs"},"6":{"name":"keyword.operator.arithmetic.cs"},"7":{"name":"keyword.operator.arithmetic.cs"},"8":{"name":"constant.numeric.decimal.cs","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"constant.numeric.other.separator.thousands.cs"}]},"9":{"name":"constant.numeric.other.suffix.cs"}},"match":"\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)((?<!_)([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]l)|[Uu]L)|l[Uu]?)|L[Uu]?)|[DFMdfm])(?!\\w))?$"},{"match":"(?:[0-9A-Z_a-z]|(?<=[Ee])[-+]|\\.\\d)+","name":"invalid.illegal.constant.numeric.cs"}]}]}},"match":"(?<!\\w)\\.?\\d(?:[0-9A-Z_a-z]|(?<=[Ee])[-+]|\\.\\d)*"},"object-creation-expression":{"patterns":[{"include":"#object-creation-expression-with-parameters"},{"include":"#object-creation-expression-with-no-parameters"}]},"object-creation-expression-with-no-parameters":{"captures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"patterns":[{"include":"#type"}]}},"match":"(new)\\s+(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s*(?=\\{|//|/\\*|$)"},"object-creation-expression-with-parameters":{"begin":"(new)(?:\\s+(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*))?\\s*(?=\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=\\))","patterns":[{"include":"#argument-list"}]},"operator-assignment":{"match":"(?<![!=])(=)(?!=)","name":"keyword.operator.assignment.cs"},"operator-declaration":{"begin":"(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s*\\b(?<operator_keyword>operator)\\b\\s*(?<operator>[-!%\\&*+/<=>^|~]+|true|false)\\s*(?=\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"storage.type.operator.cs"},"7":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"orderby-clause":{"begin":"\\b(orderby)\\b\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.orderby.cs"}},"end":"(?=[);])","patterns":[{"include":"#ordering-direction"},{"include":"#query-body"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"ordering-direction":{"captures":{"1":{"name":"keyword.operator.expression.query.$1.cs"}},"match":"\\b((?:a|de)scending)\\b"},"parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\b(ref|params|out|in|this)\\b\\s+)?(?<type_name>(?:ref\\s+)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+(\\g<identifier>)"},"parenthesized-expression":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"parenthesized-parameter-list":{"begin":"(\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]},"pattern":{"patterns":[{"include":"#intrusive"},{"include":"#combinator-pattern"},{"include":"#discard-pattern"},{"include":"#constant-pattern"},{"include":"#relational-pattern"},{"include":"#var-pattern"},{"include":"#type-pattern"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#list-pattern"},{"include":"#slice-pattern"}]},"positional-pattern":{"begin":"(?=\\()","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=\\))","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"preprocessor":{"begin":"^\\s*(#)\\s*","beginCaptures":{"1":{"name":"punctuation.separator.hash.cs"}},"end":"(?<=$)","name":"meta.preprocessor.cs","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-define-or-undef"},{"include":"#preprocessor-if-or-elif"},{"include":"#preprocessor-else-or-endif"},{"include":"#preprocessor-warning-or-error"},{"include":"#preprocessor-region"},{"include":"#preprocessor-endregion"},{"include":"#preprocessor-load"},{"include":"#preprocessor-r"},{"include":"#preprocessor-line"},{"include":"#preprocessor-pragma-warning"},{"include":"#preprocessor-pragma-checksum"},{"include":"#preprocessor-app-directive"}]},"preprocessor-app-directive":{"begin":"\\s*(:)\\s*","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-app-directive-package"},{"include":"#preprocessor-app-directive-property"},{"include":"#preprocessor-app-directive-exclude"},{"include":"#preprocessor-app-directive-include"},{"include":"#preprocessor-app-directive-project"},{"include":"#preprocessor-app-directive-sdk"},{"include":"#preprocessor-app-directive-generic"}]},"preprocessor-app-directive-exclude":{"captures":{"1":{"name":"keyword.preprocessor.exclude.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(exclude)\\b\\s*(.*)?\\s*"},"preprocessor-app-directive-generic":{"captures":{"1":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(.*)?\\s*"},"preprocessor-app-directive-include":{"captures":{"1":{"name":"keyword.preprocessor.include.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(include)\\b\\s*(.*)?\\s*"},"preprocessor-app-directive-package":{"captures":{"1":{"name":"keyword.preprocessor.package.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(package)\\b\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\s*"},"preprocessor-app-directive-package-name":{"patterns":[{"captures":{"1":{"name":"punctuation.dot.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"(\\.)([_[:alpha:]][_[:alnum:]]*)"},{"match":"[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.preprocessor.symbol.cs"}]},"preprocessor-app-directive-project":{"captures":{"1":{"name":"keyword.preprocessor.project.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(project)\\b\\s*(.*)?\\s*"},"preprocessor-app-directive-property":{"captures":{"1":{"name":"keyword.preprocessor.property.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"},"3":{"name":"punctuation.separator.equals.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(property)\\b\\s*([_[:alpha:]][_[:alnum:]]*)?(=)?(.*)?\\s*"},"preprocessor-app-directive-sdk":{"captures":{"1":{"name":"keyword.preprocessor.sdk.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(sdk)\\b\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\s*"},"preprocessor-comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.cs"}},"match":"(//).*(?=$)","name":"comment.line.double-slash.cs"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\*/","name":"comment.block.cs"}]},"preprocessor-define-or-undef":{"captures":{"1":{"name":"keyword.preprocessor.define.cs"},"2":{"name":"keyword.preprocessor.undef.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\b(?:(define)|(undef))\\b\\s*\\b([_[:alpha:]][_[:alnum:]]*)\\b"},"preprocessor-else-or-endif":{"captures":{"1":{"name":"keyword.preprocessor.else.cs"},"2":{"name":"keyword.preprocessor.endif.cs"}},"match":"\\b(?:(else)|(endif))\\b"},"preprocessor-endregion":{"captures":{"1":{"name":"keyword.preprocessor.endregion.cs"}},"match":"\\b(endregion)\\b"},"preprocessor-expression":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#preprocessor-expression"}]},{"captures":{"1":{"name":"constant.language.boolean.true.cs"},"2":{"name":"constant.language.boolean.false.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\b"},{"captures":{"1":{"name":"keyword.operator.comparison.cs"},"2":{"name":"keyword.operator.logical.cs"}},"match":"([!=]=)|(!|&&|\\|\\|)"}]},"preprocessor-if-or-elif":{"begin":"\\b(?:(if)|(elif))\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.if.cs"},"2":{"name":"keyword.preprocessor.elif.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-expression"}]},"preprocessor-line":{"begin":"\\b(line)\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.line.cs"}},"end":"(?=$)","patterns":[{"captures":{"1":{"name":"keyword.preprocessor.default.cs"},"2":{"name":"keyword.preprocessor.hidden.cs"}},"match":"\\b(default|hidden)"},{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\"[^\"]*\""}]},"preprocessor-load":{"begin":"\\b(load)\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.load.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\"[^\"]*\""}]},"preprocessor-pragma-checksum":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.checksum.cs"},"3":{"name":"string.quoted.double.cs"},"4":{"name":"string.quoted.double.cs"},"5":{"name":"string.quoted.double.cs"}},"match":"\\b(pragma)\\b\\s*\\b(checksum)\\b\\s*(\"[^\"]*\")\\s*(\"[^\"]*\")\\s*(\"[^\"]*\")"},"preprocessor-pragma-warning":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.warning.cs"},"3":{"name":"keyword.preprocessor.disable.cs"},"4":{"name":"keyword.preprocessor.restore.cs"},"5":{"patterns":[{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"include":"#punctuation-comma"}]}},"match":"\\b(pragma)\\b\\s*\\b(warning)\\b\\s*\\b(?:(disable)|(restore))\\b(\\s*[0-9]+(?:\\s*,\\s*[0-9]+)?)?"},"preprocessor-r":{"begin":"\\b(r)\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.r.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\"[^\"]*\""}]},"preprocessor-region":{"captures":{"1":{"name":"keyword.preprocessor.region.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(region)\\b\\s*(.*)(?=$)"},"preprocessor-warning-or-error":{"captures":{"1":{"name":"keyword.preprocessor.warning.cs"},"2":{"name":"keyword.preprocessor.error.cs"},"3":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\b(?:(warning)|(error))\\b\\s*(.*)(?=$)"},"property-accessors":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"match":"\\b(private|protected|internal)\\b","name":"storage.modifier.$1.cs"},{"begin":"(?:\\b(readonly)\\s+)?\\b(get)\\b\\s*(?=[;{]|=>|//|/\\*|$)","beginCaptures":{"1":{"name":"storage.modifier.readonly.cs"},"2":{"name":"storage.type.accessor.get.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-getter"}]},{"begin":"\\b(set|init)\\b\\s*(?=[;{]|=>|//|/\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"property-declaration":{"begin":"(?![[:word:]\\s]*\\b(?:class|interface|struct|enum|event)\\b)(?<return_type>(?<type_name>(?:ref\\s+(?:readonly\\s+)?)?(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)\\s+)(?<interface_name>\\g<type_name>\\s*\\.\\s*)?(?<property_name>\\g<identifier>)\\s*(?=\\{|=>|//|/\\*|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.variable.property.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"property-pattern":{"begin":"(?=\\{)","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=})","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"punctuation-accessor":{"match":"\\.","name":"punctuation.accessor.cs"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.cs"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.cs"},"query-body":{"patterns":[{"include":"#let-clause"},{"include":"#where-clause"},{"include":"#join-clause"},{"include":"#orderby-clause"},{"include":"#select-clause"},{"include":"#group-clause"}]},"query-expression":{"begin":"\\b(from)\\b\\s*(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)?\\s+(\\g<identifier>)\\b\\s*\\b(in)\\b\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.from.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"raw-interpolated-string":{"patterns":[{"include":"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation"},{"include":"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-double-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-single-interpolation"},{"include":"#raw-interpolated-string-triple-quote-double-interpolation"},{"include":"#raw-interpolated-string-triple-quote-single-interpolation"}]},"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation":{"begin":"\\$+\"\"\"\"\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"\"\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-quadruple-quote-double-interpolation":{"begin":"\\$\\$\"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-quadruple-quote-single-interpolation":{"begin":"\\$\"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation":{"begin":"\\$\\$\\$+\"\"\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-triple-quote-double-interpolation":{"begin":"\\$\\$\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-triple-quote-single-interpolation":{"begin":"\\$\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolation":{"begin":"(?<=[^{]|^)(\\{*)(\\{)(?=[^{])","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"raw-string-literal":{"patterns":[{"include":"#raw-string-literal-more"},{"include":"#raw-string-literal-quadruple"},{"include":"#raw-string-literal-triple"}]},"raw-string-literal-more":{"begin":"\"\"\"\"\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"\"\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-quadruple":{"begin":"\"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-triple":{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"readonly-modifier":{"match":"\\breadonly\\b","name":"storage.modifier.readonly.cs"},"record-declaration":{"begin":"(?=\\brecord\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(record)\\b\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.record.cs"},"2":{"name":"entity.name.type.class.cs"}},"end":"(?=\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"ref-modifier":{"match":"\\bref\\b","name":"storage.modifier.ref.cs"},"relational-pattern":{"begin":"<=?|>=?","beginCaptures":{"0":{"name":"keyword.operator.relational.cs"}},"end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#expression"}]},"return-statement":{"begin":"(?<!\\.)\\b(return)\\b","beginCaptures":{"1":{"name":"keyword.control.flow.return.cs"}},"end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"script-top-level":{"patterns":[{"include":"#statement"},{"include":"#method-declaration"},{"include":"#punctuation-semicolon"}]},"select-clause":{"begin":"\\b(select)\\b\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.select.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"simple-designation-pattern":{"patterns":[{"include":"#discard-pattern"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"}]},"slice-pattern":{"match":"\\.\\.","name":"keyword.operator.range.cs"},"statement":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#while-statement"},{"include":"#do-statement"},{"include":"#for-statement"},{"include":"#foreach-statement"},{"include":"#if-statement"},{"include":"#else-part"},{"include":"#goto-statement"},{"include":"#return-statement"},{"include":"#break-or-continue-statement"},{"include":"#throw-statement"},{"include":"#yield-statement"},{"include":"#await-statement"},{"include":"#try-statement"},{"include":"#expression-operator-expression"},{"include":"#context-control-statement"},{"include":"#context-control-paren-statement"},{"include":"#labeled-statement"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#anonymous-object-creation-expression"},{"include":"#local-declaration"},{"include":"#block"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"storage-modifier":{"match":"(?<!\\.)\\b(new|public|protected|internal|private|abstract|virtual|override|sealed|static|partial|readonly|volatile|const|extern|async|unsafe|ref|required|file)\\b","name":"storage.modifier.$1.cs"},"string-character-escape":{"match":"\\\\(x\\h{1,4}|U\\h{8}|u\\h{4}|.)","name":"constant.character.escape.cs"},"string-literal":{"begin":"(?<!@)\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"(\")|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#string-character-escape"}]},"struct-declaration":{"begin":"(?=(\\brecord\\b\\s+)?\\bstruct\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(\\b(record)\\b\\s+)?(struct)\\b\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"2":{"name":"storage.type.record.cs"},"3":{"name":"storage.type.struct.cs"},"4":{"name":"entity.name.type.struct.cs"}},"end":"(?=\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"subpattern":{"patterns":[{"captures":{"1":{"patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.object.property.cs"},{"include":"#punctuation-accessor"}]},"2":{"name":"punctuation.separator.colon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*(?:\\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*)*)\\s*(:)"},{"include":"#pattern"}]},"switch-expression":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#punctuation-comma"},{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},{"begin":"\\b(when)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?==>|[,}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\s)","end":"(?=\\bwhen\\b|=>|[,}])","patterns":[{"include":"#pattern"}]}]},"switch-label":{"begin":"\\b(case|default)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.$1.cs"}},"end":"(:)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"patterns":[{"begin":"\\b(when)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?=[:}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\s)","end":"(?=\\bwhen\\b|[:}])","patterns":[{"include":"#pattern"}]}]},"switch-statement":{"patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#switch-label"},{"include":"#statement"}]}]},"switch-statement-or-expression":{"begin":"(?<!\\.)\\b(switch)\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.switch.cs"}},"end":"(?<=})|(?=})","patterns":[{"include":"#intrusive"},{"begin":"(?=\\()","end":"(?<=})|(?=})","patterns":[{"include":"#switch-statement"}]},{"begin":"(?=\\{)","end":"(?<=})|(?=})","patterns":[{"include":"#switch-expression"}]}]},"throw-expression":{"captures":{"1":{"name":"keyword.control.flow.throw.cs"}},"match":"\\b(throw)\\b"},"throw-statement":{"begin":"(?<!\\.)\\b(throw)\\b","beginCaptures":{"1":{"name":"keyword.control.flow.throw.cs"}},"end":"(?=[;}])","patterns":[{"include":"#expression"}]},"try-block":{"begin":"(?<!\\.)\\b(try)\\b","beginCaptures":{"1":{"name":"keyword.control.exception.try.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#block"}]},"try-statement":{"patterns":[{"include":"#try-block"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"tuple-declaration-deconstruction-element-list":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-declaration-deconstruction-element-list"},{"include":"#declaration-expression-tuple"},{"include":"#punctuation-comma"},{"captures":{"1":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*(?=[),])"}]},"tuple-deconstruction-assignment":{"captures":{"1":{"patterns":[{"include":"#tuple-deconstruction-element-list"}]}},"match":"(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\))\\s*(?!=[=>])(?==)"},"tuple-deconstruction-element-list":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-deconstruction-element-list"},{"include":"#declaration-expression-tuple"},{"include":"#punctuation-comma"},{"captures":{"1":{"name":"variable.other.readwrite.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*(?=[),])"}]},"tuple-element":{"captures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?<type_name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*::\\s*)?(?<name_and_type_args>\\g<identifier>\\s*(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?)(?:\\s*\\.\\s*\\g<name_and_type_args>)*|(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\)))(?:\\s*\\?\\s*)?(?:\\s*\\[(?:\\s*,\\s*)*]\\s*\\??\\s*)*)(?:(?<tuple_name>\\g<identifier>)\\b)?"},"tuple-literal":{"begin":"(\\()(?=.*[,:])","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-literal-element"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"tuple-literal-element":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?=:)","beginCaptures":{"1":{"name":"entity.name.variable.tuple-element.cs"}},"end":"(:)","endCaptures":{"0":{"name":"punctuation.separator.colon.cs"}}},"tuple-type":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#tuple-element"},{"include":"#punctuation-comma"}]},"type":{"patterns":[{"include":"#comment"},{"include":"#ref-modifier"},{"include":"#readonly-modifier"},{"include":"#tuple-type"},{"include":"#type-builtin"},{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"include":"#type-nullable-suffix"},{"include":"#type-pointer-suffix"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"include":"#type"},{"include":"#punctuation-comma"}]},"type-array-suffix":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#punctuation-comma"}]},"type-builtin":{"captures":{"1":{"name":"keyword.type.$1.cs"}},"match":"\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\b"},"type-declarations":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#class-declaration"},{"include":"#delegate-declaration"},{"include":"#enum-declaration"},{"include":"#interface-declaration"},{"include":"#struct-declaration"},{"include":"#record-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"type-name":{"patterns":[{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"entity.name.type.cs"}},"match":"(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},"type-nullable-suffix":{"match":"\\?","name":"punctuation.separator.question-mark.cs"},"type-operator-expression":{"begin":"\\b(default|sizeof|typeof)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#type"}]},"type-parameter-list":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"match":"\\b(in|out)\\b","name":"storage.modifier.$1.cs"},{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b","name":"entity.name.type.type-parameter.cs"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#attribute-section"}]},"type-pattern":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"begin":"\\G","end":"(?!\\G[@_[:alpha:]])(?=[]\\&(),:;=@^_{|}[:alpha:]]|(?:\\s|^)\\?|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"include":"#type-subpattern"}]},{"begin":"(?=[(@_{[:alpha:]])","end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"type-pointer-suffix":{"match":"\\*","name":"punctuation.separator.asterisk.cs"},"type-subpattern":{"patterns":[{"include":"#type-builtin"},{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(::)","beginCaptures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\&(),.:-=?\\[^{|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"},{"begin":"\\.","beginCaptures":{"0":{"name":"punctuation.accessor.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\&(),:-=?\\[^{|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"match":"(?<!\\s)\\?","name":"punctuation.separator.question-mark.cs"}]},"using-directive":{"patterns":[{"begin":"\\b(?:(global)\\s+)?(using)\\s+(static)\\b\\s*(?:(unsafe)\\b\\s*)?","beginCaptures":{"1":{"name":"keyword.other.directive.global.cs"},"2":{"name":"keyword.other.directive.using.cs"},"3":{"name":"keyword.other.directive.static.cs"},"4":{"name":"storage.modifier.unsafe.cs"}},"end":"(?=;)","patterns":[{"include":"#type"}]},{"begin":"\\b(?:(global)\\s+)?(using)\\b\\s*(?:(unsafe)\\b\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\s*(=)","beginCaptures":{"1":{"name":"keyword.other.directive.global.cs"},"2":{"name":"keyword.other.directive.using.cs"},"3":{"name":"storage.modifier.unsafe.cs"},"4":{"name":"entity.name.type.alias.cs"},"5":{"name":"keyword.operator.assignment.cs"}},"end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#type"}]},{"begin":"\\b(?:(global)\\s+)?(using)\\b\\s*+(?!\\(|var\\b)","beginCaptures":{"1":{"name":"keyword.other.directive.global.cs"},"2":{"name":"keyword.other.directive.using.cs"}},"end":"(?=;)","patterns":[{"include":"#comment"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.namespace.cs"},{"include":"#punctuation-accessor"},{"include":"#operator-assignment"}]}]},"using-statement":{"begin":"\\b(using)\\b","beginCaptures":{"1":{"name":"keyword.control.context.using.cs"}},"end":"(?<=\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#await-expression"},{"include":"#local-variable-declaration"},{"include":"#expression"}]},{"include":"#local-variable-declaration"}]},"var-pattern":{"begin":"\\b(var)\\b","beginCaptures":{"1":{"name":"storage.type.var.cs"}},"end":"(?=[]\\&),:;=?^|}]|!=|\\b(and|or|when)\\b)","patterns":[{"include":"#designation-pattern"}]},"variable-initializer":{"begin":"(?<![!=])(=)(?![=>])","beginCaptures":{"1":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"verbatim-interpolated-string":{"begin":"(?:\\$@|@\\$)\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"(?=[^\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"},{"include":"#interpolation"}]},"verbatim-string-character-escape":{"match":"\"\"","name":"constant.character.escape.cs"},"verbatim-string-literal":{"begin":"@\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"(?=[^\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"}]},"when-clause":{"begin":"(?<!\\.)\\b(when)\\b\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.exception.when.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"},{"include":"#comment"}]},"where-clause":{"begin":"\\b(where)\\b\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.where.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"while-statement":{"begin":"(?<!\\.)\\b(while)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"keyword.control.loop.while.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"with-expression":{"begin":"(?<!\\.)\\b(with)\\b\\s*(?=\\{|//|/\\*|$)","beginCaptures":{"1":{"name":"keyword.operator.expression.with.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#initializer-expression"}]},"xml-attribute":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.cs"},"2":{"name":"entity.other.attribute-name.namespace.cs"},"3":{"name":"punctuation.separator.colon.cs"},"4":{"name":"entity.other.attribute-name.localname.cs"},"5":{"name":"punctuation.separator.equals.cs"}},"match":"(?:^|\\s+)((?:([-_[:alnum:]]+)(:))?([-_[:alnum:]]+))(=)"},{"include":"#xml-string"}]},"xml-cdata":{"begin":"<!\\[CDATA\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.unquoted.cdata.cs"},"xml-character-entity":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.cs"},"3":{"name":"punctuation.definition.constant.cs"}},"match":"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\d+|#x\\h+)(;)","name":"constant.character.entity.cs"},{"match":"&","name":"invalid.illegal.bad-ampersand.cs"}]},"xml-comment":{"begin":"<!--","beginCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"-->","endCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.cs"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"(</?)((?:([-_[:alnum:]]+)(:))?([-_[:alnum:]]+))","beginCaptures":{"1":{"name":"punctuation.definition.tag.cs"},"2":{"name":"entity.name.tag.cs"},"3":{"name":"entity.name.tag.namespace.cs"},"4":{"name":"punctuation.separator.colon.cs"},"5":{"name":"entity.name.tag.localname.cs"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.cs"}},"name":"meta.tag.cs","patterns":[{"include":"#xml-attribute"}]},"yield-break-statement":{"captures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.break.cs"}},"match":"(?<!\\.)\\b(yield)\\b\\s*\\b(break)\\b"},"yield-return-statement":{"begin":"(?<!\\.)\\b(yield)\\b\\s*\\b(return)\\b","beginCaptures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.return.cs"}},"end":"(?=[;}])","patterns":[{"include":"#expression"}]},"yield-statement":{"patterns":[{"include":"#yield-return-statement"},{"include":"#yield-break-statement"}]}},"scopeName":"source.cs"},{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\t ]*+(alias)[\\t ]*+((?:((?<!\\w)-\\w+)\\b[\\t ]*+)*)[\\t ]*+((?<!\\w)[-0-9A-Z_a-z]+(?!\\w))(?:(\\[)((?:(?:\\$?(?<!\\w)[-0-9A-Z_a-z]+(?!\\w)|@)|\\*)|(-?\\d+))(]))?(?:(?:(=)|(\\+=))|(-=))","beginCaptures":{"1":{"name":"storage.type.alias.shell"},"2":{"patterns":[{"match":"(?<!\\w)-\\w+\\b","name":"string.unquoted.argument.shell constant.other.option.shell"}]},"3":{"name":"string.unquoted.argument.shell constant.other.option.shell"},"4":{"name":"variable.other.assignment.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"variable.other.assignment.shell"},"7":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"8":{"name":"punctuation.definition.array.access.shell"},"9":{"name":"keyword.operator.assignment.shell"},"10":{"name":"keyword.operator.assignment.compound.shell"},"11":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\|\\|))|(&))","endCaptures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"name":"meta.expression.assignment.alias.shell","patterns":[{"include":"#normal_context"}]},"argument":{"begin":"[\\t ]++(?![\\n#\\&(\\[|]|$|;)","beginCaptures":{},"end":"(?=[\\t \\&;|]|$|[\\n)`])","endCaptures":{},"name":"meta.argument.shell","patterns":[{"include":"#argument_context"},{"include":"#line_continuation"}]},"argument_context":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell","patterns":[{"match":"\\*","name":"variable.language.special.wildcard.shell"},{"include":"#variable"},{"include":"#numeric_literal"},{"captures":{"1":{"name":"constant.language.$1.shell"}},"match":"(?<!\\w)\\b(true|false)\\b(?!\\w)"}]}},"match":"[\\t ]*+([^\\t\\n \"$\\&-);<>\\\\`|]+(?!>))"},{"include":"#normal_context"}]},"arithmetic_double":{"patterns":[{"begin":"\\(\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"end":"\\)\\s*\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"arithmetic_no_dollar":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"array_access_inline":{"captures":{"1":{"name":"punctuation.section.array.shell"},"2":{"patterns":[{"include":"#special_expansion"},{"include":"#string"},{"include":"#variable"}]},"3":{"name":"punctuation.section.array.shell"}},"match":"(\\[)([^]\\[]+)(])"},"array_value":{"begin":"[\\t ]*+((?<!\\w)[-0-9A-Z_a-z]+(?!\\w))(?:(\\[)((?:(?:\\$?(?<!\\w)[-0-9A-Z_a-z]+(?!\\w)|@)|\\*)|(-?\\d+))(]))?(?:(?:(=)|(\\+=))|(-=))[\\t ]*+(\\()","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"punctuation.definition.array.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.array.shell"}},"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"variable.other.assignment.array.shell entity.other.attribute-name.shell"},"2":{"name":"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},"match":"((?<!\\w)[-0-9A-Z_a-z]+(?!\\w))(=)"},{"captures":{"1":{"name":"punctuation.definition.bracket.named-array.shell"},"2":{"name":"string.unquoted.shell entity.other.attribute-name.bracket.shell"},"3":{"name":"punctuation.definition.bracket.named-array.shell"},"4":{"name":"punctuation.definition.assignment.shell"}},"match":"(\\[)(.+?)(])(=)"},{"include":"#normal_context"},{"include":"#simple_unquoted"}]},"assignment_statement":{"patterns":[{"include":"#array_value"},{"include":"#modified_assignment_statement"},{"include":"#normal_assignment_statement"}]},"basic_command_name":{"captures":{"1":{"name":"storage.modifier.$1.shell"},"2":{"name":"entity.name.function.call.shell entity.name.command.shell","patterns":[{"match":"(?<!\\w)(?:continue|return|break)(?!\\w)","name":"keyword.control.$0.shell"},{"match":"(?<!\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\w)(?!-)","name":"support.function.builtin.shell"},{"include":"#variable"}]}},"match":"(?![\\n!#\\&()<>\\[{|]|$|[\\t ;])(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?:((?<=^|[\\t \\&;])(?:readonly|declare|typeset|export|local)(?=[\\t \\&;]|$))|((?![\"']|\\\\\\n?$)[^\\t\\n\\r !\"'<>]+?))(?:(?=[\\t ])|(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\))","name":"meta.statement.command.name.basic.shell"},"block_comment":{"begin":"\\s*+(/\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.shell"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.shell"}},"name":"comment.block.shell"},"boolean":{"match":"\\b(?:true|false)\\b","name":"constant.language.$0.shell"},"case_statement":{"begin":"\\b(case)\\b[\\t ]*+(.+?)[\\t ]*+\\b(in)\\b","beginCaptures":{"1":{"name":"keyword.control.case.shell"},"2":{"patterns":[{"include":"#initial_context"}]},"3":{"name":"keyword.control.in.shell"}},"end":"\\besac\\b","endCaptures":{"0":{"name":"keyword.control.esac.shell"}},"name":"meta.case.shell","patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.operator.pattern.case.default.shell"}},"match":"[\\t ]*+(\\* *\\))"},{"begin":"(?<!\\))(?![\\t ]*+(?:esac\\b|$))","beginCaptures":{},"end":"(?=\\besac\\b)|(\\))","endCaptures":{"1":{"name":"keyword.operator.pattern.case.shell"}},"name":"meta.case.entry.pattern.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"(?<=\\))","beginCaptures":{},"end":"(;;)|(?=\\besac\\b)","endCaptures":{"1":{"name":"punctuation.terminator.statement.case.shell"}},"name":"meta.case.entry.body.shell","patterns":[{"include":"#typical_statements"},{"include":"#initial_context"}]}]},"case_statement_context":{"patterns":[{"match":"\\*","name":"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\+","name":"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\?","name":"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"@","name":"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{"match":"\\|","name":"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{"match":"\\\\.","name":"constant.character.escape.shell"},{"match":"(?<=\\tin| in|[\\t ]|;;)\\(","name":"keyword.operator.pattern.case.shell"},{"begin":"(?<=\\S)(\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"name":"meta.parenthese.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"name":"string.regexp.character-class.shell","patterns":[{"match":"\\\\.","name":"constant.character.escape.shell"}]},{"include":"#string"},{"match":"[^\\t\\n )*?@\\[|]","name":"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},"command_name_range":{"begin":"\\G","beginCaptures":{},"end":"(?=[\\t \\&;|]|$|[\\n)`])|(?=<)","endCaptures":{},"name":"meta.statement.command.name.shell","patterns":[{"match":"(?<!\\w)(?:continue|return|break)(?!\\w)","name":"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{"match":"(?<!\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\w)(?!-)","name":"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{"include":"#variable"},{"captures":{"1":{"name":"entity.name.function.call.shell entity.name.command.shell"}},"match":"(?<!\\w)(?<=\\G|[\"')}])([^\\t\\n\\r \"\\&');->`{|]+)"},{"begin":"(?:\\G|(?<![\\t\\n #\\&;{|]))(\\$?)((\")|('))","beginCaptures":{"1":{"name":"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},"2":{},"3":{"name":"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},"4":{"name":"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},"end":"(?<!\\G)(?<=\\2)","endCaptures":{},"patterns":[{"include":"#continuation_of_single_quoted_command_name"},{"include":"#continuation_of_double_quoted_command_name"}]},{"include":"#line_continuation"},{"include":"#simple_unquoted"}]},"command_statement":{"begin":"[\\t ]*+(?![\\n!#\\&()<>\\[{|]|$|[\\t ;])(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?!\\\\\\n?$)","beginCaptures":{},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.statement.command.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"},{"include":"#heredoc"}]},"comment":{"captures":{"1":{"name":"comment.line.number-sign.shell meta.shebang.shell"},"2":{"name":"punctuation.definition.comment.shebang.shell"},"3":{"name":"comment.line.number-sign.shell"},"4":{"name":"punctuation.definition.comment.shell"}},"match":"(?:^|[\\t ]++)(?:((#!).*)|((#).*))"},"comments":{"patterns":[{"include":"#block_comment"},{"include":"#line_comment"}]},"compound-command":{"patterns":[{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical-expression"},{"include":"#initial_context"}]},{"begin":"(?<=\\s|^)\\{(?=\\s|$)","beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"end":"(?<=^|;)\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"continuation_of_double_quoted_command_name":{"begin":"\\G(?<=\")","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command","end":"\"","endCaptures":{"0":{"name":"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},"patterns":[{"match":"\\\\[\\n\"$\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"continuation_of_single_quoted_command_name":{"begin":"\\G(?<=')","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command","end":"'","endCaptures":{"0":{"name":"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},"custom_command_names":{"patterns":[]},"custom_commands":{"patterns":[]},"double_quote_context":{"patterns":[{"match":"\\\\[\\n\"$\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"double_quote_escape_char":{"match":"\\\\[\\n\"$\\\\`]","name":"constant.character.escape.shell"},"floating_keyword":{"patterns":[{"match":"(?<=^|[\\t \\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\t \\&;]|$)","name":"keyword.control.$0.shell"}]},"for_statement":{"patterns":[{"begin":"\\b(for)\\b[\\t ]*+((?<!\\w)[-0-9A-Z_a-z]+(?!\\w))[\\t ]*+\\b(in)\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"},"2":{"name":"variable.other.for.shell"},"3":{"name":"keyword.control.in.shell"}},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.for.in.shell","patterns":[{"include":"#string"},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},{"begin":"\\b(for)\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"}},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.for.shell","patterns":[{"include":"#arithmetic_double"},{"include":"#normal_context"}]}]},"function_definition":{"applyEndPatternLast":1,"begin":"[\\t ]*+(?:\\b(function)\\b[\\t ]*+([^\\t\\n\\r \"'()=]+)(?:(\\()[\\t ]*+(\\)))?|([^\\t\\n\\r \"'()=]+)[\\t ]*+(\\()[\\t ]*+(\\)))","beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"},"4":{"name":"punctuation.definition.arguments.shell"},"5":{"name":"entity.name.function.shell"},"6":{"name":"punctuation.definition.arguments.shell"},"7":{"name":"punctuation.definition.arguments.shell"}},"end":"(?<=[)}])","endCaptures":{},"name":"meta.function.shell","patterns":[{"match":"\\G[\\t\\n ]"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"include":"#initial_context"}]},"heredoc":{"patterns":[{"begin":"((?<!<)<<-)[\\t ]*+([\"'])[\\t ]*+([^\"']+?)(?=[\"\\&';<\\s])(\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.indent.$3","end":"^\\t*\\3(?=[\\&;\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.$0.shell"}},"patterns":[]},{"begin":"((?<!<)<<(?!<))[\\t ]*+([\"'])[\\t ]*+([^\"']+?)(?=[\"\\&';<\\s])(\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.no-indent.$3","end":"^\\3(?=[\\&;\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[]},{"begin":"((?<!<)<<-)[\\t ]*+([^\\t \"']+)(?=[\"\\&';<\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.indent.$2","end":"^\\t*\\2(?=[\\&;\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"((?<!<)<<(?!<))[\\t ]*+([^\\t \"']+)(?=[\"\\&';<\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.no-indent.$2","end":"^\\2(?=[\\&;\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]}]},"herestring":{"patterns":[{"begin":"(<<<)\\s*(('))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.single.shell","end":"(')","endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell"},{"begin":"(<<<)\\s*((\"))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.double.shell","end":"(\")","endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell","patterns":[{"include":"#double_quote_context"}]},{"captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"#initial_context"}]}},"match":"(<<<)\\s*(([^)\\\\\\s]|\\\\.)+)","name":"meta.herestring.shell"}]},"initial_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#logical_expression_double"},{"include":"#logical_expression_single"},{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#loop"},{"include":"#function_definition"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#misc_ranges"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#alias_statement"},{"include":"#normal_statement"},{"include":"#string"},{"include":"#support"}]},"inline_comment":{"captures":{"1":{"name":"comment.block.shell punctuation.definition.comment.begin.shell"},"2":{"name":"comment.block.shell"},"3":{"patterns":[{"match":"\\*/","name":"comment.block.shell punctuation.definition.comment.end.shell"},{"match":"\\*","name":"comment.block.shell"}]}},"match":"(/\\*)((?:[^*]|\\*++[^/])*+(\\*++/))"},"interpolation":{"patterns":[{"include":"#arithmetic_dollar"},{"include":"#subshell_dollar"},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"name":"string.interpolated.backtick.shell","patterns":[{"match":"\\\\[$\\\\`]","name":"constant.character.escape.shell"},{"begin":"(?<=\\W)(?=#)(?!#\\{)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}},"end":"(?=`)","name":"comment.line.number-sign.shell"}]},{"include":"#initial_context"}]}]},"keyword":{"patterns":[{"match":"(?<=^|[\\&;\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\&;\\s]|$)","name":"keyword.control.shell"},{"match":"(?<=^|[\\&;\\s])(?:export|declare|typeset|local|readonly)(?=[\\&;\\s]|$)","name":"storage.modifier.shell"}]},"line_comment":{"begin":"\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}},"end":"(?<=\\n)(?<!\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.shell","patterns":[{"include":"#line_continuation_character"}]},"line_continuation":{"match":"\\\\(?=\\n)","name":"constant.character.escape.line-continuation.shell"},"logical-expression":{"patterns":[{"include":"#arithmetic_no_dollar"},{"match":"=[=~]?|!=?|[<>]|&&|\\|\\|","name":"keyword.operator.logical.shell"},{"match":"(?<!\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\b","name":"keyword.operator.logical.shell"}]},"logical_expression_context":{"patterns":[{"include":"#regex_comparison"},{"include":"#arithmetic_no_dollar"},{"include":"#logical-expression"},{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#comment"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"logical_expression_double":{"begin":"\\[\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"logical_expression_single":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"loop":{"patterns":[{"begin":"(?<=^|[\\&;\\s])(for)\\s+(.+?)\\s+(in)(?=[\\&;\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\&;\\s])done(?=[\\&;\\s]|$|\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.for-in-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\&;\\s])(while|until)(?=[\\&;\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\&;\\s])done(?=[\\&;\\s]|$|\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.while-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\&;\\s])(select)\\s+((?:[^\\\\\\s]|\\\\.)+)(?=[\\&;\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"end":"(?<=^|[\\&;\\s])(done)(?=[\\&;\\s]|$|\\))","endCaptures":{"1":{"name":"keyword.control.shell"}},"name":"meta.scope.select-block.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\&;\\s])if(?=[\\&;\\s]|$)","beginCaptures":{"0":{"name":"keyword.control.if.shell"}},"end":"(?<=^|[\\&;\\s])fi(?=[\\&;\\s]|$)","endCaptures":{"0":{"name":"keyword.control.fi.shell"}},"name":"meta.scope.if-block.shell","patterns":[{"include":"#initial_context"}]}]},"math":{"patterns":[{"include":"#variable"},{"match":"\\+{1,2}|-{1,2}|[!~]|\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\|{1,2}|&{1,2}|[,:=?]|[-%\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\h+","name":"constant.numeric.hex.shell"},{"match":";","name":"punctuation.separator.semicolon.range"},{"match":"0\\d+","name":"constant.numeric.octal.shell"},{"match":"\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\d+","name":"constant.numeric.integer.shell"},{"match":"(?<!\\w)[0-9A-Z_a-z]+(?!\\w)","name":"variable.other.normal.shell"}]},"math_operators":{"patterns":[{"match":"\\+{1,2}|-{1,2}|[!~]|\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\|{1,2}|&{1,2}|[,:=?]|[-%\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\h+","name":"constant.numeric.hex.shell"},{"match":"0\\d+","name":"constant.numeric.octal.shell"},{"match":"\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\d+","name":"constant.numeric.integer.shell"}]},"misc_ranges":{"patterns":[{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#subshell_dollar"},{"begin":"(?<![^\\t ])(\\{)(?![$\\w])","beginCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"modified_assignment_statement":{"begin":"(?<=^|[\\t \\&;])(?:readonly|declare|typeset|export|local)(?=[\\t \\&;]|$)","beginCaptures":{"0":{"name":"storage.modifier.$0.shell"}},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.statement.shell meta.expression.assignment.modified.shell","patterns":[{"match":"(?<!\\w)-\\w+\\b","name":"string.unquoted.argument.shell constant.other.option.shell"},{"include":"#array_value"},{"captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"10":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"11":{"name":"constant.numeric.shell constant.numeric.other.shell"},"12":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"13":{"name":"constant.numeric.shell constant.numeric.version.shell"},"14":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"((?<!\\w)[-0-9A-Z_a-z]+(?!\\w))(?:(\\[)((?:(?:\\$?(?<!\\w)[-0-9A-Z_a-z]+(?!\\w)|@)|\\*)|(-?\\d+))(]))?(?:(?:(=)|(\\+=))|(-=))?(?:(?<=[\\t =]|^|[(\\[{])(?:(?:(?:(?:(?:(0[Xx]\\h+)|(0\\d+))|(\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\d+\\.\\d+))|(-?\\d+(?:\\.\\d+)+))|(-?\\d+))(?=[\\t ]|$|[);}]))?"},{"include":"#normal_context"}]},"modifiers":{"match":"(?<=^|[\\t \\&;])(?:readonly|declare|typeset|export|local)(?=[\\t \\&;]|$)","name":"storage.modifier.$0.shell"},"normal_assignment_statement":{"begin":"[\\t ]*+((?<!\\w)[-0-9A-Z_a-z]+(?!\\w))(?:(\\[)((?:(?:\\$?(?<!\\w)[-0-9A-Z_a-z]+(?!\\w)|@)|\\*)|(-?\\d+))(]))?(?:(?:(=)|(\\+=))|(-=))","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.expression.assignment.shell","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#normal_assignment_statement"},{"begin":"(?<=[\\t ])(?![\\t ]|\\w+=)","beginCaptures":{},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.statement.command.env.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"}]},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},"normal_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#misc_ranges"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"},{"include":"#parenthese"}]},"normal_statement":{"begin":"(?!^[\\t ]*+$)(?:(?<=(?:^until| until|\\tuntil|^while| while|\\twhile|^elif| elif|\\telif|^else| else|\\telse|^then| then|\\tthen|^do| do|\\tdo|^if| if|\\tif) )|(?<=^|[!\\&(;`{|]))[\\t ]*+(?!nocorrect\\W|nocorrect\\$|function\\W|function\\$|foreach\\W|foreach\\$|repeat\\W|repeat\\$|logout\\W|logout\\$|coproc\\W|coproc\\$|select\\W|select\\$|while\\W|while\\$|pushd\\W|pushd\\$|until\\W|until\\$|case\\W|case\\$|done\\W|done\\$|elif\\W|elif\\$|else\\W|else\\$|esac\\W|esac\\$|popd\\W|popd\\$|then\\W|then\\$|time\\W|time\\$|for\\W|for\\$|end\\W|end\\$|fi\\W|fi\\$|do\\W|do\\$|in\\W|in\\$|if\\W|if\\$)","beginCaptures":{},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.statement.shell","patterns":[{"include":"#typical_statements"}]},"normal_statement_seperator":{"captures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"match":"(?:(?:(;)|(&&))|(\\|\\|))|(&)"},"numeric_literal":{"captures":{"1":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"2":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"3":{"name":"constant.numeric.shell constant.numeric.other.shell"},"4":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"5":{"name":"constant.numeric.shell constant.numeric.version.shell"},"6":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"(?<=[\\t =]|^|[(\\[{])(?:(?:(?:(?:(?:(0[Xx]\\h+)|(0\\d+))|(\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\d+\\.\\d+))|(-?\\d+(?:\\.\\d+)+))|(-?\\d+))(?=[\\t ]|$|[);}])"},"option":{"begin":"[\\t ]++(-)((?![\\n!#\\&()<>\\[{|]|$|[\\t ;]))","beginCaptures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"contentName":"string.unquoted.argument constant.other.option","end":"(?=[\\t ])|(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"patterns":[{"include":"#option_context"}]},"option_context":{"patterns":[{"include":"#misc_ranges"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"parenthese":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"name":"meta.parenthese.group.shell","patterns":[{"include":"#initial_context"}]}]},"pathname":{"patterns":[{"match":"(?<=[:=\\s]|^)~","name":"keyword.operator.tilde.shell"},{"match":"[*?]","name":"keyword.operator.glob.shell"},{"begin":"([!*+?@])(\\()","beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}},"name":"meta.structure.extglob.shell","patterns":[{"include":"#initial_context"}]}]},"pipeline":{"patterns":[{"match":"(?<=^|[\\&;\\s])(time)(?=[\\&;\\s]|$)","name":"keyword.other.shell"},{"match":"[!|]","name":"keyword.operator.pipe.shell"}]},"redirect_fix":{"captures":{"1":{"name":"keyword.operator.redirect.shell"},"2":{"name":"string.unquoted.argument.shell"}},"match":"(>>?)[\\t ]*+([^\\t\\n \"$\\&-);<>\\\\`|]+)"},"redirect_number":{"captures":{"1":{"name":"keyword.operator.redirect.stdout.shell"},"2":{"name":"keyword.operator.redirect.stderr.shell"},"3":{"name":"keyword.operator.redirect.$3.shell"}},"match":"(?<=[\\t ])(?:(1)|(2)|(\\d+))(?=>)"},"redirection":{"patterns":[{"begin":"[<>]\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.interpolated.process-substitution.shell","patterns":[{"include":"#initial_context"}]},{"match":"(?<![<>])(&>|\\d*>&\\d*|\\d*(>>|[<>])|\\d*<&|\\d*<>)(?![<>])","name":"keyword.operator.redirect.shell"}]},"regex_comparison":{"match":"=~","name":"keyword.operator.logical.regex.shell"},"regexp":{"patterns":[{"match":".+"}]},"simple_options":{"captures":{"0":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"match":"[\\t ]++(-)(\\w+)"}]}},"match":"(?:[\\t ]++-\\w+)*"},"simple_unquoted":{"match":"[^\\t\\n \"$\\&-);<>\\\\`|]","name":"string.unquoted.shell"},"special_expansion":{"match":"!|:[-=?]?|[*@]|##?|%%|[%/]","name":"keyword.operator.expansion.shell"},"start_of_command":{"match":"[\\t ]*+(?![\\n!#\\&()<>\\[{|]|$|[\\t ;])(?!nocorrect |nocorrect\\t|nocorrect$|readonly |readonly\\t|readonly$|function |function\\t|function$|foreach |foreach\\t|foreach$|coproc |coproc\\t|coproc$|logout |logout\\t|logout$|export |export\\t|export$|select |select\\t|select$|repeat |repeat\\t|repeat$|pushd |pushd\\t|pushd$|until |until\\t|until$|while |while\\t|while$|local |local\\t|local$|case |case\\t|case$|done |done\\t|done$|elif |elif\\t|elif$|else |else\\t|else$|esac |esac\\t|esac$|popd |popd\\t|popd$|then |then\\t|then$|time |time\\t|time$|for |for\\t|for$|end |end\\t|end$|fi |fi\\t|fi$|do |do\\t|do$|in |in\\t|in$|if |if\\t|if$)(?!\\\\\\n?$)"},"string":{"patterns":[{"match":"\\\\.","name":"constant.character.escape.shell"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.shell"},{"begin":"\\$?\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.double.shell","patterns":[{"match":"\\\\[\\n\"$\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"\\$'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.dollar.shell","patterns":[{"match":"\\\\['\\\\abefnrtv]","name":"constant.character.escape.ansi-c.shell"},{"match":"\\\\[0-9]{3}\"","name":"constant.character.escape.octal.shell"},{"match":"\\\\x\\h{2}\"","name":"constant.character.escape.hex.shell"},{"match":"\\\\c.\"","name":"constant.character.escape.control-char.shell"}]}]},"subshell_dollar":{"patterns":[{"begin":"\\$\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"name":"meta.scope.subshell","patterns":[{"include":"#parenthese"},{"include":"#initial_context"}]}]},"support":{"patterns":[{"match":"(?<=^|[\\&;\\s])[.:](?=[\\&;\\s]|$)","name":"support.function.builtin.shell"}]},"typical_statements":{"patterns":[{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#while_statement"},{"include":"#function_definition"},{"include":"#command_statement"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#normal_context"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},"2":{"name":"variable.parameter.positional.all.shell"}},"match":"(\\$)(@(?!\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"variable.parameter.positional.shell"}},"match":"(\\$)([0-9](?!\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.language.special.shell"},"2":{"name":"variable.language.special.shell"}},"match":"(\\$)([-!#$*0?_](?!\\w))"},{"begin":"(\\$)(\\{)[\\t ]*+(?=\\d)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"[0-9]+","name":"variable.parameter.positional.shell"},{"match":"(?<!\\w)[-0-9A-Z_a-z]+(?!\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"begin":"(\\$)(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"(?<!\\w)[-0-9A-Z_a-z]+(?!\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.other.normal.shell"},"2":{"name":"variable.other.normal.shell"}},"match":"(\\$)(\\w+(?!\\w))"}]},"while_statement":{"patterns":[{"begin":"\\b(while)\\b","beginCaptures":{"1":{"name":"keyword.control.while.shell"}},"end":"(?=[\\n\\&);`{|}]|[\\t ]*#|])(?<!\\\\)","endCaptures":{},"name":"meta.while.shell","patterns":[{"include":"#line_continuation"},{"include":"#math_operators"},{"include":"#option"},{"include":"#simple_unquoted"},{"include":"#normal_context"},{"include":"#string"}]}]}},"scopeName":"source.shell"},{"displayName":"Scala","fileTypes":["scala"],"firstLineMatch":"^#!/.*\\b\\w*scala\\b","foldingStartMarker":"/\\*\\*|\\{\\s*$","foldingStopMarker":"\\*\\*/|^\\s*}","name":"scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.scala"}},"match":"/\\*\\*/","name":"comment.block.empty.scala"},{"begin":"^\\s*(/\\*\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"name":"comment.block.documentation.scala","patterns":[{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}},"match":"(@param)\\s+(\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}},"match":"(@t(?:param|hrows))\\s+(\\S+)"},{"match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\b","name":"keyword.other.documentation.scaladoc.scala"},{"captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}},"match":"(\\[\\[)([^]]+)(]])"},{"include":"#block-comments"}]},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\*/","name":"comment.block.scala","patterns":[{"include":"#block-comments"}]}]},"char-literal":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}},"match":"(')'(')","name":"string.quoted.other constant.character.literal.scala"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"end":"'|$","endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}},"name":"string.quoted.other constant.character.literal.scala","patterns":[{"match":"\\\\(?:[\"'\\\\bfnrt]|[0-7]{1,3}|u\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-character-escape.scala"},{"match":"[^']{2,}","name":"invalid.illegal.character-literal-too-long"},{"match":"(?<!')[^']","name":"invalid.illegal.character-literal-too-long"}]}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\n","name":"comment.line.double-slash.scala"}]}]},"constants":{"patterns":[{"match":"\\b(false|null|true)\\b","name":"constant.language.scala"},{"match":"\\b(0[Xx][_\\h]*)\\b","name":"constant.numeric.scala"},{"match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([Ee]([-+])?[0-9][0-9_]*)?|[0-9][0-9_]*)[DFLdfl]?\\b","name":"constant.numeric.scala"},{"match":"(\\.[0-9][0-9_]*)([Ee]([-+])?[0-9][0-9_]*)?[DFLdfl]?\\b","name":"constant.numeric.scala"},{"match":"\\b0[Bb][01]([01_]*[01])?[Ll]?\\b","name":"constant.numeric.scala"},{"match":"\\b(this|super)\\b","name":"variable.language.scala"}]},"curly-braces":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}},"patterns":[{"include":"#code"}]},"declarations":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}},"match":"\\b(def)\\b\\s*(?!/[*/])((?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}},"match":"\\b(trait)\\b\\s*(?!/[*/])((?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!/[*/])((?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}},"match":"(?<!\\.)\\b(type)\\b\\s*(?!/[*/])((?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}},"match":"\\b(?:(val)|(var))\\b\\s*(?!/[*/])(?=(?:(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\b(val)\\b\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")"},{"captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}},"match":"\\b(var)\\b\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")"},{"captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\b(package)\\s+(object)\\b\\s*(?!/[*/])((?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?"},{"begin":"\\b(package)\\s+","beginCaptures":{"1":{"name":"keyword.other.package.scala"}},"end":"(?<=[\\n;])","name":"meta.package.scala","patterns":[{"include":"#comments"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+))","name":"entity.name.package.scala"},{"match":"\\.","name":"punctuation.definition.package"}]},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}},"match":"\\b(given)\\b\\s*([$_a-z\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?"}]},"empty-parentheses":{"captures":{"1":{"name":"meta.bracket.scala"}},"match":"(\\(\\))","name":"meta.parentheses.scala"},"exports":{"begin":"\\b(export)\\s+","beginCaptures":{"1":{"name":"keyword.other.export.scala"}},"end":"(?<=[\\n;])","name":"meta.export.scala","patterns":[{"include":"#comments"},{"match":"\\b(given)\\b","name":"keyword.other.export.given.scala"},{"match":"[A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?","name":"entity.name.class.export.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+))","name":"entity.name.export.scala"},{"match":"\\.","name":"punctuation.definition.export"},{"begin":"\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.export.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}},"match":"(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)))\\s*"},{"match":"\\b(given)\\b","name":"keyword.other.export.given.scala"},{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}},"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)))"}]}]},"extension":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"^\\s*(extension)\\s+(?=[(\\[])"}]},"imports":{"begin":"\\b(import)\\s+","beginCaptures":{"1":{"name":"keyword.other.import.scala"}},"end":"(?<=[\\n;])","name":"meta.import.scala","patterns":[{"include":"#comments"},{"match":"\\b(given)\\b","name":"keyword.other.import.given.scala"},{"match":"\\s(as)\\s","name":"keyword.other.import.as.scala"},{"match":"[A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?","name":"entity.name.class.import.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+))","name":"entity.name.import.scala"},{"match":"\\.","name":"punctuation.definition.import"},{"begin":"\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.import.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}},"match":"(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)))\\s*"},{"match":"\\b(given)\\b","name":"keyword.other.import.given.scala"},{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}},"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)))"}]}]},"inheritance":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}},"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^)]+=>)|(?=[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|(?=\"))?"}]},"initialization":{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"\\b(new)\\b"},"inline":{"patterns":[{"match":"\\b(inline)(?=\\s+((?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)","name":"storage.modifier.other"},{"match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)","name":"keyword.control.flow.scala"}]},"keywords":{"patterns":[{"match":"\\b(return|throw)\\b","name":"keyword.control.flow.jump.scala"},{"match":"\\b((?:class|isInstance|asInstance)Of)\\b","name":"support.function.type-of.scala"},{"match":"\\b(else|if|then|do|while|for|yield|match|case)\\b","name":"keyword.control.flow.scala"},{"match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(/(?:/.*|\\*(?!.*\\*/\\s*\\S.*).*))?$)","name":"keyword.control.flow.end.scala"},{"match":"^\\s*(end)\\s+(val)(?=\\s*(/(?:/.*|\\*(?!.*\\*/\\s*\\S.*).*))?$)","name":"keyword.declaration.stable.end.scala"},{"match":"^\\s*(end)\\s+(var)(?=\\s*(/(?:/.*|\\*(?!.*\\*/\\s*\\S.*).*))?$)","name":"keyword.declaration.volatile.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}},"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(/(?:/.*|\\*(?!.*\\*/\\s*\\S.*).*))?$)"},{"match":"\\b(catch|finally|try)\\b","name":"keyword.control.exception.scala"},{"match":"^\\s*(end)\\s+(try)(?=\\s*(/(?:/.*|\\*(?!.*\\*/\\s*\\S.*).*))?$)","name":"keyword.control.exception.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}},"match":"^\\s*(end)\\s+(`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(/(?:/.*|\\*(?!.*\\*/\\s*\\S.*).*))?$)"},{"match":"([-!#%\\&*+/:<-@\\\\^|~\\p{Sm}\\p{So}]){3,}","name":"keyword.operator.scala"},{"captures":{"1":{"patterns":[{"match":"(\\|\\||&&)","name":"keyword.operator.logical.scala"},{"match":"([!<=>]=)","name":"keyword.operator.comparison.scala"},{"match":"..","name":"keyword.operator.scala"}]}},"match":"([-!#%\\&*+/:<-@\\\\^|~\\p{Sm}\\p{So}]{2,}|_\\*)"},{"captures":{"1":{"patterns":[{"match":"(!)","name":"keyword.operator.logical.scala"},{"match":"([-%*+/~])","name":"keyword.operator.arithmetic.scala"},{"match":"([<=>])","name":"keyword.operator.comparison.scala"},{"match":".","name":"keyword.operator.scala"}]}},"match":"(?<!_)([-!#%\\&*+/:<-@\\\\^|~\\p{Sm}\\p{So}])"}]},"meta-bounds":{"match":"<%|=:=|<:<|<%<|>:|<:","name":"meta.bounds.scala"},"meta-brackets":{"patterns":[{"match":"\\{","name":"punctuation.section.block.begin.scala"},{"match":"}","name":"punctuation.section.block.end.scala"},{"match":"[]()\\[{}]","name":"meta.bracket.scala"}]},"meta-colons":{"patterns":[{"match":"(?<!:):(?!:)","name":"meta.colon.scala"}]},"namedBounds":{"patterns":[{"captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\s+(as)\\s+([$_a-z\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)\\b"}]},"parameter-list":{"patterns":[{"captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}},"match":"(?<=[^$.0-9A-Z_a-z])(`[^`]+`|[$_a-z\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+"}]},"qualifiedClassName":{"captures":{"1":{"name":"entity.name.class"}},"match":"\\b(([A-Z]\\w*)(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)"},"scala-quoted-or-symbol":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}},"match":"(')((?>[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+))(?!')"},{"match":"'(?=\\s*\\{(?!'))","name":"keyword.control.flow.staging.scala"},{"match":"'(?=\\s*\\[(?!'))","name":"keyword.control.flow.staging.scala"},{"match":"\\$(?=\\s*\\{)","name":"keyword.control.flow.staging.scala"}]},"script-header":{"captures":{"1":{"name":"string.unquoted.shebang.scala"}},"match":"^#!(.*)$","name":"comment.block.shebang.scala"},"singleton-type":{"captures":{"1":{"name":"keyword.type.scala"}},"match":"\\.(type)(?![$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[0-9])"},"storage-modifiers":{"patterns":[{"match":"\\b(pr(?:ivate\\[\\S+]|otected\\[\\S+]|ivate|otected))\\b","name":"storage.modifier.access"},{"match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b","name":"storage.modifier.other"},{"match":"(?<=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)","name":"storage.modifier.other"}]},"string-interpolation":{"patterns":[{"match":"\\$\\$","name":"constant.character.escape.interpolation.scala"},{"captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}},"match":"(\\$)([$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*)","name":"meta.template.expression.scala"},{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"contentName":"meta.embedded.line.scala","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}},"name":"meta.template.expression.scala","patterns":[{"include":"#code"}]}]},"strings":{"patterns":[{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\"\"\"(?!\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.triple.scala","patterns":[{"match":"\\\\(?:\\\\|u\\h{4})","name":"constant.character.escape.scala"}]},{"begin":"\\b(raw)(\"\"\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\"\"\")(?!\")|\\$\\n|(\\$[^\"$A-Z_a-{\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\$[\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\b([$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)(\"\"\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\"\"\")(?!\")|\\$\\n|(\\$[^\"$A-Z_a-{\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"include":"#string-interpolation"},{"match":"\\\\(?:\\\\|u\\h{4})","name":"constant.character.escape.scala"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.double.scala","patterns":[{"match":"\\\\(?:[\"'\\\\bfnrt]|[0-7]{1,3}|u\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"}]},{"begin":"\\b(raw)(\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\")|\\$\\n|(\\$[^\"$A-Z_a-{\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\$[\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.double.interpolated.scala"}]},{"begin":"\\b([$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?)(\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\")|\\$\\n|(\\$[^\"$A-Z_a-{\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\$[\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":"\\\\(?:[\"'\\\\bfnrt]|[0-7]{1,3}|u\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"},{"match":".","name":"string.quoted.double.interpolated.scala"}]}]},"using":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"(?<=\\()\\s*(using)\\s"}]},"using-directive":{"begin":"^\\s*(//>)\\s*(using)[^\\n\\S]+(\\S+)?","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"match":"[A-Z\\p{Lt}\\p{Lu}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}][$0-9A-Z_a-z\\p{Lt}\\p{Lu}\\p{Lo}\\p{Nl}\\p{Ll}]*(?:(?<=_)[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)?|[-!#%\\&*+/:<-@^|~\\p{Sm}\\p{So}]+)","name":"entity.name.import.scala"},{"match":"\\.","name":"punctuation.definition.import"}]}},"end":"\\n","name":"comment.line.shebang.scala","patterns":[{"include":"#constants"},{"include":"#strings"},{"match":"[^,\\s]+","name":"string.quoted.double.scala"}]},"xml-doublequotedString":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#xml-entity"}]},"xml-embedded-content":{"patterns":[{"begin":"\\{","captures":{"0":{"name":"meta.bracket.scala"}},"end":"}","name":"meta.source.embedded.scala","patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)="},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.xml"},"xml-literal":{"patterns":[{"begin":"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\s[^>]*)?></\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"end":"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#xml-embedded-content"}]},{"begin":"(</?)(?:([0-9A-Z_a-z][-0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*)(?=[^>]*?>)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#xml-embedded-content"}]},{"include":"#xml-entity"}]},"xml-singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#xml-entity"}]}},"scopeName":"source.scala"},{"displayName":"Rust","name":"rust","patterns":[{"begin":"(<)(\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\$)((crate)|([A-Z]\\w*))(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?","name":"meta.macro.metavariable.type.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\$)([a-z]\\w*)(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?","name":"meta.macro.metavariable.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}},"match":"\\b(macro_rules!)\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\s+(\\{)","name":"meta.macro.rules.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}},"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)"},{"begin":"\\b(extern)\\s+(crate)","beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.import.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}]},{"begin":"\\b(use)\\s","beginCaptures":{"1":{"name":"keyword.other.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.use.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"end":"]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}},"name":"meta.attribute.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"match":"/\\*\\*/","name":"comment.block.rust"},{"begin":"/\\*\\*","end":"\\*/","name":"comment.block.documentation.rust","patterns":[{"include":"#block-comments"}]},{"begin":"/\\*(?!\\*)","end":"\\*/","name":"comment.block.rust","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(///).*$","name":"comment.line.documentation.rust"},{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(//).*$","name":"comment.line.double-slash.rust"}]},"constants":{"patterns":[{"match":"\\b[A-Z]{2}[0-9A-Z_]*\\b","name":"constant.other.caps.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}},"match":"\\b(const)\\s+([A-Z][0-9A-Z_a-z]*)\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}},"match":"\\b\\d[_\\d]*(\\.?)[_\\d]*(?:([Ee])([-+]?)([_\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","name":"constant.numeric.decimal.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\b0x[A-F_a-f\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","name":"constant.numeric.hex.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","name":"constant.numeric.oct.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","name":"constant.numeric.bin.rust"},{"match":"\\b(true|false)\\b","name":"constant.language.bool.rust"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}},"match":"(\\\\)(?:(x[0-7][A-Fa-f\\d])|(u(\\{)[A-Fa-f\\d]{4,6}(}))|.)","name":"constant.character.escape.rust"},"functions":{"patterns":[{"captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"match":"\\b(pub)(\\()"},{"begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"end":"(\\{)|(;)","endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}},"name":"meta.function.definition.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"match":"\\b(Some|None)\\b","name":"entity.name.type.option.rust"},{"match":"\\b(Ok|Err)\\b","name":"entity.name.type.result.rust"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}},"match":"(\\{)[^\"{}]*(})","name":"meta.interpolation.rust"},"keywords":{"patterns":[{"match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b","name":"keyword.control.rust"},{"match":"\\b(extern|let|macro|mod)\\b","name":"keyword.other.rust storage.type.rust"},{"match":"\\b(const)\\b","name":"storage.modifier.rust"},{"match":"\\b(type)\\b","name":"keyword.declaration.type.rust storage.type.rust"},{"match":"\\b(enum)\\b","name":"keyword.declaration.enum.rust storage.type.rust"},{"match":"\\b(trait)\\b","name":"keyword.declaration.trait.rust storage.type.rust"},{"match":"\\b(struct)\\b","name":"keyword.declaration.struct.rust storage.type.rust"},{"match":"\\b(abstract|static)\\b","name":"storage.modifier.rust"},{"match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b","name":"keyword.other.rust"},{"match":"\\bfn\\b","name":"keyword.other.fn.rust"},{"match":"\\bcrate\\b","name":"keyword.other.crate.rust"},{"match":"\\bmut\\b","name":"storage.modifier.mut.rust"},{"match":"([\\^|]|\\|\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.rust"},{"match":"&(?![\\&=])","name":"keyword.operator.borrow.and.rust"},{"match":"((?:[-%\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.rust"},{"match":"(?<![<>])=(?![=>])","name":"keyword.operator.assignment.equal.rust"},{"match":"(=(=)?(?!>)|!=|<=|(?<!=)>=)","name":"keyword.operator.comparison.rust"},{"match":"(([%+]|(\\*(?!\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.rust"},{"captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}},"match":"(?:\\b|(?:(\\))|(])|(})))[\\t ]+([<>])[\\t ]+(?:\\b|(?:(\\()|(\\[)|(\\{)))"},{"match":"::","name":"keyword.operator.namespace.rust"},{"captures":{"1":{"name":"keyword.operator.dereference.rust"}},"match":"(\\*)(?=\\w+)"},{"match":"@","name":"keyword.operator.subpattern.rust"},{"match":"\\.(?!\\.)","name":"keyword.operator.access.dot.rust"},{"match":"\\.{2}([.=])?","name":"keyword.operator.range.rust"},{"match":":(?!:)","name":"keyword.operator.key-value.rust"},{"match":"->|<-","name":"keyword.operator.arrow.skinny.rust"},{"match":"=>","name":"keyword.operator.arrow.fat.rust"},{"match":"\\$","name":"keyword.operator.macro.dollar.rust"},{"match":"\\?","name":"keyword.operator.question.rust"}]},"lifetimes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}},"match":"(')([A-Z_a-z][0-9A-Z_a-z]*)(?!')\\b"},{"captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}},"match":"(&)(')([A-Z_a-z][0-9A-Z_a-z]*)(?!')\\b"}]},"lvariables":{"patterns":[{"match":"\\b[Ss]elf\\b","name":"variable.language.self.rust"},{"match":"\\bsuper\\b","name":"variable.language.super.rust"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}},"match":"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))","name":"meta.macro.rust"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}},"match":"(?<![0-9A-Z_a-z])([0-9A-Z_a-z]+)((?<!s(?:uper|elf))::)"}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.rust"},{"match":"[{}]","name":"punctuation.brackets.curly.rust"},{"match":"[()]","name":"punctuation.brackets.round.rust"},{"match":";","name":"punctuation.semi.rust"},{"match":"[]\\[]","name":"punctuation.brackets.square.rust"},{"match":"(?<!=)[<>]","name":"punctuation.brackets.angle.rust"}]},"strings":{"patterns":[{"begin":"(b?)(\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.rust"}},"name":"string.quoted.double.rust","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(b?r)(#*)(\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"end":"(\")(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}},"name":"string.quoted.double.rust"},{"begin":"(b)?(')","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.char.rust"}},"name":"string.quoted.single.char.rust","patterns":[{"include":"#escapes"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"(?<![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b"},{"begin":"\\b(_?[A-Z][0-9A-Z_a-z]*)(<)","beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"match":"\\b(bool|char|str)\\b","name":"entity.name.type.primitive.rust"},{"captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}},"match":"\\b(trait)\\s+(_?[A-Z][0-9A-Z_a-z]*)\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}},"match":"\\b(struct)\\s+(_?[A-Z][0-9A-Z_a-z]*)\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}},"match":"\\b(enum)\\s+(_?[A-Z][0-9A-Z_a-z]*)\\b"},{"captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}},"match":"\\b(type)\\s+(_?[A-Z][0-9A-Z_a-z]*)\\b"},{"match":"\\b_?[A-Z][0-9A-Z_a-z]*\\b(?!!)","name":"entity.name.type.rust"}]},"variables":{"patterns":[{"match":"\\b(?<!(?<!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[0-9_a-z]+\\b","name":"variable.other.rust"}]}},"scopeName":"source.rust"},{"displayName":"Julia","name":"julia","patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#for_block"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}],"repository":{"array":{"patterns":[{"begin":"\\[","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(])(\\.?'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"name":"meta.array.julia","patterns":[{"match":"\\bbegin\\b","name":"constant.numeric.julia"},{"match":"\\bend\\b","name":"constant.numeric.julia"},{"include":"#self_no_for_block"}]}]},"bracket":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(})(\\.?'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"comment":{"patterns":[{"include":"#comment_block"},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.julia"}},"end":"\\n","name":"comment.line.number-sign.julia","patterns":[{"include":"#comment_tags"}]}]},"comment_block":{"patterns":[{"begin":"#=","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.julia"}},"end":"=#","endCaptures":{"0":{"name":"punctuation.definition.comment.end.julia"}},"name":"comment.block.number-sign-equals.julia","patterns":[{"include":"#comment_tags"},{"include":"#comment_block"}]}]},"comment_tags":{"patterns":[{"match":"\\bTODO\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\bFIXME\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\bCHANGED\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\bXXX\\b","name":"keyword.other.comment-annotation.julia"}]},"for_block":{"patterns":[{"begin":"\\b(for)\\b","beginCaptures":{"0":{"name":"keyword.control.julia"}},"end":"(?<![,\\s])(\\s*\\n)","patterns":[{"match":"\\bouter\\b","name":"keyword.other.julia"},{"include":"$self"}]}]},"function_call":{"patterns":[{"begin":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)(\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*})*})*})?\\.?(\\()","beginCaptures":{"1":{"name":"support.function.julia"},"2":{"name":"support.type.julia"},"3":{"name":"meta.bracket.julia"}},"end":"\\)(('|(\\.'))*\\.?')?","endCaptures":{"0":{"name":"meta.bracket.julia"},"1":{"name":"keyword.operator.transposed-func.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"function_decl":{"patterns":[{"captures":{"1":{"name":"entity.name.function.julia"},"2":{"name":"support.type.julia"}},"match":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)(\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*})*})*})?(?=\\([^#]*\\)(::\\S+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=>]))"},{"captures":{"1":{"name":"keyword.other.julia"},"2":{"name":"keyword.operator.dots.julia"},"3":{"name":"entity.name.function.julia"},"4":{"name":"support.type.julia"}},"match":"\\b(function|macro)(?:\\s+(?:[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*(\\.))?([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)(\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*})*})*})?|\\s*)(?=\\()"}]},"keyword":{"patterns":[{"match":"\\b(?<![.:_])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|typegroup|module|baremodule|where)\\b","name":"keyword.other.julia"},{"match":"\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\b","name":"keyword.control.julia"},{"match":"\\b(?<![:_])end\\b","name":"keyword.control.end.julia"},{"match":"\\b(?<![:_])(?:global|local|const)\\b","name":"keyword.storage.modifier.julia"},{"match":"\\b(?<![:_])export\\b","name":"keyword.control.export.julia"},{"match":"^public\\b","name":"keyword.control.public.julia"},{"match":"\\b(?<![:_])import\\b","name":"keyword.control.import.julia"},{"match":"\\b(?<![:_])using\\b","name":"keyword.control.using.julia"},{"match":"(?<=\\S\\s+)\\b(as)\\b(?=\\s+\\S)","name":"keyword.control.as.julia"},{"match":"@(\\.|[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*|[[\\p{S}\\p{P}]&&[^@\\s]]+)","name":"support.function.macro.julia"}]},"number":{"patterns":[{"captures":{"1":{"name":"constant.numeric.julia"},"2":{"name":"keyword.operator.conjugate-number.julia"}},"match":"((?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]])\\b(?:0[Xx]\\h(?:_?\\h)*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:[0-9](?:_?[0-9])*\\.?(?!\\.)[0-9_]*|\\.[0-9](?:_?[0-9])*)(?:[Eef][-+]?[0-9](?:_?[0-9])*)?(?:(?:im|Inf(?:16|32|64)?|NaN(?:16|32|64)?|π|pi|ℯ)\\b)?|[0-9]+|Inf(?:16|32|64)?\\b|NaN(?:16|32|64)?\\b|π\\b|pi\\b|ℯ\\b))('*)"},{"match":"\\b(?:ARGS|C_NULL|DEPOT_PATH|ENDIAN_BOM|ENV|LOAD_PATH|PROGRAM_FILE|stdin|stdout|stderr|VERSION|devnull)\\b","name":"constant.global.julia"},{"match":"\\b(?:true|false|nothing|missing)\\b","name":"constant.language.julia"}]},"operator":{"patterns":[{"match":"\\.?(?:<-->|->|-->|<--|[←→↔↚-↞↠↢↣↤↦↩-↬↮↶↷↺-↽⇀⇁⇄⇆⇇⇉⇋-⇐⇒⇔⇚-⇝⇠⇢⇴⇶-⇿⟵⟶⟷⟹-⟿⤀-⤇⤌-⤑⤔-⤘⤝-⤠⥄-⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦-⥭⥰⥷⥺⧴⬰-⭄⭇-⭌￩￫]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|&=|\\.&=|⊻=|\\.⊻=|\\$=|<<=|>>=|>>>=|=(?!=)","name":"keyword.operator.update.julia"},{"match":"<<|>>>?|\\.>>>?|\\.<<","name":"keyword.operator.shift.julia"},{"captures":{"1":{"name":"keyword.operator.relation.types.julia"},"2":{"name":"support.type.julia"},"3":{"name":"keyword.operator.transpose.julia"}},"match":"\\s*([:<>]:)\\s*((?:Union)?\\([^)]*\\)|[$_∇[:alpha:]][!.′⁺-ₜ[:word:]]*(?:\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*})*})*}|\".+?(?<!\\\\)\")?)(?:\\.\\.\\.)?(\\.?'*)"},{"match":"(\\.?((?<!<)<=|(?<!>)>=|[<>≤≥]|===?|≡|!=|≠|!==|[∈-∍∝∥∦∷∺∻∽∾≁-≎≐-≓≖-≟≢≣≦-⊋⊏-⊒⊜⊢⊣⊩⊬⊮⊰-⊷⋍⋐⋑⋕-⋭⋲-⋿⟂⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪-⩳⩵-⫙⫪⫫⫷-⫺]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\s)\\?(?=\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\s):(?=\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\|\\||&&|(?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}′⁺-ₜ∇[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\|>","name":"keyword.operator.applies.julia"},{"match":"\\||\\.\\||&|\\.&|[~¬]|\\.~|⊻|\\.⊻","name":"keyword.operator.bitwise.julia"},{"match":"\\.?(?:\\+\\+|--|[-*+|¦±−∓∔∨∪∸≏⊎⊔⊕⊖⊞⊟⊻⊽⋎⋓⟇⧺⧻⨈⨢-⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣]|//?|[%\\&\\\\^±·×÷·⅋↑↓⇵∓∗-∜∤∧∩≀⊍⊓⊗-⊛⊠⊡⊼⋄-⋇⋉-⋌⋏⋒⌿▷⟑⟕⟖⟗⟰⟱⤈-⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯⦸⦼⦾⦿⧶⧷⨇⨝⨟⨰-⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛￪￬])","name":"keyword.operator.arithmetic.julia"},{"match":"∘","name":"keyword.operator.compose.julia"},{"match":"::|(?<=\\s)isa(?=\\s)","name":"keyword.operator.isa.julia"},{"match":"(?<=\\s)in(?=\\s)","name":"keyword.operator.relation.in.julia"},{"match":"\\.(?=[@_\\p{L}])|\\.\\.+|[…⁝⋮-⋱]","name":"keyword.operator.dots.julia"},{"match":"\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)(('|(\\.'))*\\.?')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-matrix.julia"}},"match":"(])((?:\\.??')*\\.?')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-parens.julia"}},"match":"(\\))((?:\\.??')*\\.?')"}]},"parentheses":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(\\))(\\.?'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.separator.comma.julia"},{"match":";","name":"punctuation.separator.semicolon.julia"}]},"self_no_for_block":{"patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}]},"string":{"patterns":[{"begin":"(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\"\"\") ?(->)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"keyword.operator.arrow.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(i?cxx)(\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.cpp","end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.cxx.julia","patterns":[{"include":"source.cpp#root_context"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(py)(\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.python","end":"([\\s\\w]*)(\"\"\")","endCaptures":{"2":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.python.julia","patterns":[{"include":"source.python"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(js)(\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.javascript","end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.js.julia","patterns":[{"include":"source.js"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(R)(\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.r","end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.R.julia","patterns":[{"include":"source.r"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(raw)(\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(raw)(\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(sql)(\"\"\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.sql","end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.sql.julia","patterns":[{"include":"source.sql"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"var\"\"\"","end":"\"\"\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"var\"","end":"\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"^\\s?(doc)?(\"\"\")\\s?$","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\"\"\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.single.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.multiline.begin.julia"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.multiline.end.julia"}},"name":"string.quoted.triple.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"\"(?!\"\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"r\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\"\"\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"r\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\"\"\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\]\\\\)(\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.interpolated.backtick.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\]\\\\)(`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.interpolated.backtick.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]}]},"string_dollar_sign_interpolate":{"patterns":[{"match":"\\$[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}[^←-⇿\\P{So}][^$\\P{Sc}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}][^$\\P{Sc}]]*","name":"variable.interpolation.julia"},{"begin":"\\$(\\()","beginCaptures":{"1":{"name":"meta.bracket.julia"}},"end":"\\)","endCaptures":{"0":{"name":"meta.bracket.julia"}},"name":"variable.interpolation.julia","patterns":[{"include":"#self_no_for_block"}]}]},"string_escaped_char":{"patterns":[{"match":"\\\\(\\\\|[0-3]\\d{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8}|.)","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}′⁺-ₜ∇[:word:]]):[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*(?![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]])(?![\"`])","name":"constant.other.symbol.julia"}]},"type_decl":{"patterns":[{"captures":{"1":{"name":"entity.name.type.julia"},"2":{"name":"entity.other.inherited-class.julia"},"3":{"name":"punctuation.separator.inheritance.julia"}},"match":"!:_(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*)(\\s*(<:)\\s*[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^←-⇿\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}[^\\x01-¡\\P{Mn}][^\\x01-¡\\P{Mc}][^\\x01-¡\\D][^\\x01-¡\\P{Pc}][^\\x01-¡\\P{Sk}][^\\x01-¡\\P{Me}][^\\x01-¡\\P{No}][^←-⇿\\P{So}]]*(?:\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia"},{"displayName":"Python","name":"python","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated-parameter":{"begin":"\\b([_[:alpha:]]\\w*)\\s*(:)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.annotation.python"}},"end":"(,)|(?=\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"}]},"assignment-operator":{"match":"<<=|>>=|//=|\\*\\*=|\\+=|-=|/=|@=|\\*=|%=|~=|\\^=|&=|\\|=|=(?!=)","name":"keyword.operator.assignment.python"},"backticks":{"begin":"`","end":"`|(?<!\\\\)(\\n)","name":"invalid.deprecated.backtick.python","patterns":[{"include":"#expression"}]},"builtin-callables":{"patterns":[{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#builtin-exceptions"},{"include":"#builtin-functions"},{"include":"#builtin-types"}]},"builtin-exceptions":{"match":"(?<!\\.)\\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\\b","name":"support.type.exception.python"},"builtin-functions":{"patterns":[{"match":"(?<!\\.)\\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\\b","name":"support.function.builtin.python"},{"match":"(?<!\\.)\\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\\b","name":"variable.legacy.builtin.python"}]},"builtin-possible-callables":{"patterns":[{"include":"#builtin-callables"},{"include":"#magic-names"}]},"builtin-types":{"match":"(?<!\\.)\\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\\b","name":"support.type.python"},"call-wrapper-inheritance":{"begin":"\\b(?=([_[:alpha:]]\\w*)\\s*(\\())","end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#inheritance-name"},{"include":"#function-arguments"}]},"class-declaration":{"patterns":[{"begin":"\\s*(class)\\s+(?=[_[:alpha:]]\\w*\\s*([(:]))","beginCaptures":{"1":{"name":"storage.type.class.python"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.section.class.begin.python"}},"name":"meta.class.python","patterns":[{"include":"#class-name"},{"include":"#class-inheritance"}]}]},"class-inheritance":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.inheritance.end.python"}},"name":"meta.class.inheritance.python","patterns":[{"match":"(\\*\\*?)","name":"keyword.operator.unpacking.arguments.python"},{"match":",","name":"punctuation.separator.inheritance.python"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"match":"\\bmetaclass\\b","name":"support.type.metaclass.python"},{"include":"#illegal-names"},{"include":"#class-kwarg"},{"include":"#call-wrapper-inheritance"},{"include":"#expression-base"},{"include":"#member-access-class"},{"include":"#inheritance-identifier"}]},"class-kwarg":{"captures":{"1":{"name":"entity.other.inherited-class.python variable.parameter.class.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\b([_[:alpha:]]\\w*)\\s*(=)(?!=)"},"class-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\b([_[:alpha:]]\\w*)\\b","name":"entity.name.type.class.python"}]},"codetags":{"captures":{"1":{"name":"keyword.codetag.notation.python"}},"match":"\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b"},"comments":{"patterns":[{"begin":"#\\s*(type:)\\s*+(?!$|#)","beginCaptures":{"0":{"name":"meta.typehint.comment.python"},"1":{"name":"comment.typehint.directive.notation.python"}},"contentName":"meta.typehint.comment.python","end":"$|(?=#)","name":"comment.line.number-sign.python","patterns":[{"match":"\\Gignore(?=\\s*(?:$|#))","name":"comment.typehint.ignore.notation.python"},{"match":"(?<!\\.)\\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\\b","name":"comment.typehint.type.notation.python"},{"match":"([]()*,.=\\[]|(->))","name":"comment.typehint.punctuation.notation.python"},{"match":"([_[:alpha:]]\\w*)","name":"comment.typehint.variable.notation.python"}]},{"include":"#comments-base"}]},"comments-base":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"$()","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-double-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?=\"\"\"))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-single-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?='''))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"curly-braces":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.python"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.python"}},"patterns":[{"match":":","name":"punctuation.separator.dict.python"},{"include":"#expression"}]},"decorator":{"begin":"^\\s*((@))\\s*(?=[_[:alpha:]]\\w*)","beginCaptures":{"1":{"name":"entity.name.function.decorator.python"},"2":{"name":"punctuation.definition.decorator.python"}},"end":"(\\))(.*?)(?=\\s*(?:#|$))|(?=[\\n#])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"invalid.illegal.decorator.python"}},"name":"meta.function.decorator.python","patterns":[{"include":"#decorator-name"},{"include":"#function-arguments"}]},"decorator-name":{"patterns":[{"include":"#builtin-callables"},{"include":"#illegal-object-name"},{"captures":{"2":{"name":"punctuation.separator.period.python"}},"match":"([_[:alpha:]]\\w*)|(\\.)","name":"entity.name.function.decorator.python"},{"include":"#line-continuation"},{"captures":{"1":{"name":"invalid.illegal.decorator.python"}},"match":"\\s*([^#(.\\\\_[:alpha:]\\s].*?)(?=#|$)","name":"invalid.illegal.decorator.python"}]},"docstring":{"patterns":[{"begin":"('''|\"\"\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.multi.python","patterns":[{"include":"#docstring-prompt"},{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])('''|\"\"\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.raw.multi.python","patterns":[{"include":"#string-consume-escape"},{"include":"#docstring-prompt"},{"include":"#codetags"}]},{"begin":"([\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\1)|(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.single.python","patterns":[{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])([\"'])","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\2)|(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.raw.single.python","patterns":[{"include":"#string-consume-escape"},{"include":"#codetags"}]}]},"docstring-guts-unicode":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"docstring-prompt":{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"(?:^|\\G)\\s*((?:>>>|\\.\\.\\.)\\s)(?=\\s*\\S)"},"docstring-statement":{"begin":"^(?=\\s*[Rr]?('''|\"\"\"|[\"']))","end":"((?<=\\1)|^)(?!\\s*[Rr]?('''|\"\"\"|[\"']))","patterns":[{"include":"#docstring"}]},"double-one-regexp-character-set":{"patterns":[{"match":"\\[\\^?](?!.*?])"},{"begin":"(\\[)(\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\N","name":"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{"begin":"\\(\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"double-one-regexp-conditional":{"begin":"(\\()\\?\\((\\w+(?:\\s+\\p{alnum}+)?|\\d+)\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#double-one-regexp-character-set"},{"include":"#double-one-regexp-comments"},{"include":"#regexp-flags"},{"include":"#double-one-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#double-one-regexp-lookahead"},{"include":"#double-one-regexp-lookahead-negative"},{"include":"#double-one-regexp-lookbehind"},{"include":"#double-one-regexp-lookbehind-negative"},{"include":"#double-one-regexp-conditional"},{"include":"#double-one-regexp-parentheses-non-capturing"},{"include":"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{"begin":"(\\()\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{"begin":"(\\()\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{"begin":"(\\()\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{"begin":"(\\()\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{"begin":"(\\()(\\?P<\\w+(?:\\s+\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{"begin":"\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{"begin":"\\(\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\)|(?=\"))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{"patterns":[{"match":"\\[\\^?](?!.*?])"},{"begin":"(\\[)(\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\"\"\"))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\N","name":"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{"begin":"\\(\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"double-three-regexp-conditional":{"begin":"(\\()\\?\\((\\w+(?:\\s+\\p{alnum}+)?|\\d+)\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#double-three-regexp-character-set"},{"include":"#double-three-regexp-comments"},{"include":"#regexp-flags"},{"include":"#double-three-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#double-three-regexp-lookahead"},{"include":"#double-three-regexp-lookahead-negative"},{"include":"#double-three-regexp-lookbehind"},{"include":"#double-three-regexp-lookbehind-negative"},{"include":"#double-three-regexp-conditional"},{"include":"#double-three-regexp-parentheses-non-capturing"},{"include":"#double-three-regexp-parentheses"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookahead":{"begin":"(\\()\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{"begin":"(\\()\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{"begin":"(\\()\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{"begin":"(\\()\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-named-group":{"begin":"(\\()(\\?P<\\w+(?:\\s+\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses":{"begin":"\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{"begin":"\\(\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\)|(?=\"\"\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"ellipsis":{"match":"\\.\\.\\.","name":"constant.other.ellipsis.python"},"escape-sequence":{"match":"\\\\(x\\h{2}|[0-7]{1,3}|[\"'\\\\abfnrtv])","name":"constant.character.escape.python"},"escape-sequence-unicode":{"patterns":[{"match":"\\\\(u\\h{4}|U\\h{8}|N\\{[\\w\\s]+?})","name":"constant.character.escape.python"}]},"expression":{"patterns":[{"include":"#expression-base"},{"include":"#member-access"},{"match":"\\b([_[:alpha:]]\\w*)\\b"}]},"expression-bare":{"patterns":[{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#literal"},{"include":"#regexp"},{"include":"#string"},{"include":"#lambda"},{"include":"#generator"},{"include":"#illegal-operator"},{"include":"#operator"},{"include":"#curly-braces"},{"include":"#item-access"},{"include":"#list"},{"include":"#odd-function-call"},{"include":"#round-braces"},{"include":"#function-call"},{"include":"#builtin-functions"},{"include":"#builtin-types"},{"include":"#builtin-exceptions"},{"include":"#magic-names"},{"include":"#special-names"},{"include":"#illegal-names"},{"include":"#special-variables"},{"include":"#ellipsis"},{"include":"#punctuation"},{"include":"#line-continuation"}]},"expression-base":{"patterns":[{"include":"#comments"},{"include":"#expression-bare"},{"include":"#line-continuation"}]},"f-expression":{"patterns":[{"include":"#expression-bare"},{"include":"#member-access"},{"match":"\\b([_[:alpha:]]\\w*)\\b"}]},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\{\\{(\\d+|\\d+,(\\d+)?|,\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{"begin":"\\b([Ff])([BUbu])?('''|\"\"\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},"end":"(\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{"begin":"\\b([Ff])([BUbu])?(([\"']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},"end":"(\\3)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-single-core"}]},"fstring-formatting":{"patterns":[{"include":"#fstring-formatting-braces"},{"include":"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"2":{"name":"invalid.illegal.brace.python"},"3":{"name":"constant.character.format.placeholder.other.python"}},"match":"(\\{)(\\s*?)(})"},{"match":"(\\{\\{|}})","name":"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{"match":"(}(?!}))","name":"invalid.illegal.brace.python"},"fstring-guts":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#fstring-formatting"}]},"fstring-illegal-multi-brace":{"patterns":[{"include":"#impossible"}]},"fstring-illegal-single-brace":{"begin":"(\\{)(?=[^\\n}]*$\\n?)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})|(?=\\n)","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-single"},{"include":"#f-expression"}]},"fstring-multi-brace":{"begin":"(\\{)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-multi"},{"include":"#f-expression"}]},"fstring-multi-core":{"match":"(.+?)($(\\n?)|(?=[\\\\{}]|'''|\"\"\"))|\\n","name":"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{"begin":"\\b([BUbu])([Ff])('''|\"\"\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python string.quoted.multi.python"}},"end":"(\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{"begin":"\\b([BUbu])([Ff])(([\"']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python string.quoted.single.python"}},"end":"(\\3)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-single-core"}]},"fstring-raw-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#fstring-formatting"}]},"fstring-raw-multi-core":{"match":"(.+?)($(\\n?)|(?=[\\\\{}]|'''|\"\"\"))|\\n","name":"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{"begin":"\\b([Rr][Ff]|[Ff][Rr])('''|\"\"\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-raw-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{"begin":"\\b([Rr][Ff]|[Ff][Rr])(([\"']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},"end":"(\\2)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-raw-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-raw-single-core"}]},"fstring-raw-single-core":{"match":"(.+?)($(\\n?)|(?=[\\\\{}]|([\"'])|((?<!\\\\)\\n)))|\\n","name":"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{"begin":"(\\{)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})|(?=\\n)","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-single"},{"include":"#f-expression"}]},"fstring-single-core":{"match":"(.+?)($(\\n?)|(?=[\\\\{}]|([\"'])|((?<!\\\\)\\n)))|\\n","name":"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\w?[<=>^]?[- +]?#?\\d*,?(\\.\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})","patterns":[{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\.\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\w)","name":"storage.type.format.python"}]},"fstring-terminator-single":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\w?[<=>^]?[- +]?#?\\d*,?(\\.\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})|(?=\\n)","patterns":[{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\.\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\w)","name":"storage.type.format.python"}]},"function-arguments":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.function-call.arguments.python","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.python"},{"captures":{"1":{"name":"keyword.operator.unpacking.arguments.python"}},"match":"(?:(?<=[(,])|^)\\s*(\\*{1,2})"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function-call.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\b([_[:alpha:]]\\w*)\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"include":"#expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"punctuation.definition.arguments.begin.python"}},"match":"\\s*(\\))\\s*(\\()"}]},"function-call":{"begin":"\\b(?=([_[:alpha:]]\\w*)\\s*(\\())","end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#special-variables"},{"include":"#function-name"},{"include":"#function-arguments"}]},"function-declaration":{"begin":"\\s*(?:\\b(async)\\s+)?\\b(def)\\s+(?=[_[:alpha:]]\\p{word}*\\s*\\()","beginCaptures":{"1":{"name":"storage.type.function.async.python"},"2":{"name":"storage.type.function.python"}},"end":"(:|(?=[\\n\"#']))","endCaptures":{"1":{"name":"punctuation.section.function.begin.python"}},"name":"meta.function.python","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}]},"function-def-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\b([_[:alpha:]]\\w*)\\b","name":"entity.name.function.python"}]},"function-name":{"patterns":[{"include":"#builtin-possible-callables"},{"match":"\\b([_[:alpha:]]\\w*)\\b","name":"meta.function-call.generic.python"}]},"generator":{"begin":"\\bfor\\b","beginCaptures":{"0":{"name":"keyword.control.flow.python"}},"end":"\\bin\\b","endCaptures":{"0":{"name":"keyword.control.flow.python"}},"patterns":[{"include":"#expression"}]},"illegal-anno":{"match":"->","name":"invalid.illegal.annotation.python"},"illegal-names":{"captures":{"1":{"name":"keyword.control.flow.python"},"2":{"name":"keyword.control.import.python"}},"match":"\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\.)lambda|lambda(?=\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\b"},"illegal-object-name":{"match":"\\b(True|False|None)\\b","name":"keyword.illegal.name.python"},"illegal-operator":{"patterns":[{"match":"&&|\\|\\||--|\\+\\+","name":"invalid.illegal.operator.python"},{"match":"[$?]","name":"invalid.illegal.operator.python"},{"match":"!\\b","name":"invalid.illegal.operator.python"}]},"import":{"patterns":[{"begin":"\\b(?<!\\.)(from)\\b(?=.+import)","beginCaptures":{"1":{"name":"keyword.control.import.python"}},"end":"$|(?=import)","patterns":[{"match":"\\.+","name":"punctuation.separator.period.python"},{"include":"#expression"}]},{"begin":"\\b(?<!\\.)(import)\\b","beginCaptures":{"1":{"name":"keyword.control.import.python"}},"end":"$","patterns":[{"match":"\\b(?<!\\.)as\\b","name":"keyword.control.import.python"},{"include":"#expression"}]}]},"impossible":{"match":"$.^"},"inheritance-identifier":{"captures":{"1":{"name":"entity.other.inherited-class.python"}},"match":"\\b([_[:alpha:]]\\w*)\\b"},"inheritance-name":{"patterns":[{"include":"#lambda-incomplete"},{"include":"#builtin-possible-callables"},{"include":"#inheritance-identifier"}]},"item-access":{"patterns":[{"begin":"\\b(?=[_[:alpha:]]\\w*\\s*\\[)","end":"(])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.item-access.python","patterns":[{"include":"#item-name"},{"include":"#item-index"},{"include":"#expression"}]}]},"item-index":{"begin":"(\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.item-access.arguments.python","end":"(?=])","patterns":[{"match":":","name":"punctuation.separator.slice.python"},{"include":"#expression"}]},"item-name":{"patterns":[{"include":"#special-variables"},{"include":"#builtin-functions"},{"include":"#special-names"},{"match":"\\b([_[:alpha:]]\\w*)\\b","name":"meta.indexed-name.python"}]},"lambda":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"((?<=\\.)lambda|lambda(?=\\s*[.=]))"},{"captures":{"1":{"name":"storage.type.function.lambda.python"}},"match":"\\b(lambda)\\s*?(?=[\\n,]|$)"},{"begin":"\\b(lambda)\\b","beginCaptures":{"1":{"name":"storage.type.function.lambda.python"}},"contentName":"meta.function.lambda.parameters.python","end":"(:)|(\\n)","endCaptures":{"1":{"name":"punctuation.section.function.lambda.begin.python"}},"name":"meta.lambda-function.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\*\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-nested-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\w*)\\s*(?:(,)|(?=:|$))"},{"include":"#comments"},{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#lambda-parameter-with-default"},{"include":"#line-continuation"},{"include":"#illegal-operator"}]}]},"lambda-incomplete":{"match":"\\blambda(?=\\s*[),])","name":"storage.type.function.lambda.python"},"lambda-nested-incomplete":{"match":"\\blambda(?=\\s*[),:])","name":"storage.type.function.lambda.python"},"lambda-parameter-with-default":{"begin":"\\b([_[:alpha:]]\\w*)\\s*(=)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"keyword.operator.python"}},"end":"(,)|(?=:|$)","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"}]},"line-continuation":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.continuation.line.python"},"2":{"name":"invalid.illegal.line.continuation.python"}},"match":"(\\\\)\\s*(\\S.*$\\n?)"},{"begin":"(\\\\)\\s*$\\n?","beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.python"}},"end":"(?=^\\s*$)|(?!(\\s*[Rr]?('''|\"\"\"|[\"']))|\\G()$)","patterns":[{"include":"#regexp"},{"include":"#string"}]}]},"list":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.begin.python"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.end.python"}},"patterns":[{"include":"#expression"}]},"literal":{"patterns":[{"match":"\\b(True|False|None|NotImplemented|Ellipsis)\\b","name":"constant.language.python"},{"include":"#number"}]},"loose-default":{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.python"}},"end":"(,)|(?=\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"}]},"magic-function-names":{"captures":{"1":{"name":"support.function.magic.python"}},"match":"\\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|get??|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|len??|long|lshift|lt|missing|mod|mul|neg??|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\\b"},"magic-names":{"patterns":[{"include":"#magic-function-names"},{"include":"#magic-variable-names"}]},"magic-variable-names":{"captures":{"1":{"name":"support.variable.magic.python"}},"match":"\\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\\b"},"member-access":{"begin":"(\\.)\\s*(?!\\.)","beginCaptures":{"1":{"name":"punctuation.separator.period.python"}},"end":"(?<=\\S)(?=\\W)|(^|(?<=\\s))(?=[^\\\\\\w\\s])|$","name":"meta.member.access.python","patterns":[{"include":"#function-call"},{"include":"#member-access-base"},{"include":"#member-access-attribute"}]},"member-access-attribute":{"match":"\\b([_[:alpha:]]\\w*)\\b","name":"meta.attribute.python"},"member-access-base":{"patterns":[{"include":"#magic-names"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#special-names"},{"include":"#line-continuation"},{"include":"#item-access"}]},"member-access-class":{"begin":"(\\.)\\s*(?!\\.)","beginCaptures":{"1":{"name":"punctuation.separator.period.python"}},"end":"(?<=\\S)(?=\\W)|$","name":"meta.member.access.python","patterns":[{"include":"#call-wrapper-inheritance"},{"include":"#member-access-base"},{"include":"#inheritance-identifier"}]},"number":{"name":"constant.numeric.python","patterns":[{"include":"#number-float"},{"include":"#number-dec"},{"include":"#number-hex"},{"include":"#number-oct"},{"include":"#number-bin"},{"include":"#number-long"},{"match":"\\b[0-9]+\\w+","name":"invalid.illegal.name.python"}]},"number-bin":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\w])(0[Bb])(_?[01])+\\b","name":"constant.numeric.bin.python"},"number-dec":{"captures":{"1":{"name":"storage.type.imaginary.number.python"},"2":{"name":"invalid.illegal.dec.python"}},"match":"(?<![.\\w])(?:[1-9](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([Jj])|0([0-9]+)(?![.Ee]))\\b","name":"constant.numeric.dec.python"},"number-float":{"captures":{"1":{"name":"storage.type.imaginary.number.python"}},"match":"(?<!\\w)(?:(?:\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\.)(?:[Ee][-+]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[Ee][-+]?[0-9](?:_?[0-9])*)([Jj])?\\b","name":"constant.numeric.float.python"},"number-hex":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\w])(0[Xx])(_?\\h)+\\b","name":"constant.numeric.hex.python"},"number-long":{"captures":{"2":{"name":"storage.type.number.python"}},"match":"(?<![.\\w])([1-9][0-9]*|0)([Ll])\\b","name":"constant.numeric.bin.python"},"number-oct":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\w])(0[Oo])(_?[0-7])+\\b","name":"constant.numeric.oct.python"},"odd-function-call":{"begin":"(?<=[])])\\s*(?=\\()","end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"patterns":[{"include":"#function-arguments"}]},"operator":{"captures":{"1":{"name":"keyword.operator.logical.python"},"2":{"name":"keyword.control.flow.python"},"3":{"name":"keyword.operator.bitwise.python"},"4":{"name":"keyword.operator.arithmetic.python"},"5":{"name":"keyword.operator.comparison.python"},"6":{"name":"keyword.operator.assignment.python"}},"match":"\\b(?<!\\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\\s+from)?))(?!\\s*:)\\b|(<<|>>|[\\&^|~])|(\\*\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"parameter-special":{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"variable.parameter.function.language.special.self.python"},"3":{"name":"variable.parameter.function.language.special.cls.python"},"4":{"name":"punctuation.separator.parameters.python"}},"match":"\\b((self)|(cls))\\b\\s*(?:(,)|(?=\\)))"},"parameters":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python"}},"name":"meta.function.parameters.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\*\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#parameter-special"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\w*)\\s*(?:(,)|(?=[\\n#)=]))"},{"include":"#comments"},{"include":"#loose-default"},{"include":"#annotated-parameter"}]},"punctuation":{"patterns":[{"match":":","name":"punctuation.separator.colon.python"},{"match":",","name":"punctuation.separator.element.python"}]},"regexp":{"patterns":[{"include":"#regexp-single-three-line"},{"include":"#regexp-double-three-line"},{"include":"#regexp-single-one-line"},{"include":"#regexp-double-one-line"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\()(\\?P=\\w+(?:\\s+\\p{alnum}+)?)(\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\[1-9]\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\.","name":"support.other.match.any.regexp"},{"match":"\\^","name":"support.other.match.begin.regexp"},{"match":"\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\[\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-double-one-line":{"begin":"\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\")|(?<!\\\\)(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.single.python","patterns":[{"include":"#double-one-regexp-expression"}]},"regexp-double-three-line":{"begin":"\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\"\"\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\"\"\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.multi.python","patterns":[{"include":"#double-three-regexp-expression"}]},"regexp-escape-catchall":{"match":"\\\\(.|\\n)","name":"constant.character.escape.regexp"},"regexp-escape-character":{"match":"\\\\(x\\h{2}|0[0-7]{1,2}|[0-7]{3})","name":"constant.character.escape.regexp"},"regexp-escape-sequence":{"patterns":[{"include":"#regexp-escape-special"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-backreference-number"},{"include":"#regexp-escape-catchall"}]},"regexp-escape-special":{"match":"\\\\([ABDSWZbdsw])","name":"support.other.escape.special.regexp"},"regexp-escape-unicode":{"match":"\\\\(u\\h{4}|U\\h{8})","name":"constant.character.unicode.regexp"},"regexp-flags":{"match":"\\(\\?[Laimsux]+\\)","name":"storage.modifier.flag.regexp"},"regexp-quantifier":{"match":"\\{(\\d+|\\d+,(\\d+)?|,\\d+)}","name":"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{"begin":"\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(')","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(')|(?<!\\\\)(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.single.python","patterns":[{"include":"#single-one-regexp-expression"}]},"regexp-single-three-line":{"begin":"\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(''')","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(''')","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.multi.python","patterns":[{"include":"#single-three-regexp-expression"}]},"return-annotation":{"begin":"(->)","beginCaptures":{"1":{"name":"punctuation.separator.annotation.result.python"}},"end":"(?=:)","patterns":[{"include":"#expression"}]},"round-braces":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.python"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.python"}},"patterns":[{"include":"#expression"}]},"semicolon":{"patterns":[{"match":";$","name":"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{"patterns":[{"match":"\\[\\^?](?!.*?])"},{"begin":"(\\[)(\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\N","name":"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{"begin":"\\(\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"single-one-regexp-conditional":{"begin":"(\\()\\?\\((\\w+(?:\\s+\\p{alnum}+)?|\\d+)\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#single-one-regexp-character-set"},{"include":"#single-one-regexp-comments"},{"include":"#regexp-flags"},{"include":"#single-one-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#single-one-regexp-lookahead"},{"include":"#single-one-regexp-lookahead-negative"},{"include":"#single-one-regexp-lookbehind"},{"include":"#single-one-regexp-lookbehind-negative"},{"include":"#single-one-regexp-conditional"},{"include":"#single-one-regexp-parentheses-non-capturing"},{"include":"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{"begin":"(\\()\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{"begin":"(\\()\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{"begin":"(\\()\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{"begin":"(\\()\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{"begin":"(\\()(\\?P<\\w+(?:\\s+\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{"begin":"\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{"begin":"\\(\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\)|(?='))|((?=(?<!\\\\)\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{"patterns":[{"match":"\\[\\^?](?!.*?])"},{"begin":"(\\[)(\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?='''))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\N","name":"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{"begin":"\\(\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"single-three-regexp-conditional":{"begin":"(\\()\\?\\((\\w+(?:\\s+\\p{alnum}+)?|\\d+)\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#single-three-regexp-character-set"},{"include":"#single-three-regexp-comments"},{"include":"#regexp-flags"},{"include":"#single-three-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#single-three-regexp-lookahead"},{"include":"#single-three-regexp-lookahead-negative"},{"include":"#single-three-regexp-lookbehind"},{"include":"#single-three-regexp-lookbehind-negative"},{"include":"#single-three-regexp-conditional"},{"include":"#single-three-regexp-parentheses-non-capturing"},{"include":"#single-three-regexp-parentheses"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookahead":{"begin":"(\\()\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{"begin":"(\\()\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{"begin":"(\\()\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{"begin":"(\\()\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-named-group":{"begin":"(\\()(\\?P<\\w+(?:\\s+\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses":{"begin":"\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{"begin":"\\(\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"special-names":{"match":"\\b(_*\\p{upper}[_\\d]*\\p{upper})[[:upper:]\\d]*(_\\w*)?\\b","name":"constant.other.caps.python"},"special-variables":{"captures":{"1":{"name":"variable.language.special.self.python"},"2":{"name":"variable.language.special.cls.python"}},"match":"\\b(?<!\\.)(?:(self)|(cls))\\b"},"statement":{"patterns":[{"include":"#import"},{"include":"#class-declaration"},{"include":"#function-declaration"},{"include":"#generator"},{"include":"#statement-keyword"},{"include":"#assignment-operator"},{"include":"#decorator"},{"include":"#docstring-statement"},{"include":"#semicolon"}]},"statement-keyword":{"patterns":[{"match":"\\b((async\\s+)?\\s*def)\\b","name":"storage.type.function.python"},{"match":"\\b(?<!\\.)as\\b(?=.*[:\\\\])","name":"keyword.control.flow.python"},{"match":"\\b(?<!\\.)as\\b","name":"keyword.control.import.python"},{"match":"\\b(?<!\\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\\b","name":"keyword.control.flow.python"},{"match":"\\b(?<!\\.)(global|nonlocal)\\b","name":"storage.modifier.declaration.python"},{"match":"\\b(?<!\\.)(class)\\b","name":"storage.type.class.python"},{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"^\\s*(case|match)(?=\\s*([-\"#'(+:\\[{\\w\\d]|$))\\b"}]},"string":{"patterns":[{"include":"#string-quoted-multi-line"},{"include":"#string-quoted-single-line"},{"include":"#string-bin-quoted-multi-line"},{"include":"#string-bin-quoted-single-line"},{"include":"#string-raw-quoted-multi-line"},{"include":"#string-raw-quoted-single-line"},{"include":"#string-raw-bin-quoted-multi-line"},{"include":"#string-raw-bin-quoted-single-line"},{"include":"#fstring-fnorm-quoted-multi-line"},{"include":"#fstring-fnorm-quoted-single-line"},{"include":"#fstring-normf-quoted-multi-line"},{"include":"#fstring-normf-quoted-single-line"},{"include":"#fstring-raw-quoted-multi-line"},{"include":"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{"begin":"\\b([Bb])('''|\"\"\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.binary.multi.python","patterns":[{"include":"#string-entity"}]},"string-bin-quoted-single-line":{"begin":"\\b([Bb])(([\"']))","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\2)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.binary.single.python","patterns":[{"include":"#string-entity"}]},"string-brace-formatting":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\{\\{|}}|\\{\\w*(\\.[_[:alpha:]]\\w*|\\[[^]\"']+])*(![ars])?(:\\w?[<=>^]?[- +]?#?\\d*,?(\\.\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.python"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\{\\w*(\\.[_[:alpha:]]\\w*|\\[[^]\"']+])*(![ars])?(:)[^\\n\"'{}]*(?:\\{[^\\n\"'}]*?}[^\\n\"'{}]*)*})","name":"meta.format.brace.python"}]},"string-consume-escape":{"match":"\\\\[\\n\"'\\\\]"},"string-entity":{"patterns":[{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#string-formatting"}]},"string-formatting":{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"match":"(%(\\([\\w\\s]*\\))?[- #+0]*(\\d+|\\*)?(\\.(\\d+|\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.python"},"string-line-continuation":{"match":"\\\\$","name":"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{"begin":"(?=\\{%(.*?(?!'''|\"\"\"))%})","end":"(?='''|\"\"\")","patterns":[{"include":"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{"begin":"(?=\\{%(.*?(?!'''|\"\"\"))%})","end":"(?='''|\"\"\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{"begin":"(?!\\{\\{)(?=\\{(\\w*?(?!'''|\"\"\")[^!.:\\[}\\w]).*?(?!'''|\"\"\")})","end":"(?='''|\"\"\")","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{"begin":"(?!\\{\\{)(?=\\{(\\w*?(?!'''|\"\"\")[^!.:\\[}\\w]).*?(?!'''|\"\"\")})","end":"(?='''|\"\"\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-quoted-multi-line":{"begin":"(?:\\b([Rr])(?=[Uu]))?([Uu])?('''|\"\"\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-unicode"},{"include":"#string-multi-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-quoted-single-line":{"begin":"(?:\\b([Rr])(?=[Uu]))?([Uu])?(([\"']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\3)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.single.python","patterns":[{"include":"#string-single-bad-brace1-formatting-unicode"},{"include":"#string-single-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-raw-bin-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{"begin":"\\b(R[Bb]|[Bb]R)('''|\"\"\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.binary.multi.python","patterns":[{"include":"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{"begin":"\\b(R[Bb]|[Bb]R)(([\"']))","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\2)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.binary.single.python","patterns":[{"include":"#string-raw-bin-guts"}]},"string-raw-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"},{"include":"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{"begin":"\\b(([Uu]R)|(R))('''|\"\"\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\4)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-raw"},{"include":"#string-multi-bad-brace2-formatting-raw"},{"include":"#string-raw-guts"}]},"string-raw-quoted-single-line":{"begin":"\\b(([Uu]R)|(R))(([\"']))","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\4)|((?<!\\\\)\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.single.python","patterns":[{"include":"#string-single-bad-brace1-formatting-raw"},{"include":"#string-single-bad-brace2-formatting-raw"},{"include":"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{"begin":"(?=\\{%(.*?(?!([\"'])|((?<!\\\\)\\n)))%})","end":"(?=([\"'])|((?<!\\\\)\\n))","patterns":[{"include":"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{"begin":"(?=\\{%(.*?(?!([\"'])|((?<!\\\\)\\n)))%})","end":"(?=([\"'])|((?<!\\\\)\\n))","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{"begin":"(?!\\{\\{)(?=\\{(\\w*?(?!([\"'])|((?<!\\\\)\\n))[^!.:\\[}\\w]).*?(?!([\"'])|((?<!\\\\)\\n))})","end":"(?=([\"'])|((?<!\\\\)\\n))","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{"begin":"(?!\\{\\{)(?=\\{(\\w*?(?!([\"'])|((?<!\\\\)\\n))[^!.:\\[}\\w]).*?(?!([\"'])|((?<!\\\\)\\n))})","end":"(?=([\"'])|((?<!\\\\)\\n))","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-unicode-guts":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"},{"include":"#string-brace-formatting"}]}},"scopeName":"source.python"},{"displayName":"PowerShell","name":"powershell","patterns":[{"begin":"<#","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"end":"#>","endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}},"name":"comment.block.powershell","patterns":[{"include":"#commentEmbeddedDocs"}]},{"match":"[2-6]>&1|>>?|<<|[<>]|>\\||[1-6]>|[1-6]>>","name":"keyword.operator.redirection.powershell"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"applyEndPatternLast":true,"begin":"['‘-‛]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"['‘-‛]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.powershell","patterns":[{"match":"['‘-‛]{2}","name":"constant.character.escape.powershell"}]},{"begin":"(@[\"“”„])\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\"“”„]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.heredoc.powershell","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}]},{"begin":"(@['‘-‛])\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^['‘-‛]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.heredoc.powershell"},{"include":"#numericConstant"},{"begin":"(@)(\\()","beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.array-expression.powershell","patterns":[{"include":"$self"}]},{"begin":"((\\$))(\\()","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.complex.subexpression.powershell","patterns":[{"include":"$self"}]},{"match":"\\b((([-.0-9A-Z_a-z]+)\\.(?i:exe|com|cmd|bat)))\\b","name":"support.function.powershell"},{"match":"(?<![-.\\w])((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|[%?])(?!\\w)","name":"keyword.control.powershell"},{"match":"(?<![-\\w]|[^)]\\.)((?i:(foreach|where)(?!-object))|[%?])(?!\\w)","name":"keyword.control.powershell"},{"begin":"(?<!\\w)(--%)(?!\\w)","beginCaptures":{"1":{"name":"keyword.control.powershell"}},"end":"$","patterns":[{"match":".+","name":"string.unquoted.powershell"}]},{"match":"(?<!\\w)((?i:hidden|static))(?!\\w)","name":"storage.modifier.powershell"},{"captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}},"match":"(?<![-\\w])((?i:class)|[%?])\\s+([-_\\p{L}\\d]?{1,})\\b"},{"match":"(?<!\\w)-(?i:is(?:not)?|as)\\b","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\w)-(?i:[ci]?(?:eq|ne|[gl][et]|(?:not)?(?:like|match|contains|in)|replace))(?!\\p{L})","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\w)-(?i:join|split)(?!\\p{L})|!","name":"keyword.operator.unary.powershell"},{"match":"(?<!\\w)-(?i:and|or|not|xor)(?!\\p{L})|!","name":"keyword.operator.logical.powershell"},{"match":"(?<!\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\p{L})","name":"keyword.operator.bitwise.powershell"},{"match":"(?<!\\w)-(?i:f)(?!\\p{L})","name":"keyword.operator.string-format.powershell"},{"match":"[-%*+/]?=|[-%*+/]","name":"keyword.operator.assignment.powershell"},{"match":"\\|{2}|&{2}|;","name":"punctuation.terminator.statement.powershell"},{"match":"&|(?<!\\w)\\.(?= )|[,`|]","name":"keyword.operator.other.powershell"},{"match":"(?<!\\s|^)\\.\\.(?=-?\\d|[$(])","name":"keyword.operator.range.powershell"}],"repository":{"RequiresDirective":{"begin":"(?<=#)(?i:(requires))\\s","beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}},"end":"$","name":"meta.requires.powershell","patterns":[{"match":"-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)","name":"keyword.other.powershell"},{"match":"(?<!-)\\b\\p{L}+|\\d+(?:\\.\\d+)*","name":"variable.parameter.powershell"},{"include":"#hashtable"}]},"UsingDirective":{"captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}},"match":"(?<!\\w)(?i:(using))\\s+(?i:(namespace|module))\\s+(?i:((?:\\w+\\.?)+))"},"attribute":{"begin":"(\\[)\\s*\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\b","beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}},"name":"meta.attribute.powershell","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"patterns":[{"include":"$self"},{"captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}},"match":"(?i)\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\b\\s+{0,1}(=)?"}]}]},"commands":{"patterns":[{"match":"(?:([-:\\\\_\\p{L}\\d])*\\\\)?\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)-.+?(?:\\.(?i:exe|cmd|bat|ps1))?\\b","name":"support.function.powershell"},{"match":"(?<!\\w)(?i:foreach-object)(?!\\w)","name":"support.function.powershell"},{"match":"(?<!\\w)(?i:where-object)(?!\\w)","name":"support.function.powershell"},{"match":"(?<!\\w)(?i:sort-object)(?!\\w)","name":"support.function.powershell"},{"match":"(?<!\\w)(?i:tee-object)(?!\\w)","name":"support.function.powershell"}]},"commentEmbeddedDocs":{"patterns":[{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\G)(?i:\\s*(\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\s*$","name":"comment.documentation.embedded.powershell"},{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\G)(?i:\\s*(\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\s+(.+?)\\s*$","name":"comment.documentation.embedded.powershell"}]},"commentLine":{"begin":"(?<![-\\\\`])(#)#*","captures":{"1":{"name":"punctuation.definition.comment.powershell"}},"end":"$\\n?","name":"comment.line.powershell","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}]},"doubleQuotedString":{"applyEndPatternLast":true,"begin":"[\"“”„]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\"“”„]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.powershell","patterns":[{"match":"(?i)\\b[-%+.0-9A-Z_]+@[-.0-9A-Z]+\\.[A-Z]{2,64}\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"match":"[\"“”„]{2}","name":"constant.character.escape.powershell"},{"include":"#interpolation"},{"match":"`\\s*$","name":"keyword.other.powershell"}]},"doubleQuotedStringEscapes":{"patterns":[{"match":"`[\"$'0`abefnrtv‘-„]","name":"constant.character.escape.powershell"},{"include":"#unicodeEscape"}]},"function":{"begin":"^\\s*+(?i)(function|filter|configuration|workflow)\\s+(?:(global|local|script|private):)?([-._\\p{L}\\d]+)","beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}},"end":"(?=[({])","patterns":[{"include":"#commentLine"}]},"hashtable":{"begin":"(@)(\\{)","beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.hashtable.powershell","patterns":[{"captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}},"match":"\\b([\"']?)(\\w+)([\"']?)\\s+{0,1}(=)\\s+{0,1}","name":"meta.hashtable.assignment.powershell"},{"include":"#scriptblock"},{"include":"$self"}]},"interpolation":{"begin":"(((\\$)))((\\())","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"contentName":"interpolated.complex.source.powershell","end":"(\\))","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}},"name":"meta.embedded.substatement.powershell","patterns":[{"include":"$self"}]},"numericConstant":{"patterns":[{"captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?0[Xx][_\\h]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?[0-9_]+{0,1}\\.[0-9_]+(?:[Ee][0-9]+)?[DFMdfm]?)((?i:[gkmpt]b)?)\\b"},{"captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?0[Bb][01_]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?[0-9_]+[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?[0-9_]+\\.[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?[0-9_]+\\.?[DFMdfm])((?i:[gkmpt]b)?)\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\w)([-+]?[0-9_]+\\.?(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\b"}]},"scriptblock":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.scriptblock.powershell","patterns":[{"include":"$self"}]},"subexpression":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.simple.subexpression.powershell","patterns":[{"include":"$self"}]},"type":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}},"patterns":[{"match":"(?!\\d+|\\.)[.\\p{L}\\p{N}]+","name":"storage.type.powershell"},{"include":"$self"}]},"unicodeEscape":{"patterns":[{"match":"`u\\{(?:(?:10)?(\\h){1,4}|0?\\g<1>{1,5})}","name":"constant.character.escape.powershell"},{"match":"`u(?:\\{\\h{0,6}.)?","name":"invalid.character.escape.powershell"}]},"variable":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\$)(?i:(False|Null|True))\\b"},{"captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\.[_\\p{L}\\d]+)*\\b)?\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)((?:\\.[_\\p{L}\\d]+)*\\b)?"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\.[_\\p{L}\\d]+)*\\b)?\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])(global|local|private|script|using|workflow):([_\\p{L}\\d]+))((?:\\.[_\\p{L}\\d]+)*\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\.[_\\p{L}\\d]+)*\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])([_\\p{L}\\d]+:)?([_\\p{L}\\d]+))((?:\\.[_\\p{L}\\d]+)*\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\$)(\\{)([_\\p{L}\\d]+:)?([^}]*[^`}])(}))((?:\\.[_\\p{L}\\d]+)*\\b)?"}]},"variableNoProperty":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\$)(?i:(False|Null|True))\\b"},{"captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\$)(global|local|private|script|using|workflow):([_\\p{L}\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\$)([_\\p{L}\\d]+:)?([_\\p{L}\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}},"match":"(?i:(\\$)(\\{)([_\\p{L}\\d]+:)?([^}]*[^`}])(}))"}]}},"scopeName":"source.powershell"},{"displayName":"Raku","name":"raku","patterns":[{"begin":"^=begin","end":"^=end","name":"comment.block.perl"},{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\n","name":"comment.line.number-sign.perl"}]},{"captures":{"1":{"name":"storage.type.class.perl.6"},"3":{"name":"entity.name.type.class.perl.6"}},"match":"(class|enum|grammar|knowhow|module|package|role|slang|subset)(\\s+)(((?:::|')?([$A-Z_a-zÀ-ÿ])([$0-9A-Z\\\\_a-zÀ-ÿ]|[-'][$0-9A-Z_a-zÀ-ÿ])*)+)","name":"meta.class.perl.6"},{"begin":"(?<=\\s)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.perl"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"match":"\\\\[\"\\\\abefnrt]","name":"constant.character.escape.perl"}]},{"begin":"q(q|to|heredoc)*\\s*:?(q|to|heredoc)*\\s*/(.+)/","end":"\\3","name":"string.quoted.single.heredoc.perl"},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\{\\{","end":"}}","name":"string.quoted.double.heredoc.brace.perl","patterns":[{"include":"#qq_brace_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\(\\(","end":"\\)\\)","name":"string.quoted.double.heredoc.paren.perl","patterns":[{"include":"#qq_paren_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\[\\[","end":"]]","name":"string.quoted.double.heredoc.bracket.perl","patterns":[{"include":"#qq_bracket_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\{","end":"}","name":"string.quoted.single.heredoc.brace.perl","patterns":[{"include":"#qq_brace_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*/","end":"/","name":"string.quoted.single.heredoc.slash.perl","patterns":[{"include":"#qq_slash_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\(","end":"\\)","name":"string.quoted.single.heredoc.paren.perl","patterns":[{"include":"#qq_paren_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\[","end":"]","name":"string.quoted.single.heredoc.bracket.perl","patterns":[{"include":"#qq_bracket_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*'","end":"'","name":"string.quoted.single.heredoc.single.perl","patterns":[{"include":"#qq_single_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\"","end":"\"","name":"string.quoted.single.heredoc.double.perl","patterns":[{"include":"#qq_double_string_content"}]},{"match":"\\b\\$\\w+\\b","name":"variable.other.perl"},{"match":"\\b(macro|sub|submethod|method|multi|proto|only|rule|token|regex|category)\\b","name":"storage.type.declare.routine.perl"},{"match":"\\b(self)\\b","name":"variable.language.perl"},{"match":"\\b(use|require)\\b","name":"keyword.other.include.perl"},{"match":"\\b(if|else|elsif|unless)\\b","name":"keyword.control.conditional.perl"},{"match":"\\b(let|my|our|state|temp|has|constant)\\b","name":"storage.type.variable.perl"},{"match":"\\b(for|loop|repeat|while|until|gather|given)\\b","name":"keyword.control.repeat.perl"},{"match":"\\b(take|do|when|next|last|redo|return|contend|maybe|defer|default|exit|make|continue|break|goto|leave|async|lift)\\b","name":"keyword.control.flowcontrol.perl"},{"match":"\\b(is|as|but|trusts|of|returns|handles|where|augment|supersede)\\b","name":"storage.modifier.type.constraints.perl"},{"match":"\\b(BEGIN|CHECK|INIT|START|FIRST|ENTER|LEAVE|KEEP|UNDO|NEXT|LAST|PRE|POST|END|CATCH|CONTROL|TEMP)\\b","name":"meta.function.perl"},{"match":"\\b(die|fail|try|warn)\\b","name":"keyword.control.control-handlers.perl"},{"match":"\\b(prec|irs|ofs|ors|export|deep|binary|unary|reparsed|rw|parsed|cached|readonly|defequiv|will|ref|copy|inline|tighter|looser|equiv|assoc|required)\\b","name":"storage.modifier.perl"},{"match":"\\b(NaN|Inf)\\b","name":"constant.numeric.perl"},{"match":"\\b(oo|fatal)\\b","name":"keyword.other.pragma.perl"},{"match":"\\b(Object|Any|Junction|Whatever|Capture|MatchSignature|Proxy|Matcher|Package|Module|ClassGrammar|Scalar|Array|Hash|KeyHash|KeySet|KeyBagPair|List|Seq|Range|Set|Bag|Mapping|Void|UndefFailure|Exception|Code|Block|Routine|Sub|MacroMethod|Submethod|Regex|Str|str|Blob|Char|ByteCodepoint|Grapheme|StrPos|StrLen|Version|NumComplex|num|complex|Bit|bit|bool|True|FalseIncreasing|Decreasing|Ordered|Callable|AnyCharPositional|Associative|Ordering|KeyExtractorComparator|OrderingPair|IO|KitchenSink|RoleInt|int1??|int2|int4|int8|int16|int32|int64Rat|rat1??|rat2|rat4|rat8|rat16|rat32|rat64Buf|buf1??|buf2|buf4|buf8|buf16|buf32|buf64UInt|uint1??|uint2|uint4|uint8|uint16|uint32uint64|Abstraction|utf8|utf16|utf32)\\b","name":"support.type.perl6"},{"match":"\\b(div|xx?|mod|also|leg|cmp|before|after|eq|ne|le|lt|not|gt|ge|eqv|fff??|and|andthen|or|xor|orelse|extra|lcm|gcd)\\b","name":"keyword.operator.perl"},{"match":"([$%\\&@])([!*:=?^~]|(<(?=.+>)))?([$A-Z_a-zÀ-ÿ])([$0-9A-Z_a-zÀ-ÿ]|[-'][$0-9A-Z_a-zÀ-ÿ])*","name":"variable.other.identifier.perl.6"},{"match":"\\b(eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints|chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin|classify|first|sum|keys|values|pairs|defined|delete|exists|elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push|shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign|sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2|pick|chop|p5chop|chomp|p5chomp|lc|lcfirst|uc|ucfirst|capitalize|normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars|nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead|nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost|getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs|codes|bytes|clone|print|open|read|write|readline|say|seek|close|opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink|symlink|uniq|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan|sinh|cosh|tanh|asinh|done|acosh??|atanh|sech|cosech|cotanh|sech|acosech|acotanh|asech|ok|nok|plan_ok|dies_ok|lives_ok|skip|todo|pass|flunk|force_todo|use_ok|isa_ok|diag|is_deeply|isnt|like|skip_rest|unlike|cmp_ok|eval_dies_ok|nok_error|eval_lives_ok|approx|is_approx|throws_ok|version_lt|plan|EVAL|succ|pred|times|nonce|once|signature|new|connect|operator|undef|undefine|sleep|from|to|infix|postfix|prefix|circumfix|postcircumfix|minmax|lazy|count|unwrap|getc|pi|e|context|void|quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity|assuming|rewind|callwith|callsame|nextwith|nextsame|attr|eval_elsewhere|none|srand|trim|trim_start|trim_end|lastcall|WHAT|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not|true|iterator|by|re|im|invert|flip|gist|flat|tree|is-prime|throws_like|trans)\\b","name":"support.function.perl"}],"repository":{"qq_brace_string_content":{"begin":"\\{","end":"}","patterns":[{"include":"#qq_brace_string_content"}]},"qq_bracket_string_content":{"begin":"\\[","end":"]","patterns":[{"include":"#qq_bracket_string_content"}]},"qq_double_string_content":{"begin":"\"","end":"\"","patterns":[{"include":"#qq_double_string_content"}]},"qq_paren_string_content":{"begin":"\\(","end":"\\)","patterns":[{"include":"#qq_paren_string_content"}]},"qq_single_string_content":{"begin":"'","end":"'","patterns":[{"include":"#qq_single_string_content"}]},"qq_slash_string_content":{"begin":"\\\\/","end":"\\\\/","patterns":[{"include":"#qq_slash_string_content"}]}},"scopeName":"source.perl.6"},{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\b(?:((?:throws\\s+|rethrows\\s+)async)|((?:|re)throws)|(async))\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+([0-9]+(?:\\.[0-9]+)*)\\b)?"},{"begin":"\\b((?:introduc|deprecat|obsolet)ed)\\s*(:)\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\G)","patterns":[{"match":"\\b[0-9]+(?:\\.[0-9]+)*\\b","name":"constant.numeric.swift"}]},{"begin":"\\b(message|renamed)\\s*(:)\\s*(?=\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\*)|\\b(deprecated|unavailable|noasync)\\b)\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\w*(?::(?:\\w*:)*(\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\G\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\s*[({])\\b","name":"support.function.swift"},{"match":"(?<=\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\s*\\()","name":"support.function.swift"},{"match":"(?<=\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\s*\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\b(type)(\\()\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\ba(?:nyGenerator|utoreleasepool)(?=\\s*[({])\\b","name":"support.function.swift"},{"match":"\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\s*\\()","name":"support.function.swift"},{"match":"\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\s*\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\W)(?:Process\\.|CommandLine\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\b","name":"support.variable.swift"},{"match":"(?<=\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\b","name":"support.variable.swift"},{"match":"(?<=\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\bAny\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\b(?:CommandLine|Process(?=\\.))\\b","name":"support.constant.swift"},{"match":"\\bNever\\b","name":"support.constant.never.swift"},{"match":"\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\b","name":"support.type.swift"},{"match":"\\b(?:MirrorDisposition|QuickLookObject)\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\b","name":"support.type.swift"},{"match":"\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\b","name":"support.type.swift"},{"match":"\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\b","name":"support.type.swift"},{"match":"\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\A^(#!).*$\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\*\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\s*(#)(if|elseif)\\s+(false)\\b.*?(?=$|//|/\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\s*(#(e(?:lseif|lse|ndif)))\\b)"},{"begin":"^\\s*(#)(if|elseif)\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\|\\|)","name":"keyword.operator.logical.swift"},{"match":"\\b(true|false)\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\b(arch)\\s*(\\()\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\w+)\\s*(\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\b(os)\\s*(\\()\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\w+)\\s*(\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\b(canImport)\\s*(\\()([_\\p{L}][_\\p{L}\\p{N}\\p{M}]*)(\\))"},{"begin":"\\b(targetEnvironment)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\b(simulator|UIKitForMac)\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\b(swift|compiler)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\b[0-9]+(?:\\.[0-9]+)*\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\s*(:)\\s*(?=\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\s*(:)\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\s*(#)(sourceLocation)((\\()([^)]*)(\\)))(.*?)(?=$|//|/\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?<!\\.)\\b(if|guard|switch|for)\\b","beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]}},"end":"(?=\\{)","patterns":[{"include":"#expressions-without-trailing-closures"}]},{"begin":"(?<!\\.)\\b(while)\\b","beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]}},"end":"(?=\\{)|$","patterns":[{"include":"#expressions-without-trailing-closures"}]}]},"declarations":{"patterns":[{"include":"#declarations-function"},{"include":"#declarations-function-initializer"},{"include":"#declarations-function-subscript"},{"include":"#declarations-typed-variable-declaration"},{"include":"#declarations-import"},{"include":"#declarations-operator"},{"include":"#declarations-precedencegroup"},{"include":"#declarations-protocol"},{"include":"#declarations-type"},{"include":"#declarations-extension"},{"include":"#declarations-typealias"},{"include":"#declarations-macro"}]},"declarations-available-types":{"patterns":[{"include":"#comments"},{"include":"#builtin-types"},{"include":"#attributes"},{"match":"\\basync\\b","name":"storage.modifier.async.swift"},{"match":"\\b(?:|re)throws\\b","name":"storage.modifier.exception.swift"},{"match":"\\bsome\\b","name":"keyword.other.operator.type.opaque.swift"},{"match":"\\bany\\b","name":"keyword.other.operator.type.existential.swift"},{"match":"\\b(?:repeat|each)\\b","name":"keyword.control.loop.swift"},{"match":"\\b(?:inout|isolated|borrowing|consuming)\\b","name":"storage.modifier.swift"},{"match":"\\bSelf\\b","name":"variable.language.swift"},{"captures":{"1":{"name":"keyword.operator.type.function.swift"}},"match":"(?<![-!%\\&*+./<=>^|~])(->)(?![-!%\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?<![-!%\\&*+./<=>^|~])(&)(?![-!%\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\.\\.\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\bprotocol\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\.)(?:Protocol|Type)\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"include":"#literals-numeric"},{"match":"\\b_\\b","name":"support.variable.inferred.swift"},{"match":"(?<=\\s)\\bof\\b(?=\\s+[(\\[_\\p{L}\\d\\p{N}\\p{M}])","name":"keyword.other.inline-array.swift"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\b(extension)\\s+","beginCaptures":{"1":{"name":"storage.type.$1.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"begin":"\\G(?!\\s*[\\n:{])","end":"(?=\\s*[\\n:{])|(?!\\G)(?=\\s*where\\b)","name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\b(func)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>)|(?:((?<oph>[-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g<oph>|\\g<opc>|\\.)+)))\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?<!\\.)\\b(init[!?]*)\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift","patterns":[{"match":"(?<=[!?])[!?]+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"end":"(?<=})|$","name":"meta.definition.function.initializer.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-result":{"begin":"(?<![-!%\\&*+./<=>^|~])(->)(?![-!%\\&*+./<=>^|~])\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\G)(?=\\{|\\bwhere\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"match":"\\bsending\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?<!\\.)\\b(subscript)\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"}},"end":"(?<=})|$","name":"meta.definition.function.subscript.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-generic-argument-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.begin.swift"}},"end":">|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#literals-numeric"},{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\&,:<=>`\\w\\d\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\blet\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"\\beach\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\b((?!\\d)\\w[\\w\\d]*)\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\G)\\bwhere\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\G","end":"(?=[,>]|(?!\\G)\\bwhere\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\b(where)\\b\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\G)$|(?=[\\n;>{}]|//|/\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\G|,\\s*","end":"(?=[\\n,;>{}]|//|/\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?<![-!%\\&*+./<=>^|~])(==)(?![-!%\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\s*[\\n,;>{}]|//|/\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?<![-!%\\&*+./<=>^|~])(:)(?![-!%\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\s*[\\n,;>{}]|//|/\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\G\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\s*[\\n,;>{}]|//|/\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?<!\\.)\\b(import)\\s+","beginCaptures":{"1":{"name":"keyword.control.import.swift"}},"end":"(;)|$\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.import.swift","patterns":[{"begin":"\\G(?!;|$|//|/\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\s+)?","beginCaptures":{"1":{"name":"storage.modifier.swift"}},"end":"(?=;|$|//|/\\*)","patterns":[{"captures":{"1":{"name":"punctuation.definition.identifier.swift"},"2":{"name":"punctuation.definition.identifier.swift"}},"match":"(?<=\\G|\\.)(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>)","name":"entity.name.type.swift"},{"match":"(?<=\\G|\\.)\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\G|\\.)(?:((?<oph>[-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g<oph>|\\g<opc>|\\.)+))(?=[.;]|$|//|/\\*|\\s)","name":"entity.name.type.swift"},{"match":"\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\s*(;|$|//|/\\*))","end":"(?=\\s*(;|$|//|/\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\s*\\{)|(:)\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\bclass\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\G)\\bwhere\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\G","end":"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\p{L}])","end":"(?!\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\s*","end":"(?!\\G)(?!/[*/])|(?=[,={}]|(?!\\G)\\bwhere\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\b(macro)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\b((?:pre|in|post)fix)\\s+)?\\b(operator)\\s+(((?<oph>[-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\g<oph>|\\.|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\x{E0100}-\\x{E01EF}]))*+)|(\\.(\\g<oph>|\\g<opc>|\\.)++))\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\*)\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\G(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\b(associativity)\\s+(left|right)\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\b(precedence)\\s+([0-9]+)\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\b(assignment)\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\G(:)\\s*((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))"},"declarations-parameter-clause":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\))(?:\\s*(async)\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?<q1>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q1>))\\s+((?<q2>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q2>))(?=\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>)))(?=\\s*:)"},{"begin":":\\s*(?!\\s)","end":"(?=[),])","patterns":[{"match":"\\bsending\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\b(precedencegroup)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*(?=\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\b((?:high|low)erThan)\\s*:\\s*((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\b(associativity)\\b(?:\\s*:\\s*(right|left|none)\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\b(assignment)\\b(?:\\s*:\\s*(true|false)\\b)?"}]}]},"declarations-protocol":{"begin":"\\b(protocol)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\b(associatedtype)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?<!\\.)\\b(init[!?]*)\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift","patterns":[{"match":"(?<=[!?])[!?]+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"end":"$|(?=;|//|/\\*|})","name":"meta.definition.function.initializer.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-protocol-protocol-method":{"begin":"\\b(func)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>)|(?:((?<oph>[-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g<oph>|\\g<opc>|\\.)+)))\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\b(class(?!\\s+(?:func|var|let)\\b)|struct|actor)\\b\\s*((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\b(enum)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\G\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?<q1>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*\\k<q1>))\\s+(((?<q2>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*\\k<q2>))\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*\\k<q>))\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\b(case)\\b\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\G)(?!/[*/])(?=[^,\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\s*","end":"(?!\\G)(?!/[*/])(?=[;}[^,\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?<![-!%\\&*+./<=>^|~])(&)(?![-!%\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?<![-!%\\&*+./<=>^|~])(~)(?![-!%\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\b(typealias)\\s+((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\G)$|(?=;|//|/\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\G(?=<)","end":"(?!\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\G)$|(?=;|//|/\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\b(?:(async)\\s+)?(let|var)\\b\\s+(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>)\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))(?=\\s*\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*(:)(?=\\s*\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\b_\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\B(#(?:un)?available)(\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\s*\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b\\s+([0-9]+(?:\\.[0-9]+)*)\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\*)\\s*(.*?)(?=[),])"},{"match":"[^),\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?<q>`?)(?!_:)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?<q1>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q1>))\\(((((?<q2>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q2>)):)+)\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))\\s*(\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\p{L}\\p{N}\\p{M}])\\s*(\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\))\\s*((?:\\b(?:async|throws|rethrows)\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\brethrows\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\p{L}\\p{N}\\p{M}])\\s*(\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?<!\\.)\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\b","name":"keyword.control.branch.swift"},{"match":"(?<!\\.)\\b(?:continue|break|fallthrough|return|yield)\\b","name":"keyword.control.transfer.swift"},{"match":"(?<!\\.)\\b(?:while|for|in|each)\\b","name":"keyword.control.loop.swift"},{"match":"(?<=\\s)\\bof\\b(?=\\s+[(\\[_\\p{L}\\d\\p{N}\\p{M}])","name":"keyword.other.inline-array.swift"},{"match":"\\bany\\b(?=\\s*`?[_\\p{L}])","name":"keyword.other.operator.type.existential.swift"},{"captures":{"1":{"name":"keyword.control.loop.swift"},"2":{"name":"punctuation.whitespace.trailing.repeat.swift"}},"match":"(?<!\\.)\\b(repeat)\\b(\\s*)"},{"match":"(?<!\\.)\\bdefer\\b","name":"keyword.control.defer.swift"},{"captures":{"1":{"name":"invalid.illegal.try-must-precede-await.swift"},"2":{"name":"keyword.control.await.swift"}},"match":"(?<!\\.)\\b(?:(await\\s+try)|(await))\\b"},{"match":"(?<!\\.)\\b(?:catch|throw|try)\\b|\\btry[!?]\\B","name":"keyword.control.exception.swift"},{"match":"(?<!\\.)\\b(?:|re)throws\\b","name":"storage.modifier.exception.swift"},{"captures":{"1":{"name":"keyword.control.exception.swift"},"2":{"name":"punctuation.whitespace.trailing.do.swift"}},"match":"(?<!\\.)\\b(do)\\b(\\s*)"},{"captures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"match":"(?<!\\.)\\b(?:(async)\\s+)?(let|var)\\b"},{"match":"(?<!\\.)\\b(?:associatedtype|operator|typealias)\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"(?<!\\.)\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\b(?=\\s*`?[_\\p{L}])","name":"storage.type.$1.swift"},{"match":"(?<!\\.)\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\b","name":"storage.modifier.swift"},{"match":"\\binit[!?]|\\binit\\b|(?<!\\.)\\b(?:func|deinit|subscript|didSet|get|set|willSet|yielding\\s+borrow|yielding\\s+mutate)\\b","name":"storage.type.function.swift"},{"match":"(?<!\\.)\\b(?:fileprivate|private|internal|public|open|package)\\b","name":"keyword.other.declaration-specifier.accessibility.swift"},{"match":"(?<!\\.)\\bunowned\\((?:|un)safe\\)|(?<!\\.)\\b(?:weak|unowned)\\b","name":"keyword.other.capture-specifier.swift"},{"captures":{"1":{"name":"keyword.other.type.swift"},"2":{"name":"keyword.other.type.metatype.swift"}},"match":"(?<=\\.)(?:(dynamicType|self)|(Protocol|Type))\\b"},{"match":"(?<!\\.)\\b(?:super|self|Self)\\b","name":"variable.language.swift"},{"match":"(?:\\B#(?:file|filePath|fileID|line|column|function|dsohandle)|\\b__(?:FILE|LINE|COLUMN|FUNCTION|DSO_HANDLE)__)\\b","name":"support.variable.swift"},{"match":"(?<!\\.)\\bimport\\b","name":"keyword.control.import.swift"},{"match":"(?<!\\.)\\bconsume(?=\\s+`?[_\\p{L}])","name":"keyword.control.consume.swift"},{"match":"(?<!\\.)\\bcopy(?=\\s+`?[_\\p{L}])","name":"keyword.control.copy.swift"}]},"literals":{"patterns":[{"include":"#literals-boolean"},{"include":"#literals-numeric"},{"include":"#literals-string"},{"match":"\\bnil\\b","name":"constant.language.nil.swift"},{"match":"\\B#((?:color|image|file)Literal)\\b","name":"support.function.object-literal.swift"},{"match":"\\B#externalMacro\\b","name":"support.function.builtin-macro.swift"},{"match":"\\B#keyPath\\b","name":"support.function.key-path.swift"},{"begin":"\\B(#selector)(\\()(?:\\s*([gs]etter)\\s*(:))?","beginCaptures":{"1":{"name":"support.function.selector-reference.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"include":"#literals-regular-expression-literal"}]},"literals-boolean":{"match":"\\b(true|false)\\b","name":"constant.language.boolean.swift"},"literals-numeric":{"patterns":[{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)[0-9][0-9_]*(?=\\.[0-9]|[Ee])(?:\\.[0-9][0-9_]*)?(?:[Ee][-+]?[0-9][0-9_]*)?\\b(?!\\.[0-9])","name":"constant.numeric.float.decimal.swift"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)(0x\\h[_\\h]*)(?:\\.\\h[_\\h]*)?[Pp][-+]?[0-9][0-9_]*\\b(?!\\.[0-9])","name":"constant.numeric.float.hexadecimal.swift"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)(0x\\h[_\\h]*)(?:\\.\\h[_\\h]*)?[Pp][-+]?\\w*\\b(?!\\.[0-9])","name":"invalid.illegal.numeric.float.invalid-exponent.swift"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)(0x\\h[_\\h]*)\\.[0-9][.\\w]*","name":"invalid.illegal.numeric.float.missing-exponent.swift"},{"match":"(?<=\\s|^)-?\\.[0-9][.\\w]*","name":"invalid.illegal.numeric.float.missing-leading-zero.swift"},{"match":"(\\B-|\\b)0[box]_[_\\h]*(?:[EPep][-+]?\\w+)?[.\\w]+","name":"invalid.illegal.numeric.leading-underscore.swift"},{"match":"(?<=[]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)[0-9]+\\b"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)0b[01][01_]*\\b(?!\\.[0-9])","name":"constant.numeric.integer.binary.swift"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)0o[0-7][0-7_]*\\b(?!\\.[0-9])","name":"constant.numeric.integer.octal.swift"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)[0-9][0-9_]*\\b(?!\\.[0-9])","name":"constant.numeric.integer.decimal.swift"},{"match":"(\\B-|\\b)(?<![]()\\[_{}\\p{L}\\p{N}\\p{M}]\\.)0x\\h[_\\h]*\\b(?!\\.[0-9])","name":"constant.numeric.integer.hexadecimal.swift"},{"match":"(\\B-|\\b)[0-9][.\\w]*","name":"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{"patterns":[{"begin":"(#+)/\\n","end":"/\\1","name":"string.regexp.block.swift","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"},{"include":"#literals-regular-expression-literal-line-comment"}]},{"captures":{"0":{"patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},"1":{"name":"punctuation.definition.string.begin.regexp.swift"},"3":{"name":"punctuation.definition.string.end.regexp.swift"}},"match":"(/)(?!\\s)(?!/)(?:\\\\\\s(?=/)|(?<guts>(?>(?:\\\\Q(?:(?!\\\\E)(?!/).)*+(?:\\\\E|(?=/))|\\\\.|\\(\\?#[^)]*\\)|\\(\\?(?>\\{(?:[^{].*?|\\{[^{].*?}|\\{\\{[^{].*?}}|\\{\\{\\{[^{].*?}}}|\\{\\{\\{\\{[^{].*?}}}}|\\{\\{\\{\\{\\{.+?}}}}})})(?:\\[(?!\\d)\\w+])?[<>X]?\\)|\\[(?:\\\\.|[^]\\[\\\\]|\\[(?:\\\\.|[^]\\[\\\\]|\\[(?:\\\\.|[^]\\[\\\\]|\\[(?:\\\\.|[^]\\[\\\\])+])+])+])+]|\\(\\g<guts>?+\\)|(?:(?!/)[^()\\[\\\\])+)+))?+(?<!\\s))(/)","name":"string.regexp.line.swift"},{"captures":{"0":{"patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},"1":{"name":"punctuation.definition.string.begin.regexp.swift"},"4":{"name":"punctuation.definition.string.end.regexp.swift"},"5":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"match":"((#+)/)(?<guts>(?>(?:\\\\Q(?:(?!\\\\E)(?!/\\2).)*+(?:\\\\E|(?=/\\2))|\\\\.|\\(\\?#[^)]*\\)|\\(\\?(?>\\{(?:[^{].*?|\\{[^{].*?}|\\{\\{[^{].*?}}|\\{\\{\\{[^{].*?}}}|\\{\\{\\{\\{[^{].*?}}}}|\\{\\{\\{\\{\\{.+?}}}}})})(?:\\[(?!\\d)\\w+])?[<>X]?\\)|\\[(?:\\\\.|[^]\\[\\\\]|\\[(?:\\\\.|[^]\\[\\\\]|\\[(?:\\\\.|[^]\\[\\\\]|\\[(?:\\\\.|[^]\\[\\\\])+])+])+])+]|\\(\\g<guts>?+\\)|(?:(?!/\\2)[^()\\[\\\\])+)+))?+(/\\2)|#+/.+(\\n)","name":"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\g\\{)(?:((?!\\d)\\w+)(?:([-+])(\\d+))?|([-+]?\\d+)(?:([-+])(\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\g)([-+]?\\d+)(?:([-+])(\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\[gk]<)(?:((?!\\d)\\w+)(?:([-+])(\\d+))?|([-+]?\\d+)(?:([-+])(\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\[gk]')(?:((?!\\d)\\w+)(?:([-+])(\\d+))?|([-+]?\\d+)(?:([-+])(\\d+))?)(')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\k\\{)((?!\\d)\\w+)(?:([-+])(\\d+))?(})"},{"match":"\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\(\\?(?:P[=>]|&))((?!\\d)\\w+)(?:([-+])(\\d+))?(\\))"},{"match":"\\(\\?R\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\(\\?)([-+]?\\d+)(?:([-+])(\\d+))?(\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\(\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\()(?<keyw>\\?C)(?:(?<num>\\d+)|`(?<name>(?:[^`]|``)*)`|'(?<name>(?:[^']|'')*)'|\"(?<name>(?:[^\"]|\"\")*)\"|\\^(?<name>(?:[^^]|\\^\\^)*)\\^|%(?<name>(?:[^%]|%%)*)%|#(?<name>(?:[^#]|##)*)#|\\$(?<name>(?:[^$]|\\$\\$)*)\\$|\\{(?<name>(?:[^}]|}})*)})?(\\))|(\\()(?<keyw>\\*)(?<name>(?!\\d)\\w+)(?:\\[(?<tag>(?!\\d)\\w+)])?(?:\\{[^,}]+(?:,[^,}]+)*})?(\\))|(\\()(?<keyw>\\?)(?>(\\{(?:\\g<20>|(?!\\{).*?)}))(?:\\[(?<tag>(?!\\d)\\w+)])?(?<keyw>[<>X]?)(\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\[Pp]\\{([-\\s\\w]+(?:=[-\\s\\w]+)?)}|(\\[:)([-\\s\\w]+(?:=[-\\s\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\[)(\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\(\\?(?:\\^(?:[DJPSUWimnswx]|xx|y\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\{[gw]})*)\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\()(\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\()(?<cond>\\?\\()(?:(?<NumberRef>(?<num>[-+]?\\d+)(?:(?<op>[-+])(?<num>\\d+))?)|(?<cond>R)\\g<NumberRef>?|(?<cond>R&)(?<NamedRef>(?<name>(?!\\d)\\w+)(?:(?<op>[-+])(?<num>\\d+))?)|(?<cond><)(?:\\g<NamedRef>|\\g<NumberRef>)(?<cond>>)|(?<cond>')(?:\\g<NamedRef>|\\g<NumberRef>)(?<cond>')|(?<cond>DEFINE)|(?<cond>VERSION)(?<compar>>?=)(?<num>\\d+\\.\\d+))(?<cond>\\))|(\\()(?<cond>\\?)(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\()((\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\d)\\w+)(-))?((?!\\d)\\w+)>|'(?:((?!\\d)\\w+)(-))?((?!\\d)\\w+)'|(?:\\^(?:[DJPSUWimnswx]|xx|y\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\{[gw]})*):)|\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\E|(\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\(\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\[ABGYZbyz]|\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\.|\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\{(?:\\s*\\d+\\s*(?:,\\s*\\d*\\s*)?}|\\s*,\\s*\\d+\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\(?:u\\{\\s*(?:\\h+\\s*)+}|u\\h{4}|x\\{\\h+}|x\\h{0,2}|U\\h{8}|o\\{[0-7]+}|0[0-7]{0,3}|N\\{(?:U\\+\\h{1,8}|[-\\s\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\"\"\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\G(?:.+(?=\"\"\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\s*\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\S((?!\\\\\\().)*(?=\"\"\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\"\"\"(?!#)(?=(?:[^\"]|\"(?!#))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\"\"\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\G(?:.+(?=\"\"\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\#\\s*\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\S((?!\\\\#\\().)*(?=\"\"\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(?<!#)(##+)\"\"\"(?!\\1)(?=(?:[^\"]|\"(?!\\1))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\"\"\"\\1(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\G(?:.+(?=\"\"\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.swift","patterns":[{"match":"[\\n\\r]","name":"invalid.illegal.returns-not-allowed.swift"},{"include":"#literals-string-string-guts"}]},{"begin":"(?<!#)(##+)\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raw.swift"}},"end":"\"\\1(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.raw.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.raw.swift","patterns":[{"match":"[\\n\\r]","name":"invalid.illegal.returns-not-allowed.swift"}]},{"begin":"#\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raw.swift"}},"end":"\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.raw.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.raw.swift","patterns":[{"match":"[\\n\\r]","name":"invalid.illegal.returns-not-allowed.swift"},{"include":"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{"patterns":[{"match":"\\\\#[\"'0\\\\nrt]","name":"constant.character.escape.swift"},{"match":"\\\\#u\\{\\h{1,8}}","name":"constant.character.escape.unicode.swift"},{"begin":"\\\\#\\(","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.swift"}},"contentName":"source.swift","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.embedded.end.swift"}},"name":"meta.embedded.line.swift","patterns":[{"include":"$self"},{"begin":"\\(","end":"\\)"}]},{"match":"\\\\#.","name":"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{"patterns":[{"match":"\\\\[\"'0\\\\nrt]","name":"constant.character.escape.swift"},{"match":"\\\\u\\{\\h{1,8}}","name":"constant.character.escape.unicode.swift"},{"begin":"\\\\\\(","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.swift"}},"contentName":"source.swift","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.embedded.end.swift"}},"name":"meta.embedded.line.swift","patterns":[{"include":"$self"},{"begin":"\\(","end":"\\)"}]},{"match":"\\\\.","name":"invalid.illegal.escape-not-recognized"}]},"member-reference":{"patterns":[{"captures":{"1":{"name":"variable.other.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(?<=\\.)((?<q>`?)[_\\p{L}][_\\p{L}\\p{N}\\p{M}]*(\\k<q>))"}]},"operators":{"patterns":[{"match":"\\b(is\\b|as([!?]\\B|\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?<oph>[-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])|\\.(\\g<oph>|[.̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\x{E0100}-\\x{E01EF}]))","end":"(?!\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\G(\\+\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\G(?<=^|[(,:;\\[{\\s])((?!(//|/\\*|\\*/))([-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\x{E0100}-\\x{E01EF}]))++(?![]),:;}\\s]|\\z)"},{"captures":{"0":{"patterns":[{"match":"\\G(\\+\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\G(?<!^|[(,:;\\[{\\s])((?!(//|/\\*|\\*/))([-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\x{E0100}-\\x{E01EF}]))++(?=[]),:;}\\s]|\\z)"},{"captures":{"0":{"patterns":[{"match":"\\G=$","name":"keyword.operator.assignment.swift"},{"match":"\\G([-%*+/]|<<|>>|[\\&^|]|&&|\\|\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\G\\?\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\G(&&|\\|\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\G([\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\G\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\G((?!(//|/\\*|\\*/))([-!%\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\x{E0100}-\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\G(?<=^|[(,:;\\[{\\s])\\.((?!(//|/\\*|\\*/))([-!%\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\x{E0100}-\\x{E01EF}]))++(?![]),:;}\\s]|\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\G(?<!^|[(,:;\\[{\\s])\\.((?!(//|/\\*|\\*/))([-!%\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\x{E0100}-\\x{E01EF}]))++(?=[]),:;}\\s]|\\z)"},{"captures":{"0":{"patterns":[{"match":"\\G\\.\\.[.<]$","name":"keyword.operator.range.swift"},{"match":".+","name":"keyword.operator.custom.infix.dot.swift"}]}},"match":"\\G\\.((?!(//|/\\*|\\*/))([-!%\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\x{E0100}-\\x{E01EF}]))++"}]},{"match":":","name":"keyword.operator.ternary.swift"}]},"root":{"patterns":[{"include":"#compiler-control"},{"include":"#declarations"},{"include":"#expressions"}]}},"scopeName":"source.swift"},{"displayName":"Objective-C","name":"objective-c","patterns":[{"include":"#anonymous_pattern_1"},{"include":"#anonymous_pattern_2"},{"include":"#anonymous_pattern_3"},{"include":"#anonymous_pattern_4"},{"include":"#anonymous_pattern_5"},{"include":"#apple_foundation_functional_macros"},{"include":"#anonymous_pattern_7"},{"include":"#anonymous_pattern_8"},{"include":"#anonymous_pattern_9"},{"include":"#anonymous_pattern_10"},{"include":"#anonymous_pattern_11"},{"include":"#anonymous_pattern_12"},{"include":"#anonymous_pattern_13"},{"include":"#anonymous_pattern_14"},{"include":"#anonymous_pattern_15"},{"include":"#anonymous_pattern_16"},{"include":"#anonymous_pattern_17"},{"include":"#anonymous_pattern_18"},{"include":"#anonymous_pattern_19"},{"include":"#anonymous_pattern_20"},{"include":"#anonymous_pattern_21"},{"include":"#anonymous_pattern_22"},{"include":"#anonymous_pattern_23"},{"include":"#anonymous_pattern_24"},{"include":"#anonymous_pattern_25"},{"include":"#anonymous_pattern_26"},{"include":"#anonymous_pattern_27"},{"include":"#anonymous_pattern_28"},{"include":"#anonymous_pattern_29"},{"include":"#anonymous_pattern_30"},{"include":"#bracketed_content"},{"include":"#c_lang"}],"repository":{"anonymous_pattern_1":{"begin":"((@)(interface|protocol))(?!.+;)\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*((:)\\s*([A-Za-z][0-9A-Za-z]*))?([\\n\\s])?","captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"6":{"name":"punctuation.definition.entity.other.inherited-class.objc"},"7":{"name":"entity.other.inherited-class.objc"},"8":{"name":"meta.divider.objc"},"9":{"name":"meta.inherited-class.objc"}},"contentName":"meta.scope.interface.objc","end":"((@)end)\\b","name":"meta.interface-or-protocol.objc","patterns":[{"include":"#interface_innards"}]},"anonymous_pattern_10":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(defs|encode)\\b","name":"keyword.other.objc"},"anonymous_pattern_11":{"match":"\\bid\\b","name":"storage.type.id.objc"},"anonymous_pattern_12":{"match":"\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\b","name":"storage.type.objc"},"anonymous_pattern_13":{"captures":{"1":{"name":"punctuation.definition.storage.type.objc"}},"match":"(@)(class|protocol)\\b","name":"storage.type.objc"},"anonymous_pattern_14":{"begin":"((@)selector)\\s*(\\()","beginCaptures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"3":{"name":"punctuation.definition.storage.type.objc"}},"contentName":"meta.selector.method-name.objc","end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.storage.type.objc"}},"name":"meta.selector.objc","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\b(?:[:A-Z_a-z]\\w*)+","name":"support.function.any-method.name-of-parameter.objc"}]},"anonymous_pattern_15":{"captures":{"1":{"name":"punctuation.definition.storage.modifier.objc"}},"match":"(@)(synchronized|public|package|private|protected)\\b","name":"storage.modifier.objc"},"anonymous_pattern_16":{"match":"\\b(YES|NO|Nil|nil)\\b","name":"constant.language.objc"},"anonymous_pattern_17":{"match":"\\bNSApp\\b","name":"support.variable.foundation.objc"},"anonymous_pattern_18":{"captures":{"1":{"name":"punctuation.whitespace.support.function.cocoa.leopard.objc"},"2":{"name":"support.function.cocoa.leopard.objc"}},"match":"(\\s*)\\b(NS(Rect((?:To|From)CGRect)|MakeCollectable|S(tringFromProtocol|ize((?:To|From)CGSize))|Draw((?:Nin|Thre)ePartImage)|P(oint((?:To|From)CGPoint)|rotocolFromString)|EventMaskFromType|Value))\\b"},"anonymous_pattern_19":{"captures":{"1":{"name":"punctuation.whitespace.support.function.leading.cocoa.objc"},"2":{"name":"support.function.cocoa.objc"}},"match":"(\\s*)\\b(NS(R(ound((?:Down|Up)ToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set((?:Map|Hash)Table)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l((?:MemoryAvail|locateCollect)able))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n([XY])|d([XY]))|ouseInRect|a(p(Remove|Get|Member|Insert((?:If|Known)Absent)?)|ke(R(ect|ange)|Size|Point)|x(Range|[XY])))|B(itsPer((?:Sample|Pixel)FromDepth)|e(stDepth|ep|gin((?:Critical|Informational|)AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert((?:If|Known)Absent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped((?:Double|Float)ToHost)|Host((?:Double|Float)ToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare((?:Map|Hash)Tables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File((?:name|Contents)PboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d((?:Map|Hash)TableEnumeration)|umerate((?:Map|Hash)Table)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee((?:Map|Hash)Table)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\b"},"anonymous_pattern_2":{"begin":"((@)(implementation))\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\s*(?::\\s*([A-Za-z][0-9A-Za-z]*))?","captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"5":{"name":"entity.other.inherited-class.objc"}},"contentName":"meta.scope.implementation.objc","end":"((@)end)\\b","name":"meta.implementation.objc","patterns":[{"include":"#implementation_innards"}]},"anonymous_pattern_20":{"match":"\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\b","name":"support.class.cocoa.leopard.objc"},"anonymous_pattern_21":{"match":"\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an((?:dom|ge)Specifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech((?:Recogn|Synthes)izer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con((?:|trolCon)nector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p((?:ound|arison)Predicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o([ns]eCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n((?:iqueIDSpecifi|doManag|archiv)er))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated((?:Toobar|UserInterface)Item)|ue(Transformer)?))|Keyed((?:Una|A)rchiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\b","name":"support.class.cocoa.objc"},"anonymous_pattern_22":{"match":"\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D((?:ocumentContent|TDNode)Kind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing((?:Compare|Drawing|EncodingConversion)Options)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView((?:SelectionHighlight|ColumnAutoresizing)Style)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\b","name":"support.type.cocoa.leopard.objc"},"anonymous_pattern_23":{"match":"\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans((?:i|ac)tion))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\b","name":"support.class.quartz.objc"},"anonymous_pattern_24":{"match":"\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\b","name":"support.type.quartz.objc"},"anonymous_pattern_25":{"match":"\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B((?:itmapImageFileTyp|orderTyp|uttonTyp|ezelStyl|ackingStoreTyp|rowserColumnResizingTyp)e)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar((?:Size|Display)Mode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL((?:Contex|PixelForma)tAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace((?:IconCreation|Launch)Options)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication((?:Terminate|Delegate|Print)Reply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\b","name":"support.type.cocoa.objc"},"anonymous_pattern_26":{"match":"\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\b","name":"support.constant.cocoa.objc"},"anonymous_pattern_27":{"match":"\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\b","name":"support.constant.notification.cocoa.leopard.objc"},"anonymous_pattern_28":{"match":"\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView((?:Did|Will)ResizeSubviews))|C(o(nt(extHelpModeDid((?:Dea|A)ctivate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor((?:PanelColor|List)DidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar((?:DidRemove|WillAdd)Item)|ext(Storage((?:Did|Will)ProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton((?:Cell|)WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F((?:ocus|rame)DidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid((?:Resign|Become)Active)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\b","name":"support.constant.notification.cocoa.objc"},"anonymous_pattern_29":{"match":"\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws((?:BeforeStart|AfterEnd)ingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech((?:Sentence|Immediate|Word)Boundary)|llingState((?:Grammar|Spelling)Flag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M((?:iscellaneous|alformedServiceDictionary)Error)|InvalidPasteboardDataError|ErrorM((?:in|ax)imum)|Application((?:NotFoun|LaunchFaile)dError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally((?:|UpOr)Down)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16((?:BigEndian||LittleEndian)StringEncoding)|32((?:BigEndian||LittleEndian)StringEncoding)))|P(ointerFunctions(Ma((?:chVirtual|lloc)Memory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP((?:ointerP|)ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM((?:in|ax)imum)|L((?:ink|oad)Error)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead((?:TooLarge|UnknownStringEncoding)Error))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\b","name":"support.constant.cocoa.leopard.objc"},"anonymous_pattern_3":{"begin":"@\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"include":"#string_escaped_char"},{"match":"%(\\d+\\$)?[- #'+0]*((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?@","name":"constant.other.placeholder.objc"},{"include":"#string_placeholder"}]},"anonymous_pattern_30":{"match":"\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed((?:Bezel|Token|DisclosureBezel)Style)|Down|Up|Plain|Line((?:Cap|Join)Style))|un((?:Stopped|Continues|Aborted)Response)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver((?:sCantHandleCommand|Evaluation)ScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A((?:|gains)tAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use((?:Sing|Doub)leQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot((?:Start|Finish)edError)|Mi(splaced((?:XMLDeclaration|CDATAEndString)Error)|xedContentDeclNot((?:Start|Finish)edError))|S(t(andaloneValueError|ringNot((?:Start|Clos)edError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot((?:Start|Finish)edError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In((?:DTD|Prolog|Epilog)Error)|AtEOFError)|o(nditionalSectionNot((?:Start|Finish)edError)|mment((?:NotFinished|ContainsDoubleHyphen)Error))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter((?:Ref|InEntity|)Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding((?:Name|)Error)))|OutOfMemoryError|D((?:ocumentStart|elegateAbortedParse|OCTYPEDeclNotFinished)Error)|U(RI((?:Required|Fragment)Error)|n((?:declaredEntity|parsedEntity|knownEncoding|finishedTag)Error))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal((?:Subset|)Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot((?:Start|Finish)edError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In((?:DTD|Prolog|Epilog)Error)|erence((?:MissingSemi|WithoutName)Error)|LoopError|AtEOFError)|BoundaryError|Not((?:Start|Finish)edError)|Is((?:Parameter|External)Error)|ValueRequiredError))|qualExpectedError|lementContentDeclNot((?:Start|Finish)edError)|xt(ernalS((?:tandaloneEntity|ubsetNotFinished)Error)|raContentError)|mptyDocumentError)|L(iteralNot((?:Start|Finish)edError)|T((?:|Slash)RequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not((?:Start|Finish)edError)|ListNot((?:Start|Finish)edError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar((?:sed|ameter)Kind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E((?:lement|mpty)Kind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(s?Kind)|otationKind)|CDATAKind|ID(Ref(s?Kind)|Kind)|DeclarationKind|En(tit((?:y|ies)Kind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push((?:|In)Button)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x([XY]Edge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore((?:Retain|Buffer|Nonretain)ed)|TabCharacter|wardsSearch|groundTab)|r(owser((?:No|User|Auto)ColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow((?:Control|Invisible)Glyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M((?:in|ax)End)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has((?:Bytes|Space)Available)|None|OpenCompleted|E((?:ndEncounte|rrorOccur)red)))))|i(ngle(DateMode|UnderlineStyle)|ze((?:Down|Up)FontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity((?:Down|Up)stream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute((?:Second|)DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa((?:yDa|)tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs((?:Bezel|No|Line)Border))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S((?:cientific|pellOut)Style)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before((?:Suf|Pre)fix)|After((?:Suf|Pre)fix))))))|e(t(Services(BadArgumentError|NotFoundError|C((?:ollision|ancelled)Error)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C((?:MYK|olorList|ustomPalette|rayon)ModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick((?:|er)SquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX([34])|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM((?:in|ax)imum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table((?:Fixed|Automatic)LayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid((?:Horizont|Vertic)alGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert((?:Char||Line)FunctionKey)|t(Type|ernalS((?:cript|pecifier)Error))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin([12]StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS((?:cript|pecifier)Error))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr((?:ing|uct)Type)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long((?:|long)Type)|ArrayType))|D(i(s(c((?:losureBezel|reteCapacityLevelIndicator)Style)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument((?:|ation)Directory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper((?:|Application)Directory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos((?:ing|ed)State)|Open((?:ing|)State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS((?:cript|pecifier)Error))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG((?:2000|)FileType)|apaneseEUC((?:GlyphPack|StringEncod)ing))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve((?:Int|Double|Float)Type)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge((?:Down|Up)FunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred((?:Small||Large|Aqua)Thickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in([XY]Margin)|ax([XY]Margin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM((?:in|ax)imum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping((?:BackAndForth|)Playback))|F(1((?:[1-4789]|5?|[06])FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No((?:SuchFile|Permission)Error)|CorruptFileError|In((?:validFileName|applicableStringEncoding)Error)|Un((?:supportedScheme|known)Error))|HandlingPanel((?:Cancel|OK)Button)|NoSuchFileError|ErrorM((?:in|ax)imum)|Write(NoPermissionError|In((?:validFileName|applicableStringEncoding)Error)|OutOfSpaceError|Un((?:supportedScheme|known)Error))|LockingError)|xedPitchFontMask)|2((?:[1-4789]|5?|[06])FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S((?:ymbolic|cripts|labSerifs|ansSerif)Class)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O((?:ldStyleSerif|rnamental)sClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t((?:andardModes|rikethroughEffectMode)Mask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All((?:Modes|EffectsMode)Mask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased((?:|IntegerAdvancements)RenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M((?:in|ax)imum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3((?:[1-4]|5?|0)FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125([0-4]StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day((?:|Ordinal)CalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C((?:harWra|li)pping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan([12]CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto((?:saveOper|Pagin)ation)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert((?:SecondButton|ThirdButton|Other|Default|Error|FirstButton|Alternate)Return)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument((?:sWrong|Evaluation)ScriptError)|bove(Bottom|Top)|WTEventType))\\b","name":"support.constant.cocoa.objc"},"anonymous_pattern_4":{"begin":"\\b(id)\\s*(?=<)","beginCaptures":{"1":{"name":"storage.type.objc"}},"end":"(?<=>)","name":"meta.id-with-protocol.objc","patterns":[{"include":"#protocol_list"}]},"anonymous_pattern_5":{"match":"\\b(NS_(?:DURING|HANDLER|ENDHANDLER))\\b","name":"keyword.control.macro.objc"},"anonymous_pattern_7":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(try|catch|finally|throw)\\b","name":"keyword.control.exception.objc"},"anonymous_pattern_8":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(synchronized)\\b","name":"keyword.control.synchronize.objc"},"anonymous_pattern_9":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(required|optional)\\b","name":"keyword.control.protocol-specification.objc"},"apple_foundation_functional_macros":{"begin":"\\b(API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME)\\s+{0,1}(\\()","beginCaptures":{"1":{"name":"entity.name.function.preprocessor.apple-foundation.objc"},"2":{"name":"punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objc"}},"name":"meta.preprocessor.macro.callable.apple-foundation.objc","patterns":[{"include":"#c_lang"}]},"bracketed_content":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.objc"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.scope.end.objc"}},"name":"meta.bracketed.objc","patterns":[{"begin":"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)","beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}},"end":"(?=])","name":"meta.function-call.predicate.objc","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\bargument(Array|s)(:)","name":"support.function.any-method.name-of-parameter.objc"},{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\b\\w+(:)","name":"invalid.illegal.unknown-method.objc"},{"begin":"@\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"match":"\\b(AND|OR|NOT|IN)\\b","name":"keyword.operator.logical.predicate.cocoa.objc"},{"match":"\\b(ALL|ANY|SOME|NONE)\\b","name":"constant.language.predicate.cocoa.objc"},{"match":"\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b","name":"constant.language.predicate.cocoa.objc"},{"match":"\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b","name":"keyword.operator.comparison.predicate.cocoa.objc"},{"match":"\\bC(ASEINSENSITIVE|I)\\b","name":"keyword.other.modifier.predicate.cocoa.objc"},{"match":"\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b","name":"keyword.other.predicate.cocoa.objc"},{"match":"\\\\([\"'?\\\\abefnrtv]|[0-3]\\d{0,2}|[4-7]\\d?|x[0-9A-Za-z]+)","name":"constant.character.escape.objc"},{"match":"\\\\.","name":"invalid.illegal.unknown-escape.objc"}]},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}]},{"begin":"(?=\\w)(?<=[]\")\\w] )(\\w+(?:(:)|(?=])))","beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}},"end":"(?=])","name":"meta.function-call.objc","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\b\\w+(:)","name":"support.function.any-method.name-of-parameter.objc"},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}]},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$self"}]},"c_functions":{"patterns":[{"captures":{"1":{"name":"punctuation.whitespace.support.function.leading.objc"},"2":{"name":"support.function.C99.objc"}},"match":"(\\s*)\\b(hypot([fl])?|s(scanf|ystem|nprintf|ca(nf|lb(n([fl])?|ln([fl])?))|i(n(h([fl])?|[fl])?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt([fl])?|w(scanf|printf)|rand)|n(e(arbyint([fl])?|xt(toward([fl])?|after([fl])?))|an([fl])?)|c(s(in(h([fl])?|[fl])?|qrt([fl])?)|cos(h(f)?|[fl])?|imag([fl])?|t(ime|an(h([fl])?|[fl])?)|o(s(h([fl])?|[fl])?|nj([fl])?|pysign([fl])?)|p(ow([fl])?|roj([fl])?)|e(il([fl])?|xp([fl])?)|l(o(ck|g([fl])?)|earerr)|a(sin(h([fl])?|[fl])?|cos(h([fl])?|[fl])?|tan(h([fl])?|[fl])?|lloc|rg([fl])?|bs([fl])?)|real([fl])?|brt([fl])?)|t(ime|o(upper|lower)|an(h([fl])?|[fl])?|runc([fl])?|gamma([fl])?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb([fl])?|max(div|abs))|di(v|fftime)|_Exit|unget(w??c)|p(ow([fl])?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c([fl])?|[fl])?|x(it|p(2([fl])?|[fl]|m1([fl])?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim([fl])?|p(classify|ut([cs]|w([cs]))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor([fl])?|abs([fl])?|get([cs]|pos|w([cs]))|re(open|e|ad|xp([fl])?)|m(in([fl])?|od([fl])?|a([fl]|x([fl])?)?))|l(d(iv|exp([fl])?)|o(ngjmp|cal(time|econv)|g(1(p([fl])?|0([fl])?)|2([fl])?|[fl]|b([fl])?)?)|abs|l(div|abs|r(int([fl])?|ound([fl])?))|r(int([fl])?|ound([fl])?)|gamma([fl])?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(m??b)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h([fl])?|[fl])?)|cos(h([fl])?|[fl])?|t(o([fi]|l(l)?)|exit|an(h([fl])?|2([fl])?|[fl])?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int([fl])?|ound([fl])?|e(name|alloc|wind|m(ove|quo([fl])?|ainder([fl])?))|a(nd|ise))|b(search|towc)|m(odf([fl])?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\b"},{"captures":{"1":{"name":"punctuation.whitespace.function-call.leading.objc"},"2":{"name":"support.function.any-method.objc"},"3":{"name":"punctuation.definition.parameters.objc"}},"match":"(?:(?=\\s)(?:(?<=else|new|return)|(?<!\\w))(\\s+))?\\b((?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Z_a-z][0-9A-Z_a-z]*+\\b|::)++)\\s*(\\()","name":"meta.function-call.objc"}]},"c_lang":{"patterns":[{"include":"#preprocessor-rule-enabled"},{"include":"#preprocessor-rule-disabled"},{"include":"#preprocessor-rule-conditional"},{"include":"#comments"},{"include":"#switch_statement"},{"match":"\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b","name":"keyword.control.objc"},{"include":"#storage_types"},{"match":"typedef","name":"keyword.other.typedef.objc"},{"match":"\\bin\\b","name":"keyword.other.in.objc"},{"match":"\\b(const|extern|register|restrict|static|volatile|inline|__block)\\b","name":"storage.modifier.objc"},{"match":"\\bk[A-Z]\\w*\\b","name":"constant.other.variable.mac-classic.objc"},{"match":"\\bg[A-Z]\\w*\\b","name":"variable.other.readwrite.global.mac-classic.objc"},{"match":"\\bs[A-Z]\\w*\\b","name":"variable.other.readwrite.static.mac-classic.objc"},{"match":"\\b(NULL|true|false|TRUE|FALSE)\\b","name":"constant.language.objc"},{"include":"#operators"},{"include":"#numbers"},{"include":"#strings"},{"include":"#special_variables"},{"begin":"^\\s*((#)\\s*define)\\s+((?<id>[$A-Z_a-z][$\\w]*))(?:(\\()(\\s*\\g<id>\\s*((,)\\s*\\g<id>\\s*)*(?:\\.\\.\\.)?)(\\)))?","beginCaptures":{"1":{"name":"keyword.control.directive.define.objc"},"2":{"name":"punctuation.definition.directive.objc"},"3":{"name":"entity.name.function.preprocessor.objc"},"5":{"name":"punctuation.definition.parameters.begin.objc"},"6":{"name":"variable.parameter.preprocessor.objc"},"8":{"name":"punctuation.separator.parameters.objc"},"9":{"name":"punctuation.definition.parameters.end.objc"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.macro.objc","patterns":[{"include":"#preprocessor-rule-define-line-contents"}]},{"begin":"^\\s*((#)\\s*(error|warning))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$3.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?<!\\\\)(?=\\n)","name":"meta.preprocessor.diagnostic.objc","patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\"|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"'|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.single.objc","patterns":[{"include":"#line_continuation_character"}]},{"begin":"[^\"']","end":"(?<!\\\\)(?=\\s*\\n)","name":"string.unquoted.single.objc","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}]},{"begin":"^\\s*((#)\\s*(i(?:nclude(?:_next)?|mport)))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.$3.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.include.objc","patterns":[{"include":"#line_continuation_character"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.include.objc"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.other.lt-gt.include.objc"}]},{"include":"#pragma-mark"},{"begin":"^\\s*((#)\\s*line)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#line_continuation_character"}]},{"begin":"^\\s*((#)\\s*undef)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.undef.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"match":"[$A-Z_a-z][$\\w]*","name":"entity.name.function.preprocessor.objc"},{"include":"#line_continuation_character"}]},{"begin":"^\\s*((#)\\s*pragma)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.pragma.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.pragma.objc","patterns":[{"include":"#strings"},{"match":"[$A-Z_a-z][-$\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.objc"},{"include":"#numbers"},{"include":"#line_continuation_character"}]},{"match":"\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\b","name":"support.type.sys-types.objc"},{"match":"\\b(pthread_(?:attr_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||key_)t)\\b","name":"support.type.pthread.objc"},{"match":"\\b((?:int8|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|uintmax)_t)\\b","name":"support.type.stdint.objc"},{"match":"\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\b","name":"support.constant.mac-classic.objc"},{"match":"\\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\\b","name":"support.type.mac-classic.objc"},{"match":"\\b([0-9A-Z_a-z]+_t)\\b","name":"support.type.posix-reserved.objc"},{"include":"#block"},{"include":"#parens"},{"begin":"(?<!\\w)(?!\\s*(?:not|compl|sizeof|not_eq|bitand|xor|bitor|and|or|and_eq|xor_eq|or_eq|alignof|alignas|_Alignof|_Alignas|while|for|do|if|else|goto|switch|return|break|case|continue|default|void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|NULL|true|false|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t|struct|union|enum|typedef|auto|register|static|extern|thread_local|inline|_Noreturn|const|volatile|restrict|_Atomic)\\s*\\()(?=[A-Z_a-z]\\w*\\s*\\()","end":"(?<=\\))","name":"meta.function.objc","patterns":[{"include":"#function-innards"}]},{"include":"#line_continuation_character"},{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\[)(?!])","beginCaptures":{"1":{"name":"variable.object.objc"},"2":{"name":"punctuation.definition.begin.bracket.square.objc"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.objc"}},"name":"meta.bracket.square.access.objc","patterns":[{"include":"#function-call-innards"}]},{"match":"\\[\\s*]","name":"storage.modifier.array.bracket.square.objc"},{"match":";","name":"punctuation.terminator.statement.objc"},{"match":",","name":"punctuation.separator.delimiter.objc"}],"repository":{"access-method":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))\\s*(?:(\\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\\s*(?:\\.|->))*)\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\()","beginCaptures":{"1":{"name":"variable.object.objc"},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"},"4":{"patterns":[{"match":"\\.","name":"punctuation.separator.dot-access.objc"},{"match":"->","name":"punctuation.separator.pointer-access.objc"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.object.objc"},{"match":".+","name":"everything.else.objc"}]},"5":{"name":"entity.name.function.member.objc"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objc"}},"name":"meta.function-call.member.objc","patterns":[{"include":"#function-call-innards"}]},"block":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objc"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objc"}},"name":"meta.block.objc","patterns":[{"include":"#block_innards"}]}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#c_function_call"},{"begin":"(?=\\s)(?<!else|new|return)(?<=\\w)\\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"variable.other.objc"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.objc"}},"name":"meta.initialization.objc","patterns":[{"include":"#function-call-innards"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objc"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objc"}},"patterns":[{"include":"#block_innards"}]},{"include":"#parens-block"},{"include":"$base"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\s*\\(|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[])\\s*\\()","end":"(?<=\\))(?!\\w)","name":"meta.function-call.objc","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"begin":"((?<!\\w)case(?!\\w))","beginCaptures":{"1":{"name":"keyword.control.case.objc"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.separator.case.objc"}},"name":"meta.conditional.case.objc","patterns":[{"include":"#conditional_context"}]},"comments":{"patterns":[{"captures":{"1":{"name":"meta.toc-list.banner.block.objc"}},"match":"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?","name":"comment.block.objc"},{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.objc"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.objc"}},"name":"comment.block.objc"},{"captures":{"1":{"name":"meta.toc-list.banner.line.objc"}},"match":"^// =(\\s*.*?)\\s*=\\s*$\\n?","name":"comment.line.banner.objc"},{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.objc"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.objc"}},"end":"(?=\\n)","name":"comment.line.double-slash.objc","patterns":[{"include":"#line_continuation_character"}]}]}]},"conditional_context":{"patterns":[{"include":"$base"},{"include":"#block_innards"}]},"default_statement":{"begin":"((?<!\\w)default(?!\\w))","beginCaptures":{"1":{"name":"keyword.control.default.objc"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.separator.case.default.objc"}},"name":"meta.conditional.case.objc","patterns":[{"include":"#conditional_context"}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.objc"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.objc"}},"patterns":[{"include":"#function-call-innards"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"patterns":[{"include":"#function-call-innards"}]},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.objc"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.objc"}},"name":"meta.function.definition.parameters.objc","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"patterns":[{"include":"#function-innards"}]},{"include":"$base"}]},"line_continuation_character":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.line-continuation.objc"}},"match":"(\\\\)\\n"}]},"member_access":{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"}},"match":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))"}]},"5":{"name":"variable.other.member.objc"}},"match":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))((?:[A-Z_a-z]\\w*\\s*(?-im:\\.\\*?|->\\*?)\\s*)*)\\s*\\b((?!void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)[A-Z_a-z]\\w*\\b(?!\\())"},"method_access":{"begin":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))((?:[A-Z_a-z]\\w*\\s*(?-im:\\.\\*?|->\\*?)\\s*)*)\\s*([A-Z_a-z]\\w*)(\\()","beginCaptures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"}},"match":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))"}]},"5":{"name":"entity.name.function.member.objc"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objc"}},"contentName":"meta.function-call.member.objc","end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objc"}},"patterns":[{"include":"#function-call-innards"}]},"numbers":{"begin":"(?<!\\w)(?=\\.??\\d)","end":"(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])","patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.objc"},"2":{"name":"constant.numeric.hexadecimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"3":{"name":"punctuation.separator.constant.numeric.objc"},"4":{"name":"constant.numeric.hexadecimal.objc"},"5":{"name":"constant.numeric.hexadecimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"6":{"name":"punctuation.separator.constant.numeric.objc"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.objc"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.objc"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.objc"},"11":{"name":"constant.numeric.exponent.hexadecimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.objc"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<!')([Pp])(\\+)?(-)?((?-im:[0-9](?:[0-9]|(?<=\\h)'(?=\\h))*)))?([FLfl](?!\\w))?(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])"},{"captures":{"2":{"name":"constant.numeric.decimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"3":{"name":"punctuation.separator.constant.numeric.objc"},"4":{"name":"constant.numeric.decimal.point.objc"},"5":{"name":"constant.numeric.decimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"6":{"name":"punctuation.separator.constant.numeric.objc"},"8":{"name":"keyword.other.unit.exponent.decimal.objc"},"9":{"name":"keyword.operator.plus.exponent.decimal.objc"},"10":{"name":"keyword.operator.minus.exponent.decimal.objc"},"11":{"name":"constant.numeric.exponent.decimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.objc"}},"match":"\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<!')([Ee])(\\+)?(-)?((?-im:[0-9](?:[0-9]|(?<=\\h)'(?=\\h))*)))?([FLfl](?!\\w))?(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])"},{"captures":{"1":{"name":"keyword.other.unit.binary.objc"},"2":{"name":"constant.numeric.binary.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"3":{"name":"punctuation.separator.constant.numeric.objc"},"4":{"name":"keyword.other.unit.suffix.integer.objc"}},"match":"\\G(0[Bb])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])"},{"captures":{"1":{"name":"keyword.other.unit.octal.objc"},"2":{"name":"constant.numeric.octal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"3":{"name":"punctuation.separator.constant.numeric.objc"},"4":{"name":"keyword.other.unit.suffix.integer.objc"}},"match":"\\G(0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.objc"},"2":{"name":"constant.numeric.hexadecimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"3":{"name":"punctuation.separator.constant.numeric.objc"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.objc"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.objc"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.objc"},"8":{"name":"constant.numeric.exponent.hexadecimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"9":{"name":"keyword.other.unit.suffix.integer.objc"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)((?<!')([Pp])(\\+)?(-)?((?-im:[0-9](?:[0-9]|(?<=\\h)'(?=\\h))*)))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])"},{"captures":{"2":{"name":"constant.numeric.decimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"3":{"name":"punctuation.separator.constant.numeric.objc"},"5":{"name":"keyword.other.unit.exponent.decimal.objc"},"6":{"name":"keyword.operator.plus.exponent.decimal.objc"},"7":{"name":"keyword.operator.minus.exponent.decimal.objc"},"8":{"name":"constant.numeric.exponent.decimal.objc","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.objc"}]},"9":{"name":"keyword.other.unit.suffix.integer.objc"}},"match":"\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)((?<!')([Ee])(\\+)?(-)?((?-im:[0-9](?:[0-9]|(?<=\\h)'(?=\\h))*)))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?(?!['.0-9A-Z_a-z]|(?<=[EPep])[-+])"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.objc"}]},"operators":{"patterns":[{"match":"(?<![$\\w])(sizeof)(?![$\\w])","name":"keyword.operator.sizeof.objc"},{"match":"--","name":"keyword.operator.decrement.objc"},{"match":"\\+\\+","name":"keyword.operator.increment.objc"},{"match":"(?:[-%*+]|(?<!\\()/)=","name":"keyword.operator.assignment.compound.objc"},{"match":"(?:[\\&^]|<<|>>|\\|)=","name":"keyword.operator.assignment.compound.bitwise.objc"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.objc"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.objc"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.objc"},{"match":"[\\&^|~]","name":"keyword.operator.objc"},{"match":"=","name":"keyword.operator.assignment.objc"},{"match":"[-%*+/]","name":"keyword.operator.objc"},{"begin":"(\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.objc"}},"end":"(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.objc"}},"patterns":[{"include":"#function-call-innards"},{"include":"$base"}]}]},"parens":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"name":"meta.parens.objc","patterns":[{"include":"$base"}]},"parens-block":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"name":"meta.parens.block.objc","patterns":[{"include":"#block_innards"},{"match":"(?-im:(?<!:):(?!:))","name":"punctuation.range-based.objc"}]},"pragma-mark":{"captures":{"1":{"name":"meta.preprocessor.pragma.objc"},"2":{"name":"keyword.control.directive.pragma.pragma-mark.objc"},"3":{"name":"punctuation.definition.directive.objc"},"4":{"name":"entity.name.tag.pragma-mark.objc"}},"match":"^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))","name":"meta.section.objc"},"preprocessor-rule-conditional":{"patterns":[{"begin":"^\\s*((#)\\s*if(?:n?def)?)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$base"}]},{"captures":{"0":{"name":"invalid.illegal.stray-$1.objc"}},"match":"^\\s*#\\s*(e(?:lse|lif|ndif))\\b"}]},"preprocessor-rule-conditional-block":{"patterns":[{"begin":"^\\s*((#)\\s*if(?:n?def)?)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}]},{"captures":{"0":{"name":"invalid.illegal.stray-$1.objc"}},"match":"^\\s*#\\s*(e(?:lse|lif|ndif))\\b"}]},"preprocessor-rule-conditional-line":{"patterns":[{"match":"\\bdefined\\b(?:\\s*$|(?=\\s*\\(*\\s*(?!defined\\b)[$A-Z_a-z][$\\w]*\\b\\s*\\)*\\s*(?:\\n|//|/\\*|[:?]|&&|\\|\\||\\\\\\s*\\n)))","name":"keyword.control.directive.conditional.objc"},{"match":"\\bdefined\\b","name":"invalid.illegal.macro-name.objc"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.objc"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.objc"}},"patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#operators"},{"match":"\\b(NULL|true|false|TRUE|FALSE)\\b","name":"constant.language.objc"},{"match":"[$A-Z_a-z][$\\w]*","name":"entity.name.function.preprocessor.objc"},{"include":"#line_continuation_character"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"patterns":[{"include":"#preprocessor-rule-conditional-line"}]}]},"preprocessor-rule-define-line-blocks":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objc"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objc"}},"patterns":[{"include":"#preprocessor-rule-define-line-blocks"},{"include":"#preprocessor-rule-define-line-contents"}]},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-define-line-contents":{"patterns":[{"include":"#vararg_ellipses"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objc"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objc"}},"name":"meta.block.objc","patterns":[{"include":"#preprocessor-rule-define-line-blocks"}]},{"match":"\\(","name":"punctuation.section.parens.begin.bracket.round.objc"},{"match":"\\)","name":"punctuation.section.parens.end.bracket.round.objc"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\s*\\(|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[])\\s*\\()","end":"(?<=\\))(?!\\w)|(?<!\\\\)(?=\\s*\\n)","name":"meta.function.objc","patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\"|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"'|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.single.objc","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]},{"include":"#method_access"},{"include":"#member_access"},{"include":"$base"}]},"preprocessor-rule-define-line-functions":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#vararg_ellipses"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.objc"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objc"}},"end":"(\\))|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.objc"}},"patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"(\\))|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-disabled":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*e(?:lif|lse|ndif))\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$base"}]},{"begin":"\\n","contentName":"comment.block.preprocessor.if-branch.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-block":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*e(?:lif|lse|ndif))\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}]},{"begin":"\\n","contentName":"comment.block.preprocessor.if-branch.in-block.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-elif":{"begin":"^\\s*((#)\\s*elif)\\b(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*e(?:lif|lse|ndif))\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","contentName":"comment.block.preprocessor.elif-branch.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-enabled":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.else-branch.objc","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.if-branch.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"\\n","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"$base"}]}]}]},"preprocessor-rule-enabled-block":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.else-branch.in-block.objc","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.if-branch.in-block.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"\\n","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#block_innards"}]}]}]},"preprocessor-rule-enabled-elif":{"begin":"^\\s*((#)\\s*elif)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"^\\s*((#)\\s*(else))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.elif-branch.objc","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*(elif))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.elif-branch.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"include":"$base"}]}]},"preprocessor-rule-enabled-elif-block":{"begin":"^\\s*((#)\\s*elif)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.objc","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"^\\s*((#)\\s*(else))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.elif-branch.in-block.objc","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*(elif))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"contentName":"comment.block.preprocessor.elif-branch.objc","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"include":"#block_innards"}]}]},"preprocessor-rule-enabled-else":{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"$base"}]},"preprocessor-rule-enabled-else-block":{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.objc"},"1":{"name":"keyword.control.directive.conditional.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#block_innards"}]},"probably_a_parameter":{"captures":{"1":{"name":"variable.parameter.probably.objc"}},"match":"(?<=[0-9A-Z_a-z] |[]\\&)*>])\\s*([A-Z_a-z]\\w*)\\s*(?=(?:\\[]\\s*)?[),])"},"static_assert":{"begin":"((?:s|_S)tatic_assert)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.static_assert.objc"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objc"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.objc"}},"patterns":[{"begin":"(,)\\s*(?=(?:L|u8?|U\\s*\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.objc"}},"end":"(?=\\))","name":"meta.static_assert.message.objc","patterns":[{"include":"#string_context"},{"include":"#string_context_c"}]},{"include":"#function_call_context"}]},"storage_types":{"patterns":[{"match":"(?-im:(?<!\\w)(?:void|char|short|int|signed|unsigned|long|float|double|bool|_Bool)(?!\\w))","name":"storage.type.built-in.primitive.objc"},{"match":"(?-im:(?<!\\w)(?:_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)(?!\\w))","name":"storage.type.built-in.objc"},{"match":"(?-im:\\b(asm|__asm__|enum|struct|union)\\b)","name":"storage.type.$1.objc"}]},"string_escaped_char":{"patterns":[{"match":"\\\\([\"'?\\\\abefnprtv]|[0-3]\\d{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})","name":"constant.character.escape.objc"},{"match":"\\\\.","name":"invalid.illegal.unknown-escape.objc"}]},"string_placeholder":{"patterns":[{"match":"%(\\d+\\$)?[- #'+0]*[,:;_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.objc"},{"captures":{"1":{"name":"invalid.illegal.placeholder.objc"}},"match":"(%)(?!\"\\s*(PRI|SCN))"}]},"strings":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.single.objc","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]}]},"switch_conditional_parentheses":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.objc"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.objc"}},"name":"meta.conditional.switch.objc","patterns":[{"include":"#conditional_context"}]},"switch_statement":{"begin":"(((?<!\\w)switch(?!\\w)))","beginCaptures":{"1":{"name":"meta.head.switch.objc"},"2":{"name":"keyword.control.switch.objc"}},"end":"(?<=})|(?=[];=>\\[])","name":"meta.block.switch.objc","patterns":[{"begin":"\\G ?","end":"(\\{|(?=;))","endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.objc"}},"name":"meta.head.switch.objc","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$base"}]},{"begin":"(?<=\\{)","end":"(})","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.objc"}},"name":"meta.body.switch.objc","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$base"},{"include":"#block_innards"}]},{"begin":"(?<=})[\\n\\s]*","end":"[\\n\\s]*(?=;)","name":"meta.tail.switch.objc","patterns":[{"include":"$base"}]}]},"vararg_ellipses":{"match":"(?<!\\.)\\.\\.\\.(?!\\.)","name":"punctuation.vararg-ellipses.objc"}}},"comment":{"patterns":[{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.objc"}},"end":"\\*/","name":"comment.block.objc"},{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.objc"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.objc"}},"end":"\\n","name":"comment.line.double-slash.objc","patterns":[{"match":"(?>\\\\\\s*\\n)","name":"punctuation.separator.continuation.objc"}]}]}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b.*$","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"implementation_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-implementation"},{"include":"#preprocessor-rule-disabled-implementation"},{"include":"#preprocessor-rule-other-implementation"},{"include":"#property_directive"},{"include":"#method_super"},{"include":"$base"}]},"interface_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-interface"},{"include":"#preprocessor-rule-disabled-interface"},{"include":"#preprocessor-rule-other-interface"},{"include":"#properties"},{"include":"#protocol_list"},{"include":"#method"},{"include":"$base"}]},"method":{"begin":"^([-+])\\s*","end":"(?=[#{])|;","name":"meta.function.objc","patterns":[{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.type.begin.objc"}},"end":"(\\))\\s*(\\w+)\\b","endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"entity.name.function.objc"}},"name":"meta.return-type.objc","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}]},{"match":"\\b\\w+(?=:)","name":"entity.name.function.name-of-parameter.objc"},{"begin":"((:))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.name-of-parameter.objc"},"2":{"name":"punctuation.separator.arguments.objc"},"3":{"name":"punctuation.definition.type.begin.objc"}},"end":"(\\))\\s*(\\w+\\b)?","endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"variable.parameter.function.objc"}},"name":"meta.argument-type.objc","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}]},{"include":"#comment"}]},"method_super":{"begin":"^(?=[-+])","end":"(?<=})|(?=#)","name":"meta.function-with-body.objc","patterns":[{"include":"#method"},{"include":"$base"}]},"pragma-mark":{"captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.pragma.objc"},"3":{"name":"meta.toc-list.pragma-mark.objc"}},"match":"^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))","name":"meta.section.objc"},"preprocessor-rule-disabled-implementation":{"begin":"^\\s*(#(if)\\s+(0))\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\s*(#\\s*(else))\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#interface_innards"}]},{"begin":"","end":"(?=^\\s*#\\s*(e(?:lse|ndif))\\b.*?(?:(?=/[*/])|$))","name":"comment.block.preprocessor.if-branch.objc","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-disabled-interface":{"begin":"^\\s*(#(if)\\s+(0))\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\s*(#\\s*(else))\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#interface_innards"}]},{"begin":"","end":"(?=^\\s*#\\s*(e(?:lse|ndif))\\b.*?(?:(?=/[*/])|$))","name":"comment.block.preprocessor.if-branch.objc","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-enabled-implementation":{"begin":"^\\s*(#(if)\\s+(0*1))\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\s*(#\\s*(else))\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"contentName":"comment.block.preprocessor.else-branch.objc","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"","end":"(?=^\\s*#\\s*(e(?:lse|ndif))\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#implementation_innards"}]}]},"preprocessor-rule-enabled-interface":{"begin":"^\\s*(#(if)\\s+(0*1))\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\s*(#\\s*(endif)\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\s*(#\\s*(else))\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"contentName":"comment.block.preprocessor.else-branch.objc","end":"(?=^\\s*#\\s*endif\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"","end":"(?=^\\s*#\\s*(e(?:lse|ndif))\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#interface_innards"}]}]},"preprocessor-rule-other-implementation":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=/[*/])|$))","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.objc"}},"end":"^\\s*(#\\s*(endif))\\b.*?(?:(?=/[*/])|$)","patterns":[{"include":"#implementation_innards"}]},"preprocessor-rule-other-interface":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=/[*/])|$))","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.objc"}},"end":"^\\s*(#\\s*(endif))\\b.*?(?:(?=/[*/])|$)","patterns":[{"include":"#interface_innards"}]},"properties":{"patterns":[{"begin":"((@)property)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"},"3":{"name":"punctuation.section.scope.begin.objc"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}},"name":"meta.property-with-attributes.objc","patterns":[{"match":"\\b(getter|setter|readonly|readwrite|assign|retain|copy|nonatomic|atomic|strong|weak|nonnull|nullable|null_resettable|null_unspecified|class|direct)\\b","name":"keyword.other.property.attribute.objc"}]},{"captures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"}},"match":"((@)property)\\b","name":"meta.property.objc"}]},"property_directive":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(dynamic|synthesize)\\b","name":"keyword.other.property.directive.objc"},"protocol_list":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.section.scope.begin.objc"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}},"name":"meta.protocol-list.objc","patterns":[{"match":"\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated((?:Toobar|UserInterface)Item)|Locking)\\b","name":"support.other.protocol.objc"}]},"protocol_type_qualifier":{"match":"\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\b","name":"storage.modifier.protocol.objc"},"special_variables":{"patterns":[{"match":"\\b_cmd\\b","name":"variable.other.selector.objc"},{"match":"\\b(s(?:elf|uper))\\b","name":"variable.language.objc"}]},"string_escaped_char":{"patterns":[{"match":"\\\\([\"'?\\\\abefnprtv]|[0-3]\\d{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})","name":"constant.character.escape.objc"},{"match":"\\\\.","name":"invalid.illegal.unknown-escape.objc"}]},"string_placeholder":{"patterns":[{"match":"%(\\d+\\$)?[- #'+0]*[,:;_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.objc"},{"captures":{"1":{"name":"invalid.illegal.placeholder.objc"}},"match":"(%)(?!\"\\s*(PRI|SCN))"}]}},"scopeName":"source.objc"},{"displayName":"Groovy","name":"groovy","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"^(#!).+$\\n","name":"comment.line.hashbang.groovy"},{"captures":{"1":{"name":"keyword.other.package.groovy"},"2":{"name":"storage.modifier.package.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"match":"^\\s*(package)\\b(?:\\s*([^ $;]+)\\s*(;)?)?","name":"meta.package.groovy"},{"begin":"(import static)\\b\\s*","beginCaptures":{"1":{"name":"keyword.other.import.static.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\s*(?:$|(?=%>)(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\.","name":"punctuation.separator.groovy"},{"match":"\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"begin":"(import)\\b\\s*","beginCaptures":{"1":{"name":"keyword.other.import.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\s*(?:$|(?=%>)|(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\.","name":"punctuation.separator.groovy"},{"match":"\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"keyword.other.import.static.groovy"},"3":{"name":"storage.modifier.import.groovy"},"4":{"name":"punctuation.terminator.groovy"}},"match":"^\\s*(import)\\s+(static)\\s+\\b(?:\\s*([^ $;]+)\\s*(;)?)?","name":"meta.import.groovy"},{"include":"#groovy"}],"repository":{"annotations":{"patterns":[{"begin":"(?<!\\.)(@[^ (]+)(\\()","beginCaptures":{"1":{"name":"storage.type.annotation.groovy"},"2":{"name":"punctuation.definition.annotation-arguments.begin.groovy"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.groovy"}},"name":"meta.declaration.annotation.groovy","patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"keyword.operator.assignment.groovy"}},"match":"(\\w*)\\s*(=)"},{"include":"#values"},{"match":",","name":"punctuation.definition.seperator.groovy"}]},{"match":"(?<!\\.)@\\S+","name":"storage.type.annotation.groovy"}]},"anonymous-classes-and-new":{"begin":"\\bnew\\b","beginCaptures":{"0":{"name":"keyword.control.new.groovy"}},"end":"(?<=[])])(?!\\s*\\{)|(?<=})|(?=;)|$","patterns":[{"begin":"(\\w+)\\s*(?=\\[)","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"}|(?=\\s*[),;])|$","patterns":[{"begin":"\\[","end":"]","patterns":[{"include":"#groovy"}]},{"begin":"\\{","end":"(?=})","patterns":[{"include":"#groovy"}]}]},{"begin":"(?=\\w.*\\(?)","end":"(?<=\\))|$","patterns":[{"include":"#object-types"},{"begin":"\\(","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"\\)","patterns":[{"include":"#groovy"}]}]},{"begin":"\\{","end":"}","name":"meta.inner-class.groovy","patterns":[{"include":"#class-body"}]}]},"braces":{"begin":"\\{","end":"}","patterns":[{"include":"#groovy-code"}]},"class":{"begin":"(?=\\w?[\\w\\s]*(?:class|@?interface|enum)\\s+\\w+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.groovy"}},"name":"meta.definition.class.groovy","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.groovy"},"2":{"name":"entity.name.type.class.groovy"}},"match":"(class|@?interface|enum)\\s+(\\w+)","name":"meta.class.identifier.groovy"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.groovy"}},"end":"(?=\\{|implements)","name":"meta.definition.class.inherited.classes.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.groovy"}},"end":"(?=\\s*extends|\\{)","name":"meta.definition.class.implemented.interfaces.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\{","end":"(?=})","name":"meta.class.body.groovy","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#enum-values"},{"include":"#constructors"},{"include":"#groovy"}]},"closures":{"begin":"\\{(?=.*?->)","end":"}","patterns":[{"begin":"(?<=\\{)(?=[^}]*?->)","end":"->","endCaptures":{"0":{"name":"keyword.operator.groovy"}},"patterns":[{"begin":"(?!->)","end":"(?=->)","name":"meta.closure.parameters.groovy","patterns":[{"begin":"(?!,|->)","end":"(?=,|->)","name":"meta.closure.parameter.groovy","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=,|->)","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=[^}])","end":"(?=})","patterns":[{"include":"#groovy-code"}]}]},"comment-block":{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"end":"\\*/","name":"comment.block.groovy"},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"match":"/\\*\\*/","name":"comment.block.empty.groovy"},{"include":"text.html.javadoc"},{"include":"#comment-block"},{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"(//).*$\\n?","name":"comment.line.double-slash.groovy"}]},"constants":{"patterns":[{"match":"\\b([A-Z][0-9A-Z_]+)\\b","name":"constant.other.groovy"},{"match":"\\b(true|false|null)\\b","name":"constant.language.groovy"}]},"constructors":{"applyEndPatternLast":1,"begin":"(?<=;|^)(?=\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\s+)*[A-Z]\\w*\\()","end":"}","patterns":[{"include":"#method-content"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\s*\\b([0-9A-Z_]+)(?=\\s*(?:[(,;}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":"[,;]|(?=})|^(?!\\s*\\w+\\s*(?:,|$))","patterns":[{"begin":"\\(","end":"\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"groovy":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#variables"},{"include":"#methods"},{"include":"#annotations"},{"include":"#groovy-code"}]},"groovy-code":{"patterns":[{"include":"#groovy-code-minus-map-keys"},{"include":"#map-keys"}]},"groovy-code-minus-map-keys":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#support-functions"},{"include":"#keyword-language"},{"include":"#values"},{"include":"#anonymous-classes-and-new"},{"include":"#keyword-operator"},{"include":"#types"},{"include":"#storage-modifiers"},{"include":"#parens"},{"include":"#closures"},{"include":"#braces"}]},"keyword":{"patterns":[{"include":"#keyword-operator"},{"include":"#keyword-language"}]},"keyword-language":{"patterns":[{"match":"\\b(try|catch|finally|throw)\\b","name":"keyword.control.exception.groovy"},{"match":"\\b((?<!\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\b","name":"keyword.control.groovy"},{"begin":"\\bcase\\b","beginCaptures":{"0":{"name":"keyword.control.groovy"}},"end":":","endCaptures":{"0":{"name":"punctuation.definition.case-terminator.groovy"}},"name":"meta.case.groovy","patterns":[{"include":"#groovy-code-minus-map-keys"}]},{"begin":"\\b(assert)\\s","beginCaptures":{"1":{"name":"keyword.control.assert.groovy"}},"end":"$|[;}]","name":"meta.declaration.assertion.groovy","patterns":[{"match":":","name":"keyword.operator.assert.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"\\b(throws)\\b","name":"keyword.other.throws.groovy"}]},"keyword-operator":{"patterns":[{"match":"\\b(as)\\b","name":"keyword.operator.as.groovy"},{"match":"\\b(in)\\b","name":"keyword.operator.in.groovy"},{"match":"\\?:","name":"keyword.operator.elvis.groovy"},{"match":"\\*:","name":"keyword.operator.spreadmap.groovy"},{"match":"\\.\\.","name":"keyword.operator.range.groovy"},{"match":"->","name":"keyword.operator.arrow.groovy"},{"match":"<<","name":"keyword.operator.leftshift.groovy"},{"match":"(?<=\\S)\\.(?=\\S)","name":"keyword.operator.navigation.groovy"},{"match":"(?<=\\S)\\?\\.(?=\\S)","name":"keyword.operator.safe-navigation.groovy"},{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.groovy"}},"end":"(?=$|[])}])","name":"meta.evaluation.ternary.groovy","patterns":[{"match":":","name":"keyword.operator.ternary.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"==~","name":"keyword.operator.match.groovy"},{"match":"=~","name":"keyword.operator.find.groovy"},{"match":"\\b(instanceof)\\b","name":"keyword.operator.instanceof.groovy"},{"match":"(===?|!=|<=|>=|<=>|<>|[<>]|<<)","name":"keyword.operator.comparison.groovy"},{"match":"=","name":"keyword.operator.assignment.groovy"},{"match":"(--|\\+\\+)","name":"keyword.operator.increment-decrement.groovy"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.groovy"},{"match":"(!|&&|\\|\\|)","name":"keyword.operator.logical.groovy"}]},"language-variables":{"patterns":[{"match":"\\b(this|super)\\b","name":"variable.language.groovy"}]},"map-keys":{"patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"punctuation.definition.seperator.key-value.groovy"}},"match":"(\\w+)\\s*(:)"}]},"method-call":{"begin":"([$\\w]+)(\\()","beginCaptures":{"1":{"name":"meta.method.groovy"},"2":{"name":"punctuation.definition.method-parameters.begin.groovy"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.method-parameters.end.groovy"}},"name":"meta.method-call.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]},"method-content":{"patterns":[{"match":"\\s"},{"include":"#annotations"},{"begin":"(?=[<\\w][^(]*\\s+[$<\\w]+\\s*\\()","end":"(?=[$\\w]+\\s*\\()","name":"meta.method.return-type.java","patterns":[{"include":"#storage-modifiers"},{"include":"#types"}]},{"begin":"([$\\w]+)\\s*\\(","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.groovy"}},"end":"(?=[;{])|^(?=\\s*(?:[^{\\s]|$))","name":"meta.throwables.groovy","patterns":[{"include":"#object-types"}]},{"begin":"\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"#groovy-code"}]}]},"methods":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\{)(?=\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\w*\\.)*[A-Z]+\\w*)[]\\[]*(?:<.*>)?)\\s+([^=]+\\s+)?\\w+\\s*\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#method-content"}]},"nest_curly":{"begin":"\\{","captures":{"0":{"name":"punctuation.section.scope.groovy"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"numbers":{"patterns":[{"match":"((0([Xx])\\h*)|([-+])?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\b","name":"constant.numeric.groovy"}]},"object-types":{"patterns":[{"begin":"\\b((?:[a-z]\\w*\\.)*(?:[A-Z]+\\w*[a-z]+\\w*|UR[IL]))<","end":"[>[^],<?\\[\\w\\s]]","name":"storage.type.generic.groovy","patterns":[{"include":"#object-types"},{"begin":"<","end":"[>[^],<\\[\\w\\s]]","name":"storage.type.generic.groovy"}]},{"begin":"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*[a-z]+\\w*)(?=\\[)","end":"(?=[^]\\s])","name":"storage.type.object.array.groovy","patterns":[{"begin":"\\[","end":"]","patterns":[{"include":"#groovy"}]}]},{"match":"\\b(?:[A-Za-z]\\w*\\.)*(?:[A-Z]+\\w*[a-z]+\\w*|UR[IL])\\b","name":"storage.type.groovy"}]},"object-types-inherited":{"patterns":[{"begin":"\\b((?:[A-Za-z]\\w*\\.)*[A-Z]+\\w*[a-z]+\\w*)<","end":"[>[^],<?\\[\\w\\s]]","name":"entity.other.inherited-class.groovy","patterns":[{"include":"#object-types-inherited"},{"begin":"<","end":"[>[^],<\\[\\w\\s]]","name":"storage.type.generic.groovy"}]},{"captures":{"1":{"name":"keyword.operator.dereference.groovy"}},"match":"\\b(?:[A-Za-z]\\w*(\\.))*[A-Z]+\\w*[a-z]+\\w*\\b","name":"entity.other.inherited-class.groovy"}]},"parameters":{"patterns":[{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#types"},{"match":"\\w+","name":"variable.parameter.method.groovy"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#groovy-code"}]},"primitive-arrays":{"patterns":[{"match":"\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\[])*\\b","name":"storage.type.primitive.array.groovy"}]},"primitive-types":{"patterns":[{"match":"\\b(?:void|boolean|byte|char|short|int|float|long|double)\\b","name":"storage.type.primitive.groovy"}]},"regexp":{"patterns":[{"begin":"/(?=[^/]+/([^>]|$))","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.groovy","patterns":[{"match":"\\\\.","name":"constant.character.escape.groovy"}]},{"begin":"~\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.compiled.groovy","patterns":[{"match":"\\\\.","name":"constant.character.escape.groovy"}]}]},"storage-modifiers":{"patterns":[{"match":"\\b(p(?:rivate|rotected|ublic))\\b","name":"storage.modifier.access-control.groovy"},{"match":"\\b(static)\\b","name":"storage.modifier.static.groovy"},{"match":"\\b(final)\\b","name":"storage.modifier.final.groovy"},{"match":"\\b(native|synchronized|abstract|threadsafe|transient)\\b","name":"storage.modifier.other.groovy"}]},"string-quoted-double":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-double-contents":{"patterns":[{"match":"\\\\.","name":"constant.character.escape.groovy"},{"applyEndPatternLast":1,"begin":"\\$\\w","end":"(?=\\W)","name":"variable.other.interpolated.groovy","patterns":[{"match":"\\w","name":"variable.other.interpolated.groovy"},{"match":"\\.","name":"keyword.other.dereference.groovy"}]},{"begin":"\\$\\{","captures":{"0":{"name":"punctuation.section.embedded.groovy"}},"end":"}","name":"source.groovy.embedded.source","patterns":[{"include":"#nest_curly"}]}]},"string-quoted-double-multiline":{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.multiline.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"string-quoted-single-contents":{"patterns":[{"match":"\\\\.","name":"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.multiline.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"strings":{"patterns":[{"include":"#string-quoted-double-multiline"},{"include":"#string-quoted-single-multiline"},{"include":"#string-quoted-double"},{"include":"#string-quoted-single"},{"include":"#regexp"}]},"structures":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.structure.begin.groovy"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.structure.end.groovy"}},"name":"meta.structure.groovy","patterns":[{"include":"#groovy-code"},{"match":",","name":"punctuation.definition.separator.groovy"}]},"support-functions":{"patterns":[{"match":"\\b(?:sprintf|print(?:f|ln)?)\\b","name":"support.function.print.groovy"},{"match":"\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\b","name":"support.function.testing.groovy"}]},"types":{"patterns":[{"match":"\\b(def)\\b","name":"storage.type.def.groovy"},{"include":"#primitive-types"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"values":{"patterns":[{"include":"#language-variables"},{"include":"#strings"},{"include":"#numbers"},{"include":"#constants"},{"include":"#types"},{"include":"#structures"},{"include":"#method-call"}]},"variables":{"applyEndPatternLast":1,"patterns":[{"begin":"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\w*\\.)*[A-Z]+\\w*)\\s+[],<>\\[_\\w\\d\\s]+(?:=|$))","end":";|$","name":"meta.definition.variable.groovy","patterns":[{"match":"\\s"},{"captures":{"1":{"name":"constant.variable.groovy"}},"match":"([0-9A-Z_]+)\\s+(?==)"},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\w[^,\\s]*)\\s+(?==)"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"$","patterns":[{"include":"#groovy-code"}]},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\w[^=\\s]*)(?=\\s*($|;))"},{"include":"#groovy-code"}]}]}},"scopeName":"source.groovy"},{"displayName":"Go","name":"go","patterns":[{"include":"#statements"}],"repository":{"after_control_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"variable.other.go"}]}},"match":"(?<=\\brange\\b|;|\\bif\\b|\\bfor\\b|[<>]|<=|>=|==|!=|\\w[-%*+/]|\\w[-%*+/]=|\\|\\||&&)\\s*((?![]\\[]+)[-\\]!%*+./:<=>\\[_[:alnum:]]+)\\s*(?=\\{)"},"brackets":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"$self"}]}]},"built_in_functions":{"patterns":[{"match":"\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\b(?=\\()","name":"entity.name.function.support.builtin.go"},{"begin":"\\b(new)\\b(\\()","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#functions"},{"include":"#struct_variables_types"},{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\w+","name":"entity.name.type.go"},{"include":"$self"}]},{"begin":"\\b(make)\\b(\\()((?:(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?[]*\\[]+{0,1}(?:(?!\\bmap\\b)[.\\w]+)?(\\[(?:\\S+(?:,\\s*\\S+)*)?])?,?)?","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"(/\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"(\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"name":"comment.block.go"},{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"\\n|$","name":"comment.line.double-slash.go"}]},"const_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\bconst\\b)\\s*\\b([.\\w]+(?:,\\s*[.\\w]+)*)\\s*((?:(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?![]*\\[]+{0,1}\\b(?:struct|func|map)\\b)(?:[]*.\\[\\w]+(?:,\\s*[]*.\\[\\w]+)*)?\\s*=?)?"},{"begin":"(?<=\\bconst\\b)\\s*(\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"^\\s*\\b([.\\w]+(?:,\\s*[.\\w]+)*)\\s*((?:(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?![]*\\[]+{0,1}\\b(?:struct|func|map)\\b)(?:[]*.\\[\\w]+(?:,\\s*[]*.\\[\\w]+)*)?\\s*=?)?"},{"include":"$self"}]}]},"delimiters":{"patterns":[{"match":",","name":"punctuation.other.comma.go"},{"match":"\\.(?!\\.\\.)","name":"punctuation.other.period.go"},{"match":":(?!=)","name":"punctuation.other.colon.go"}]},"double_parentheses_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<!\\w)(\\([]*\\[]+{0,1}[.\\w]+(?:\\[(?:[]*.\\[{}\\w]+(?:,\\s*[]*.\\[{}\\w]+)*)?])?\\))(?=\\()"},"function_declaration":{"begin":"^\\b(func)\\b\\s*(\\([^)]+\\)\\s*)?(?:(\\w+)(?=[(\\[]))?","beginCaptures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"name":"variable.parameter.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(\\w+\\s+)?([*.\\w]+(?:\\[(?:[*.\\w]+(?:,\\s+)?)+{0,1}])?)"},{"include":"$self"}]}]},"3":{"patterns":[{"match":"\\d\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\w+","name":"entity.name.function.go"}]}},"end":"(?<=\\))\\s*((?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}(?![]*\\[]+{0,1}\\b(?:struct|interface)\\b)[-\\]*.\\[\\w]+)?\\s*(?=\\{)","endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"begin":"([*.\\w]+)?(\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\))\\s*((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[-\\]*.<>\\[\\w]+\\s*(?:/[*/].*)?)$"},{"include":"$self"}]},"function_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\b\\w+,\\s*)+{0,1}\\b\\w+)\\s+(?=(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[]*\\[]+{0,1}\\b(?:struct|interface)\\b\\s*\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\()|^\\s*)((?:\\b\\w+,\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\b\\w+,\\s*)+{0,1}\\b\\w+)\\s+((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}(?:[]*.\\[\\w]+{0,1}(?:\\bfunc\\b\\([^)]+{0,1}\\)(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}\\s*)+(?:[]*.\\[\\w]+|\\([^)]+{0,1}\\))?|(?:[]*\\[]+{0,1}[*.\\w]+(?:\\[[^]]+])?[*.\\w]+{0,1})+))"},{"begin":"([*.\\w]+)?(\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"([.\\w]+)"},{"include":"$self"}]},"functions":{"begin":"\\b(func)\\b(?=\\()","beginCaptures":{"1":{"name":"keyword.function.go"}},"end":"(?<=\\))(\\s*(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+)?(\\s*(?:[]*\\[]+{0,1}[*.\\w]+)?(?:\\[(?:[*.\\w]+{0,1}(?:\\[[^]]+{0,1}])?(?:,\\s+)?)+]|\\([^)]+{0,1}\\))?[*.\\w]+{0,1}\\s*(?=\\{)|\\s*(?:[]*\\[]+{0,1}(?!\\bfunc\\b)[*.\\w]+(?:\\[(?:[*.\\w]+{0,1}(?:\\[[^]]+{0,1}])?(?:,\\s+)?)+])?[*.\\w]+{0,1}|\\([^)]+{0,1}\\)))?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#parameter-variable-types"}]},"functions_inline":{"captures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"\\b(func)\\b(\\([^/]*?\\)\\s+\\([^/]*?\\))\\s+(?=\\{)"},"generic_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\b\\w+,\\s*)+{0,1}\\b\\w+)\\s+(?=(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[]*\\[]+{0,1}\\b(?:struct|interface)\\b\\s*\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\()|^\\s*)((?:\\b\\w+,\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\b\\w+,\\s*)+{0,1}\\b\\w+)\\s+((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}(?:[]*.\\[\\w]+{0,1}(?:\\bfunc\\b\\([^)]+{0,1}\\)(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}\\s*)+(?:[*.\\w]+|\\([^)]+{0,1}\\))?|(?:(?:[*.~\\w]+|\\[(?:[*.\\w]+{0,1}(?:\\[[^]]+{0,1}])?(?:,\\s+)?)+])[*.\\w]+{0,1})+))"},{"begin":"([*.\\w]+)?(\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"\\b([.\\w]+)"},{"include":"$self"}]},"generic_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#parameter-variable-types"}]}},"match":"([*.\\w]+)(\\[[^]]+{0,1}])"},"group-functions":{"patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"patterns":[{"include":"#other_struct_interface_expressions"},{"include":"#type_assertion_inline"},{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#single_type"},{"include":"#multi_types"},{"include":"#struct_interface_declaration"},{"include":"#double_parentheses_types"},{"include":"#switch_types"},{"include":"#type-declarations"}]},"group-variables":{"patterns":[{"include":"#const_assignment"},{"include":"#var_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_variables"},{"include":"#other_variables"}]},"hover":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\binvalid\\b\\s+\\btype\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\bfield\\b)\\s+([*.\\w]+)\\s+([\\s\\S]+)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\breturns\\b)\\s+([\\s\\S]+)"}]},"import":{"patterns":[{"begin":"\\b(import)\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"end":"(?!\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.other.import.go"}]},"2":{"name":"string.quoted.double.go"},"3":{"name":"punctuation.definition.string.begin.go"},"4":{"name":"entity.name.import.go"},"5":{"name":"punctuation.definition.string.end.go"}},"match":"(\\s*[.\\w]+)?\\s*((\")([^\"]*)(\"))"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.imports.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.imports.end.bracket.round.go"}},"patterns":[{"include":"#comments"},{"include":"#imports"}]},{"include":"$self"}]},"interface_variables_types":{"begin":"\\b(interface)\\b\\s*(\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations-without-brackets"},{"begin":"([*.\\w]+)?(\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"([.\\w]+)"}]},"keywords":{"patterns":[{"match":"\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b","name":"keyword.control.go"},{"match":"\\bchan\\b","name":"keyword.channel.go"},{"match":"\\bconst\\b","name":"keyword.const.go"},{"match":"\\bvar\\b","name":"keyword.var.go"},{"match":"\\bfunc\\b","name":"keyword.function.go"},{"match":"\\binterface\\b","name":"keyword.interface.go"},{"match":"\\bmap\\b","name":"keyword.map.go"},{"match":"\\bstruct\\b","name":"keyword.struct.go"},{"match":"\\bimport\\b","name":"keyword.control.import.go"},{"match":"\\btype\\b","name":"keyword.type.go"}]},"label_loop_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.label.go"}]}},"match":"^(\\s*\\w+:\\s*|\\s*\\b(?:break|goto|continue)\\b\\s+\\w+(?:\\s*/[*/]\\s*.*)?)$"},"language_constants":{"captures":{"1":{"name":"constant.language.boolean.go"},"2":{"name":"constant.language.null.go"},"3":{"name":"constant.language.iota.go"}},"match":"\\b(?:(true|false)|(nil)|(iota))\\b"},"map_types":{"begin":"\\b(map)\\b(\\[)","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"(])((?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}(?![]*\\[]+{0,1}\\b(?:func|struct|map)\\b)[]*\\[]+{0,1}[.\\w]+(?:\\[(?:[]*.\\[{}\\w]+(?:,\\s*[]*.\\[{}\\w]+)*)?])?)?","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"include":"#functions"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\w+","name":"entity.name.type.go"}]},"multi_types":{"begin":"\\b(type)\\b\\s*(\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]},"numeric_literals":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"\\n|$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"constant.numeric.decimal.point.go"},"4":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"5":{"name":"punctuation.separator.constant.numeric.go"},"6":{"name":"keyword.other.unit.exponent.decimal.go"},"7":{"name":"keyword.operator.plus.exponent.decimal.go"},"8":{"name":"keyword.operator.minus.exponent.decimal.go"},"9":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"12":{"name":"punctuation.separator.constant.numeric.go"},"13":{"name":"keyword.other.unit.exponent.decimal.go"},"14":{"name":"keyword.operator.plus.exponent.decimal.go"},"15":{"name":"keyword.operator.minus.exponent.decimal.go"},"16":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"17":{"name":"keyword.other.unit.imaginary.go"},"18":{"name":"constant.numeric.decimal.point.go"},"19":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"20":{"name":"punctuation.separator.constant.numeric.go"},"21":{"name":"keyword.other.unit.exponent.decimal.go"},"22":{"name":"keyword.operator.plus.exponent.decimal.go"},"23":{"name":"keyword.operator.minus.exponent.decimal.go"},"24":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"25":{"name":"keyword.other.unit.imaginary.go"},"26":{"name":"keyword.other.unit.hexadecimal.go"},"27":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"28":{"name":"punctuation.separator.constant.numeric.go"},"29":{"name":"constant.numeric.hexadecimal.go"},"30":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"31":{"name":"punctuation.separator.constant.numeric.go"},"32":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"33":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"34":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"35":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"36":{"name":"keyword.other.unit.imaginary.go"},"37":{"name":"keyword.other.unit.hexadecimal.go"},"38":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"39":{"name":"punctuation.separator.constant.numeric.go"},"40":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"41":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"42":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"43":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"44":{"name":"keyword.other.unit.imaginary.go"},"45":{"name":"keyword.other.unit.hexadecimal.go"},"46":{"name":"constant.numeric.hexadecimal.go"},"47":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"48":{"name":"punctuation.separator.constant.numeric.go"},"49":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"50":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"51":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"52":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)?(?:(?<!_)([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*))?(i(?!\\w))?(?:\\n|$)|(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)(?<!_)([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*)(i(?!\\w))?(?:\\n|$))|((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)(?:(?<!_)([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*))?(i(?!\\w))?(?:\\n|$))|(0[Xx])_?(\\h(?:\\h|((?<=\\h)_(?=\\h)))*)((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)_(?=\\h)))*)?(?<!_)([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*)(i(?!\\w))?(?:\\n|$))|(0[Xx])_?(\\h(?:\\h|((?<=\\h)_(?=\\h)))*)(?<!_)([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*)(i(?!\\w))?(?:\\n|$))|(0[Xx])((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)_(?=\\h)))*)(?<!_)([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)_(?=\\h))*)(i(?!\\w))?(?:\\n|$))"},{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"keyword.other.unit.imaginary.go"},"4":{"name":"keyword.other.unit.binary.go"},"5":{"name":"constant.numeric.binary.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"6":{"name":"punctuation.separator.constant.numeric.go"},"7":{"name":"keyword.other.unit.imaginary.go"},"8":{"name":"keyword.other.unit.octal.go"},"9":{"name":"constant.numeric.octal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"punctuation.separator.constant.numeric.go"},"11":{"name":"keyword.other.unit.imaginary.go"},"12":{"name":"keyword.other.unit.hexadecimal.go"},"13":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\h)_(?=\\h)","name":"punctuation.separator.constant.numeric.go"}]},"14":{"name":"punctuation.separator.constant.numeric.go"},"15":{"name":"keyword.other.unit.imaginary.go"}},"match":"\\G(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\h)_(?=\\h)))*)(i(?!\\w))?(?:\\n|$)|(0[Bb])_?([01](?:[01]|((?<=\\h)_(?=\\h)))*)(i(?!\\w))?(?:\\n|$))|(0[Oo]?)_?((?:[0-7]|((?<=\\h)_(?=\\h)))+)(i(?!\\w))?(?:\\n|$))|(0[Xx])_?(\\h(?:\\h|((?<=\\h)_(?=\\h)))*)(i(?!\\w))?(?:\\n|$))"},{"match":"(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.go"}]}]}},"match":"(?<!\\w)\\.?\\d(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"operators":{"patterns":[{"match":"(?<!\\w)[\\&*]+(?!\\d)(?=[]\\[\\w]|<-)","name":"keyword.operator.address.go"},{"match":"<-","name":"keyword.operator.channel.go"},{"match":"--","name":"keyword.operator.decrement.go"},{"match":"\\+\\+","name":"keyword.operator.increment.go"},{"match":"(==|!=|<=|>=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\|\\||!)","name":"keyword.operator.logical.go"},{"match":"((?:|[-%*+/:^|]|<<|>>|&\\^?)=)","name":"keyword.operator.assignment.go"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\^)|[\\^|]|&\\^|<<|>>|~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\.\\.\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"patterns":[{"include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"\\b(?!(?:struct|interface)\\b)([.\\w]+)(?<brackets>\\[(?:[^]\\[]|\\g<brackets>)*])?(?=\\{)"}]},"other_variables":{"match":"\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\b(package)\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"end":"(?!\\G)","patterns":[{"match":"\\d\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"patterns":[{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"begin":"([*.\\w]+)?(\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]}]},"property_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]}},"match":"\\b([.\\w]+:(?!=))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.raw.go","patterns":[{"include":"#string_placeholder"}]},"runes":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.rune.go","patterns":[{"match":"\\G(\\\\([0-7]{3}|[\"'\\\\abfnrtv]|x\\h{2}|u\\h{4}|U\\h{8})|.)(?=')","name":"constant.other.rune.go"},{"match":"[^']+","name":"invalid.illegal.unknown-rune.go"}]}]},"single_type":{"patterns":[{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"^\\s*\\b(type)\\b\\s*([*.\\w]+)\\s+(?!(?:=\\s*)?[]*\\[]+{0,1}\\b(?:struct|interface)\\b)([\\s\\S]+)"},{"begin":"(?:^|\\s+)\\b(type)\\b\\s*([*.\\w]+)(?=\\[)","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\w+","name":"entity.name.type.go"}]}},"end":"(?<=])(\\s+(?:=\\s*)?(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}(?![]*\\[]+{0,1}\\b(?:struct|interface|func)\\b)[-\\]*.\\[\\w]+(?:,\\s*[]*.\\[\\w]+)*)?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#struct_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\w+","name":"entity.name.type.go"}]}]},"slice_index_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.go"}]}},"match":"(?<=\\w\\[)((?:\\b[-%\\&*+./<>|\\w]+:|:\\b[-%\\&*+./<>|\\w]+)(?:\\b[-%\\&*+./<>|\\w]+)?(?::\\b[-%\\&*+./<>|\\w]+)?)(?=])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#hover"}]},"storage_types":{"patterns":[{"match":"\\bbool\\b","name":"storage.type.boolean.go"},{"match":"\\bbyte\\b","name":"storage.type.byte.go"},{"match":"\\berror\\b","name":"storage.type.error.go"},{"match":"\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\b","name":"storage.type.numeric.go"},{"match":"\\brune\\b","name":"storage.type.rune.go"},{"match":"\\bstring\\b","name":"storage.type.string.go"},{"match":"\\buintptr\\b","name":"storage.type.uintptr.go"},{"match":"\\bany\\b","name":"entity.name.type.any.go"},{"match":"\\bcomparable\\b","name":"entity.name.type.comparable.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\([0-7]{3}|[\"'\\\\abfnrtv]|x\\h{2}|u\\h{4}|U\\h{8})","name":"constant.character.escape.go"},{"match":"\\\\[^\"'0-7Uabfnrtuvx]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.double.go","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]}]},"string_placeholder":{"patterns":[{"match":"%(\\[\\d+])?([- #+0]{0,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+])\\*?)?(\\[\\d+])?)?))?[%EFGTUXb-gopqstvwx]","name":"constant.other.placeholder.go"}]},"struct_interface_declaration":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"^\\s*\\b(type)\\b\\s*([.\\w]+)"},"struct_variable_types_fields_multi":{"patterns":[{"begin":"\\b(\\w+(?:,\\s*\\b\\w+)*(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}\\s*[]*\\[]+{0,1})\\b(struct)\\b\\s*(\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.struct.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"\\b(\\w+(?:,\\s*\\b\\w+)*(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}\\s*[]*\\[]+{0,1})\\b(interface)\\b\\s*(\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.interface.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"\\b(\\w+(?:,\\s*\\b\\w+)*(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}\\s*[]*\\[]+{0,1})\\b(func)\\b\\s*(\\()","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.function.go"},"3":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#parameter-variable-types"}]},"struct_variables_types":{"begin":"\\b(struct)\\b\\s*(\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\{)\\s*((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[]*.\\[\\w]+)\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\{)\\s*((?:\\w+,\\s*)+{0,1}\\w+\\s+)((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[]*.\\[\\w]+)\\s*(?=})"},{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\w+,\\s*)+{0,1}\\w+\\s+)?((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[^\"/`\\s]+;?)"}]}},"match":"(?<=\\{)((?:\\s*(?:(?:\\w+,\\s*)+{0,1}\\w+\\s+)?(?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[^\"/`\\s]+;?)+)\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[*.\\w]+\\s*)(?:(?=[\"/`])|$)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"\\b(\\w+(?:\\s*,\\s*\\b\\w+)*)\\s*([^\"/`]+)"}]},"support_functions":{"captures":{"1":{"name":"entity.name.function.support.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\d\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\w+","name":"entity.name.function.support.go"}]},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?:((?<=\\.)\\b\\w+)|\\b(\\w+))(?<brackets>\\[(?:[^]\\[]|\\g<brackets>)*])?(?=\\()"},"switch_types":{"begin":"(?<=\\bswitch\\b)\\s*(\\w+\\s*:=)?\\s*([-\\]%\\&(-+./<>\\[|\\w]+)(\\.\\(\\btype\\b\\)\\s*)(\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\btype\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},"3":{"name":"punctuation.other.colon.go"},"4":{"patterns":[{"include":"#comments"}]}},"match":"^\\s*\\b(case)\\b\\s+([!*,.<=>\\w\\s]+)(:)(\\s*/[*/]\\s*.*)?$"},{"begin":"\\bcase\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"switch_variables":{"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\w+","name":"variable.other.go"}]}},"match":"^\\s*\\b(case)\\b\\s+([\\s\\S]+:\\s*(?:/[*/].*)?)$"},{"begin":"(?<=\\bswitch\\b)\\s*((?:[.\\w]+(?:\\s*[-!%\\&+,/:<=>|]+\\s*[.\\w]+)*\\s*[-!%\\&+,/:<=>|]+)?\\s*[-\\]%\\&(-+./<>\\[|\\w]+{0,1}\\s*(?:;\\s*[-\\]%\\&(-+./<>\\[|\\w]+\\s*)?)(\\{)","beginCaptures":{"1":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\w+","name":"variable.other.go"}]},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"begin":"\\bcase\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\w+","name":"variable.other.go"}]},{"include":"$self"}]}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"match":"\\[](\\s+)"},{"match":"\\b0[0-7]*[89]\\d*\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"match":";","name":"punctuation.terminator.go"},"type-declarations":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#brackets"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type-declarations-without-brackets":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\.\\()(?:\\b(type)\\b|((?:\\s*[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+{0,1}[]*\\[]+{0,1}[.\\w]+(?:\\[(?:[]*.\\[{}\\w]+(?:,\\s*[]*.\\[{}\\w]+)*)?])?))(?=\\))"},"var_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\bvar\\b)\\s*\\b([.\\w]+(?:,\\s*[.\\w]+)*)\\s*((?:(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?![]*\\[]+{0,1}\\b(?:struct|func|map)\\b)(?:[]*.\\[\\w]+(?:,\\s*[]*.\\[\\w]+)*)?\\s*=?)?"},{"begin":"(?<=\\bvar\\b)\\s*(\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\w+","name":"entity.name.type.go"}]}},"match":"^\\s*\\b([.\\w]+(?:,\\s*[.\\w]+)*)\\s*((?:(?:[]*\\[]+{0,1}(?:<-\\s*)?\\bchan\\b(?:\\s*<-)?\\s*)+(?:\\([^)]+\\))?)?(?![]*\\[]+{0,1}\\b(?:struct|func|map)\\b)(?:[]*.\\[\\w]+(?:,\\s*[]*.\\[\\w]+)*)?\\s*=?)?"},{"include":"$self"}]}]},"variable_assignment":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\d\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\w+","name":"variable.other.assignment.go"}]}},"match":"\\b\\w+(?:,\\s*\\w+)*(?=\\s*:=)"},{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"include":"#operators"},{"match":"\\d\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\w+","name":"variable.other.assignment.go"}]}},"match":"\\b[*.\\w]+(?:,\\s*[*.\\w]+)*(?=\\s*=(?!=))"}]}},"scopeName":"source.go"},{"displayName":"Git Rebase Message","name":"git-rebase","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.git-rebase"}},"match":"^\\s*(#).*$\\n?","name":"comment.line.number-sign.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"name":"constant.sha.git-rebase"},"3":{"name":"meta.commit-message.git-rebase"}},"match":"^\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\s+([0-9a-f]+)\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"patterns":[{"include":"source.shell"}]}},"match":"^\\s*(exec|x)\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"}},"match":"^\\s*(b(?:reak|))\\s*$","name":"meta.commit-command.git-rebase"}],"scopeName":"text.git-rebase"},{"displayName":"Git Commit Message","name":"git-commit","patterns":[{"begin":"(?=^diff --git)","contentName":"source.diff","end":"\\z","name":"meta.embedded.diff.git-commit","patterns":[{"include":"source.diff"}]},{"begin":"^(?!#)","end":"^(?=#)","name":"meta.scope.message.git-commit","patterns":[{"captures":{"1":{"name":"invalid.deprecated.line-too-long.git-commit"},"2":{"name":"invalid.illegal.line-too-long.git-commit"}},"match":"\\G.{0,50}(.{0,22}(.*))$","name":"meta.scope.subject.git-commit"}]},{"begin":"^(?=#)","contentName":"comment.line.number-sign.git-commit","end":"^(?!#)","name":"meta.scope.metadata.git-commit","patterns":[{"captures":{"1":{"name":"markup.changed.git-commit"}},"match":"^#\\t((modified|renamed):.*)$"},{"captures":{"1":{"name":"markup.inserted.git-commit"}},"match":"^#\\t(new file:.*)$"},{"captures":{"1":{"name":"markup.deleted.git-commit"}},"match":"^#\\t(deleted.*)$"},{"captures":{"1":{"name":"keyword.other.file-type.git-commit"},"2":{"name":"string.unquoted.filename.git-commit"}},"match":"^#\\t([^:]+): *(.*)$"}]}],"scopeName":"text.git-commit"},{"displayName":"Dockerfile","name":"docker","patterns":[{"captures":{"1":{"name":"keyword.other.special-method.dockerfile"},"2":{"name":"keyword.other.special-method.dockerfile"}},"match":"^\\s*\\b(?i:(FROM))\\b.*?\\b(?i:(AS))\\b"},{"captures":{"1":{"name":"keyword.control.dockerfile"},"2":{"name":"keyword.other.special-method.dockerfile"}},"match":"^\\s*(?i:(ONBUILD)\\s+)?(?i:(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR))\\s"},{"captures":{"1":{"name":"keyword.operator.dockerfile"},"2":{"name":"keyword.other.special-method.dockerfile"}},"match":"^\\s*(?i:(ONBUILD)\\s+)?(?i:(CMD|ENTRYPOINT))\\s"},{"include":"#string-character-escape"},{"begin":"\"","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.dockerfile"}},"end":"\"","endCaptures":{"1":{"name":"punctuation.definition.string.end.dockerfile"}},"name":"string.quoted.double.dockerfile","patterns":[{"include":"#string-character-escape"}]},{"begin":"'","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.dockerfile"}},"end":"'","endCaptures":{"1":{"name":"punctuation.definition.string.end.dockerfile"}},"name":"string.quoted.single.dockerfile","patterns":[{"include":"#string-character-escape"}]},{"captures":{"1":{"name":"punctuation.whitespace.comment.leading.dockerfile"},"2":{"name":"comment.line.number-sign.dockerfile"},"3":{"name":"punctuation.definition.comment.dockerfile"}},"match":"^(\\s*)((#).*$\\n?)"}],"repository":{"string-character-escape":{"match":"\\\\.","name":"constant.character.escaped.dockerfile"}},"scopeName":"source.dockerfile"},{"displayName":"Diff","name":"diff","patterns":[{"captures":{"1":{"name":"punctuation.definition.separator.diff"}},"match":"^((\\*{15})|(={67})|(-{3}))$\\n?","name":"meta.separator.diff"},{"match":"^\\d+(,\\d+)*([acd])\\d+(,\\d+)*$\\n?","name":"meta.diff.range.normal"},{"captures":{"1":{"name":"punctuation.definition.range.diff"},"2":{"name":"meta.toc-list.line-number.diff"},"3":{"name":"punctuation.definition.range.diff"}},"match":"^(@@)\\s*(.+?)\\s*(@@)($\\n?)?","name":"meta.diff.range.unified"},{"captures":{"3":{"name":"punctuation.definition.range.diff"},"4":{"name":"punctuation.definition.range.diff"},"6":{"name":"punctuation.definition.range.diff"},"7":{"name":"punctuation.definition.range.diff"}},"match":"^(((-{3}) .+ (-{4}))|((\\*{3}) .+ (\\*{4})))$\\n?","name":"meta.diff.range.context"},{"match":"^diff --git a/.*$\\n?","name":"meta.diff.header.git"},{"match":"^diff (-|\\S+\\s+\\S+).*$\\n?","name":"meta.diff.header.command"},{"captures":{"4":{"name":"punctuation.definition.from-file.diff"},"6":{"name":"punctuation.definition.from-file.diff"},"7":{"name":"punctuation.definition.from-file.diff"}},"match":"^((((-{3}) .+)|((\\*{3}) .+))$\\n?|(={4}) .+(?= - ))","name":"meta.diff.header.from-file"},{"captures":{"2":{"name":"punctuation.definition.to-file.diff"},"3":{"name":"punctuation.definition.to-file.diff"},"4":{"name":"punctuation.definition.to-file.diff"}},"match":"(^(\\+{3}) .+$\\n?| (-) .* (={4})$\\n?)","name":"meta.diff.header.to-file"},{"captures":{"3":{"name":"punctuation.definition.inserted.diff"},"6":{"name":"punctuation.definition.inserted.diff"}},"match":"^(((>)( .*)?)|((\\+).*))$\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\.\\.[0-9a-f]{7,40}.*$\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"},{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#template_isolated_definition"},{"include":"#template_definition"},{"include":"#template_explicit_instantiation"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"access_control_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{"name":"punctuation.separator.colon.access.control.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((p(?:rotected|rivate|ublic))\\s+{0,1}(:))"},"alignas_attribute":{"begin":"alignas\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\(","beginCaptures":{},"end":"\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"alignas_operator":{"begin":"((?<!\\w)alignas(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"alignof_operator":{"begin":"((?<!\\w)alignof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"assembly":{"begin":"\\b(__asm__|asm)\\b\\s+{0,1}((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.cpp"},"2":{"name":"storage.modifier.cpp"}},"end":"(?!\\G)","endCaptures":{},"name":"meta.asm.cpp","patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\n|$)"},{"include":"#comments"},{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.cpp"}},"patterns":[{"begin":"(R?)(\")","beginCaptures":{"1":{"name":"meta.encoding.cpp"},"2":{"name":"punctuation.definition.string.begin.assembly.cpp"}},"contentName":"meta.embedded.assembly","end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.assembly.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.other.asm.label.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\[((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.cpp"},{"include":"#comments"}]}]},"assignment_operator":{"match":"=","name":"keyword.operator.assignment.cpp"},"attributes_context":{"patterns":[{"include":"#cpp_attributes"},{"include":"#gcc_attributes"},{"include":"#ms_attributes"},{"include":"#alignas_attribute"}]},"backslash_escapes":{"match":"\\\\([\"'?\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})","name":"constant.character.escape"},"block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.cpp"}},"name":"meta.block.cpp","patterns":[{"include":"#function_body_context"}]},"block_comment":{"begin":"\\s*+(/\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.cpp"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.cpp"}},"name":"comment.block.cpp"},"builtin_storage_type_initilizer":{"begin":"\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)\\s*+(?<!\\w)(\\()","beginCaptures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{"name":"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"case_statement":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)case(?!\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.case.cpp"}},"end":":","endCaptures":{"0":{"name":"punctuation.separator.colon.case.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"class_block":{"begin":"((?<!\\w)class(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"include":"$self"}]}]},"class_declare":{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)class(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},"comma":{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},"comma_in_template_argument":{"match":",","name":"punctuation.separator.delimiter.comma.template.argument.cpp"},"comments":{"patterns":[{"begin":"^\\s+{1,0}(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.cpp"}},"end":"(?<=\\n)(?<!\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.documentation.cpp","patterns":[{"include":"#line_continuation_character"},{"match":"(?<=[!*/\\s])[@\\\\](?:callergraph|callgraph|else|endif|f\\$|f\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\"-%.<=>]|::|\\||---??)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"},{"match":"(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\s])[@\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s+{0,1}(?:in|out)\\s+{0,1})+)])?(\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?:(,)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))*)"},{"match":"(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\s])[@\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.cpp"},"2":{"patterns":[{"match":"(?<=[!*/\\s])[@\\\\](?:callergraph|callgraph|else|endif|f\\$|f\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\"-%.<=>]|::|\\||---??)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"},{"match":"(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\s])[@\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s+{0,1}(?:in|out)\\s+{0,1})+)])?(\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?:(,)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))*)"},{"match":"(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\s])[@\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},"3":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"match":"(/\\*[!*]+(?=\\s))(.+)([!*]*\\*/)","name":"comment.block.documentation.cpp"},{"begin":"\\s+{1,0}/\\*[!*]+(?:(?:\\n|$)|(?=\\s))","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.documentation.cpp"}},"end":"[!*]*\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"name":"comment.block.documentation.cpp","patterns":[{"match":"(?<=[!*/\\s])[@\\\\](?:callergraph|callgraph|else|endif|f\\$|f\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\"-%.<=>]|::|\\||---??)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"},{"match":"(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\s])[@\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s+{0,1}(?:in|out)\\s+{0,1})+)])?(\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?:(,)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))*)"},{"match":"(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\s])[@\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"include":"#emacs_file_banner"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#invalid_comment_end"}]},"constructor_inline":{"begin":"^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#functional_specifiers_pre_parameters"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"storage.type.modifier.calling-convention.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\{)","endCaptures":{},"patterns":[{"begin":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"constructor_root":{"begin":"\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<8>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)::((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\10((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"name":"storage.type.modifier.calling-convention.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.constructor.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"8":{},"9":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?=:)","name":"entity.name.type.constructor.cpp"},{"match":"(?<=:)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.function.definition.special.constructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\{)","endCaptures":{},"patterns":[{"begin":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"control_flow_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.control.$3.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?!\\w))"},"cpp_attributes":{"begin":"\\[\\[","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\(","beginCaptures":{},"end":"\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"curly_initializer":{"begin":"(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"name":"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},"name":"meta.initialization.cpp","patterns":[{"include":"#evaluation_context"},{"include":"#comma"}]},"d9bc4796b0b_module_import":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.control.directive.import.cpp"},"5":{"name":"string.quoted.other.lt-gt.include.cpp"},"6":{"name":"punctuation.definition.string.begin.cpp"},"7":{"name":"punctuation.definition.string.end.cpp"},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"name":"string.quoted.double.include.cpp"},"11":{"name":"punctuation.definition.string.begin.cpp"},"12":{"name":"punctuation.definition.string.end.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"15":{"name":"entity.name.other.preprocessor.macro.include.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"18":{"patterns":[{"include":"#inline_comment"}]},"19":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"22":{"name":"punctuation.terminator.statement.cpp"}},"match":"^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((import))\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//)))|((\")[^\"]*(\"?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//))))|((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?:\\.(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)*(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;))))|(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;)))\\s+{0,1}(;?)","name":"meta.preprocessor.import.cpp"},"d9bc4796b0b_preprocessor_number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\G(0[Bb])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\G(0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\w)\\.?\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"decltype":{"begin":"((?<!\\w)decltype(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"decltype_specifier":{"begin":"((?<!\\w)decltype(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"default_statement":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)default(?!\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.default.cpp"}},"end":":","endCaptures":{"0":{"name":"punctuation.separator.colon.case.default.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"destructor_inline":{"begin":"^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*)(~(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#functional_specifiers_pre_parameters"}]},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"destructor_root":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)::((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)~\\14((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.destructor.cpp"},{"include":"#template_call_range"}]},"11":{"patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?=:)","name":"entity.name.type.destructor.cpp"},{"match":"(?<=:)~(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.function.definition.special.member.destructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"include":"#inline_comment"}]},"24":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{"name":"comment.block.cpp"},"26":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"diagnostic":{"begin":"^(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}(error|warning))\\b\\s+{0,1}","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$7.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{}},"end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.diagnostic.$reference(directive).cpp","patterns":[{"include":"#comments"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(\")|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(')|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"include":"#line_continuation_character"}]},{"begin":"[^\"']","beginCaptures":{},"end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"name":"string.unquoted.cpp","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}]},"emacs_file_banner":{"captures":{"1":{"name":"meta.toc-list.banner.double-slash.cpp"},"2":{"name":"comment.line.double-slash.cpp"},"3":{"name":"punctuation.definition.comment.cpp"},"4":{"name":"meta.banner.character.cpp"},"5":{"name":"meta.toc-list.banner.block.cpp"},"6":{"name":"comment.line.banner.cpp"},"7":{"name":"punctuation.definition.comment.cpp"},"8":{"name":"meta.banner.character.cpp"}},"match":"^(?:(\\s+{0,1}((//)\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\s+{0,1}.+\\s+{0,1}\\4\\s+{0,1}(?:\\n|$)))|(\\s+{0,1}((/\\*)\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\s+{0,1}.+\\s+{0,1}\\8\\s+{0,1}\\*/)))"},"empty_square_brackets":{"match":"(?<!delete)\\[\\s+{0,1}]","name":"storage.modifier.array.bracket.square"},"enum_block":{"begin":"((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?=\\{))\\s+{0,1}((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(?:\\s+{0,1}(:)\\s+{0,1}(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::))?\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))?","beginCaptures":{"0":{"name":"meta.head.enum.cpp"},"1":{"name":"storage.type.enum.cpp"},"2":{"name":"storage.type.enum.enum-key.$2.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"name":"punctuation.separator.colon.type-specifier.cpp"},"6":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"7":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"name":"entity.name.scope-resolution.cpp"},"11":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{"name":"storage.type.integral.$17.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.enum.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.enum.cpp"}},"name":"meta.head.enum.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.enum.cpp"}},"name":"meta.body.enum.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#enumerator_list"},{"include":"#comments"},{"include":"#comma"},{"include":"#semicolon"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.enum.cpp","patterns":[{"include":"$self"}]}]},"enum_declare":{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)enum(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},"enumerator_list":{"captures":{"1":{"name":"variable.other.enummember.cpp"},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"name":"keyword.operator.assignment.cpp"},"4":{"patterns":[{"include":"#evaluation_context"}]},"5":{"patterns":[{"include":"#comma"},{"include":"#semicolon"}]}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?\\s+{0,1}(?:(=)\\s+{0,1}(.+?)\\s+{0,1})?(?:(?:([,;](?!')|\\n)|(?=}[^']))|(?=/[*/]))","name":"meta.enum.definition.cpp"},"evaluation_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"ever_present_context":{"patterns":[{"include":"#pragma_mark"},{"include":"#pragma"},{"include":"#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"#undef"},{"include":"#preprocessor_conditional_range"},{"include":"#single_line_macro"},{"include":"#macro"},{"include":"#preprocessor_conditional_standalone"},{"include":"#macro_argument"},{"include":"#comments"},{"include":"#line_continuation_character"}]},"exception_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.control.exception.$3.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:throw|catch|try)(?!\\w))"},"extern_block":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(extern)(?=\\s*\")","beginCaptures":{"0":{"name":"meta.head.extern.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.extern.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.extern.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.extern.cpp"}},"name":"meta.head.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.extern.cpp"}},"name":"meta.body.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.extern.cpp","patterns":[{"include":"$self"}]},{"include":"$self"}]},"function_body_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"begin":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\b(?<!(?:\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(\\()","beginCaptures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"function_definition":{"begin":"(?:(?:^|\\G|(?<=[;}]))|(?<=>|\\*/))\\s*+(?:((?<!\\w)template(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<52>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<52>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<52>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\b(?<!(?:\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\()","beginCaptures":{"0":{"name":"meta.head.function.definition.cpp"},"1":{"name":"storage.type.template.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"captures":{"1":{"name":"storage.modifier.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"}]},"8":{"name":"storage.modifier.$8.cpp"},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{"name":"comment.block.cpp"},"12":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"14":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"24":{"patterns":[{"include":"#template_call_range"}]},"25":{},"26":{"patterns":[{"include":"#inline_comment"}]},"27":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{"name":"comment.block.cpp"},"29":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"32":{"patterns":[{"include":"#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"patterns":[{"include":"#inline_comment"}]},"37":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{"name":"comment.block.cpp"},"39":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{"patterns":[{"include":"#inline_comment"}]},"41":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{"name":"comment.block.cpp"},"43":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{"name":"storage.type.modifier.calling-convention.cpp"},"45":{"patterns":[{"include":"#inline_comment"}]},"46":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{"name":"comment.block.cpp"},"48":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"50":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{"patterns":[{"include":"#template_call_range"}]},"52":{},"53":{"name":"entity.name.function.definition.cpp"},"54":{"patterns":[{"include":"#inline_comment"}]},"55":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{"name":"comment.block.cpp"},"57":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.function.definition.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},"name":"meta.head.function.definition.cpp","patterns":[{"include":"#ever_present_context"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.cpp"}},"contentName":"meta.function.definition.parameters","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#parameter_or_maybe_value"},{"include":"#comma"},{"include":"#evaluation_context"}]},{"captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{"name":"comment.block.cpp"},"11":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#template_call_range"}]},"18":{},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},"match":"(?<=^|\\))\\s+{0,1}(->)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<23>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<23>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},"name":"meta.body.function.definition.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.cpp","patterns":[{"include":"$self"}]}]},"function_parameter_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#parameter"},{"include":"#comma"}]},"function_pointer":{"begin":"(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()(\\*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(?:(\\[)(\\w*)(])\\s+{0,1})*(\\))\\s+{0,1}(\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.other.definition.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),;=>{])(?!\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"function_pointer_parameter":{"begin":"(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()(\\*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(?:(\\[)(\\w*)(])\\s+{0,1})*(\\))\\s+{0,1}(\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.parameter.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),;=>{])(?!\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?<!\\w)(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?!\\w)","name":"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},"gcc_attributes":{"begin":"__attribute(?:__)?\\s*\\(\\s*\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\)\\s*\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\(","beginCaptures":{},"end":"\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"goto_statement":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.control.goto.cpp"},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"6":{"name":"entity.name.label.call.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)goto(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)"},"identifier":{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*"},"include":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.control.directive.$5.cpp"},"4":{"name":"punctuation.definition.directive.cpp"},"6":{"name":"string.quoted.other.lt-gt.include.cpp"},"7":{"name":"punctuation.definition.string.begin.cpp"},"8":{"name":"punctuation.definition.string.end.cpp"},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"11":{"name":"string.quoted.double.include.cpp"},"12":{"name":"punctuation.definition.string.begin.cpp"},"13":{"name":"punctuation.definition.string.end.cpp"},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"16":{"name":"entity.name.other.preprocessor.macro.include.cpp"},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"21":{"patterns":[{"include":"#inline_comment"}]},"22":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((#)\\s+{0,1}(include(?:|_next)))\\b\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//)))|((\")[^\"]*(\"?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//))))|((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?:\\.(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)*(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;))))|(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;)))","name":"meta.preprocessor.include.cpp"},"inheritance_context":{"patterns":[{"include":"#ever_present_context"},{"match":",","name":"punctuation.separator.delimiter.comma.inheritance.cpp"},{"match":"(?<!\\w)p(?:rotected|rivate|ublic)(?!\\w)","name":"storage.type.modifier.access.$0.cpp"},{"match":"(?<!\\w)virtual(?!\\w)","name":"storage.type.modifier.virtual.cpp"},{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{}},"match":"(?<=protected|virtual|private|public|[,:])\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))"}]},"inline_builtin_storage_type":{"captures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"}},"match":"\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)"},"inline_comment":{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))"},"invalid_comment_end":{"match":"\\*/","name":"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},"label":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"entity.name.label.cpp"},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"6":{"name":"punctuation.separator.label.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\b(?<!case|default)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:)"},"lambdas":{"begin":"(?:(?<=\\S|^)(?<![]\"\\&)*>\\[\\w])|(?<=(?:\\W|^)return))\\s+{0,1}(\\[(?!\\[| *+\"| *+\\d))((?:[^]\\[]|((?<!\\[)\\[(?!\\[)(?:[^]\\[]*+\\g<3>?)++]))*+)(](?!((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)[];=\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?=]|\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])","endCaptures":{},"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.lambda.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lambda.cpp"}},"name":"meta.function.definition.parameters.lambda.cpp","patterns":[{"include":"#function_parameter_context"}]},{"match":"(?<!\\w)(?:constexpr|consteval|mutable)(?!\\w)","name":"storage.modifier.lambda.$0.cpp"},{"begin":"->","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\{)","endCaptures":{},"patterns":[{"include":"#comments"},{"match":"\\S+","name":"storage.type.return-type.lambda.cpp"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.lambda.cpp"}},"name":"meta.function.definition.body.lambda.cpp","patterns":[{"include":"$self"}]}]},"language_constants":{"match":"(?<!\\w)(?:nullptr|false|NULL|true)(?!\\w)","name":"constant.language.$0.cpp"},"line":{"begin":"^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}line\\b","beginCaptures":{"0":{"name":"keyword.control.directive.line.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.line.cpp","patterns":[{"include":"#string_context"},{"include":"#preprocessor_number_literal"},{"include":"#line_continuation_character"}]},"line_comment":{"begin":"\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.cpp"}},"end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"name":"comment.line.double-slash.cpp","patterns":[{"include":"#line_continuation_character"}]},"line_continuation_character":{"match":"\\\\\\n","name":"constant.character.escape.line-continuation.cpp"},"macro":{"begin":"^(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}define)\\b\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))","beginCaptures":{"1":{"name":"keyword.control.directive.define.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{"name":"entity.name.function.preprocessor.cpp"}},"end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.macro.cpp","patterns":[{"captures":{"1":{"name":"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{"name":"meta.function.preprocessor.parameters.cpp","patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.cpp"}},"match":"(?<=[(,])\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}"},{"match":",","name":"punctuation.separator.parameters.cpp"},{"match":"\\.\\.\\.","name":"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{"name":"punctuation.definition.parameters.end.preprocessor.cpp"}},"match":"\\G\\s+{0,1}(\\()([^(]*)(\\))"},{"include":"#macro_context"},{"include":"#macro_argument"}]},"macro_argument":{"match":"##?(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"variable.other.macro.argument.cpp"},"macro_context":{"patterns":[{"include":"source.cpp.embedded.macro"}]},"macro_name":{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.function.preprocessor.cpp"},"member_access":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"variable.language.this.cpp"},"4":{"name":"variable.other.object.access.cpp"},"5":{"name":"punctuation.separator.dot-access.cpp"},"6":{"name":"punctuation.separator.pointer-access.cpp"},"7":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\.\\*?|->\\*??)\\s+{0,1}(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"8":{"name":"variable.other.property.cpp"}},"match":"(?:(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s+{0,1}(?:\\.\\*?|->\\*?)\\s+{0,1})*)\\s+{0,1}\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\W)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b(?!\\())"},"memory_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp"},"4":{"name":"keyword.operator.delete.array.cpp"},"5":{"name":"keyword.operator.delete.array.bracket.cpp"},"6":{"name":"keyword.operator.delete.cpp"},"7":{"name":"keyword.operator.new.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:(?:(delete)\\s+{0,1}(\\[])|(delete))|(new))(?!\\w))"},"method_access":{"begin":"(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s+{0,1}(?:\\.\\*?|->\\*?)\\s+{0,1})*)\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}(\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\.\\*?|->\\*??)\\s+{0,1}(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"misc_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.other.$3.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:constinit|requires|typedef|concept|export|module)(?!\\w))"},"ms_attributes":{"begin":"__declspec\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\(","beginCaptures":{},"end":"\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"namespace_alias":{"captures":{"1":{"name":"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{"name":"entity.name.namespace.alias.cpp"},"3":{"name":"keyword.operator.assignment.cpp"},"4":{"name":"meta.declaration.namespace.alias.value.cpp"},"5":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"6":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{"patterns":[{"include":"#template_call_range"}]},"9":{"name":"entity.name.namespace.cpp"},"10":{"name":"punctuation.terminator.statement.cpp"}},"match":"(?<!\\w)(namespace)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}(=)\\s+{0,1}(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<8>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}(?:(;)|\\n))","name":"meta.declaration.namespace.alias.cpp"},"namespace_block":{"begin":"((?<!\\w)namespace(?!\\w))","beginCaptures":{"0":{"name":"meta.head.namespace.cpp"},"1":{"name":"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.block.namespace.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},"name":"meta.head.namespace.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#attributes_context"},{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.namespace.cpp"},"6":{"name":"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{"name":"storage.modifier.inline.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<4>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}(?:(::)\\s+{0,1}(inline))?"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.namespace.cpp"}},"name":"meta.body.namespace.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.namespace.cpp","patterns":[{"include":"$self"}]}]},"noexcept_operator":{"begin":"((?<!\\w)noexcept(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?((?:\\w(?<![Pp\\h])\\w*)?)$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?((?:\\w(?<![0-9Ee])\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\G(0[Bb])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![0-9])\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\G(0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![0-9])\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![Pp\\h])\\w*)?)$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![0-9Ee])\\w*)?)$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\w)\\.?\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"operator_overload":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(operator)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(?:(?:(delete\\[]|delete|new\\[]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|[!%\\&*-\\-/<=>^|~])|((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:\\[])?)))|(\"\")((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[(<])","beginCaptures":{"0":{"name":"meta.head.function.definition.special.operator-overload.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"16":{"patterns":[{"include":"#template_call_range"}]},"17":{},"18":{"patterns":[{"include":"#inline_comment"}]},"19":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{"name":"comment.block.cpp"},"21":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"patterns":[{"include":"#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"name":"storage.type.modifier.calling-convention.cpp"},"37":{"patterns":[{"include":"#inline_comment"}]},"38":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{"name":"comment.block.cpp"},"40":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{"patterns":[{"include":"#inline_comment"}]},"42":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{"name":"comment.block.cpp"},"44":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.operator.cpp"},{"include":"#template_call_range"}]},"46":{"patterns":[{"include":"#template_call_range"}]},"47":{},"48":{"name":"keyword.other.operator.overload.cpp"},"49":{"patterns":[{"include":"#inline_comment"}]},"50":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{"name":"comment.block.cpp"},"52":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.operator-overload.cpp"},{"include":"#template_call_range"}]},"54":{"patterns":[{"include":"#template_call_range"}]},"55":{},"56":{"name":"entity.name.operator.cpp"},"57":{"name":"entity.name.operator.type.cpp"},"58":{"patterns":[{"match":"\\*","name":"entity.name.operator.type.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"entity.name.operator.type.reference.cpp"}]},"59":{"patterns":[{"include":"#inline_comment"}]},"60":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{"name":"comment.block.cpp"},"62":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{"patterns":[{"include":"#inline_comment"}]},"64":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{"name":"comment.block.cpp"},"66":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{"patterns":[{"include":"#inline_comment"}]},"68":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{"name":"comment.block.cpp"},"70":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{"name":"entity.name.operator.type.array.cpp"},"72":{"name":"entity.name.operator.custom-literal.cpp"},"73":{"patterns":[{"include":"#inline_comment"}]},"74":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{"name":"comment.block.cpp"},"76":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{"name":"entity.name.operator.custom-literal.cpp"},"78":{"patterns":[{"include":"#inline_comment"}]},"79":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{"name":"comment.block.cpp"},"81":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.function.definition.special.operator-overload.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.head.function.definition.special.operator-overload.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},"contentName":"meta.function.definition.parameters.special.operator-overload","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp"},"7":{"name":"keyword.other.delete.function.cpp"}},"match":"(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.body.function.definition.special.operator-overload.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.operator-overload.cpp","patterns":[{"include":"$self"}]}]},"operators":{"patterns":[{"begin":"((?<!\\w)sizeof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\w)alignof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\w)alignas(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\w)typeid(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\w)noexcept(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"\\b(sizeof\\.\\.\\.)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"--","name":"keyword.operator.decrement.cpp"},{"match":"\\+\\+","name":"keyword.operator.increment.cpp"},{"match":"(?:[-%*+]|(?<!\\()/)=","name":"keyword.operator.assignment.compound.cpp"},{"match":"(?:[\\&^]|<<|>>|\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"over_qualified_types":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(struct)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},{"captures":{"1":{"name":"storage.type.enum.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.enum.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(enum)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},{"captures":{"1":{"name":"storage.type.union.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.union.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(union)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},{"captures":{"1":{"name":"storage.type.class.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.class.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(class)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"}]},"parameter":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\w)","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?=\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#function_pointer_parameter"},{"include":"#decltype"},{"include":"#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)|((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\b\\b(?<!(?:\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?=\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"=","name":"keyword.operator.assignment.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\s])((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),=\\[])"},{"include":"#attributes_context"},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b(?<!(?:\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*]"},{"include":"#ever_present_context"}]},"parameter_class":{"captures":{"1":{"name":"storage.type.class.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.class.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(class)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},"parameter_enum":{"captures":{"1":{"name":"storage.type.enum.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.enum.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(enum)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},"parameter_or_maybe_value":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\w)","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?=\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#function_pointer_parameter"},{"include":"#memory_operators"},{"include":"#builtin_storage_type_initilizer"},{"include":"#curly_initializer"},{"include":"#decltype"},{"include":"#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)|((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\b\\b(?<!(?:\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#function_call"},{"include":"#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?=\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\s])((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[),=\\[]|//|(?:\\n|$))"},{"include":"#attributes_context"},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b(?<!(?:\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*]"},{"include":"#evaluation_context"},{"include":"#ever_present_context"}]},"parameter_struct":{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(struct)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},"parameter_union":{"captures":{"1":{"name":"storage.type.union.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.union.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\b(union)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"},"parentheses":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.cpp","patterns":[{"include":"#over_qualified_types"},{"match":"(?<!:):(?!:)","name":"punctuation.separator.colon.range-based.cpp"},{"include":"#evaluation_context"}]},"pragma":{"begin":"^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}pragma\\b","beginCaptures":{"0":{"name":"keyword.control.directive.pragma.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.pragma.cpp","patterns":[{"include":"#comments"},{"include":"#string_context"},{"match":"[$A-Z_a-z][-$\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.cpp"},{"include":"#preprocessor_number_literal"},{"include":"#line_continuation_character"}]},"pragma_mark":{"captures":{"1":{"name":"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"name":"entity.name.tag.pragma-mark.cpp"}},"match":"^((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}pragma\\s+mark)\\s+(.*)","name":"meta.preprocessor.pragma.cpp"},"predefined_macros":{"patterns":[{"captures":{"1":{"name":"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},"match":"\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b"},{"match":"\\b__([A-Z_]+)__\\b","name":"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},"preprocessor_conditional_context":{"patterns":[{"include":"#preprocessor_conditional_defined"},{"include":"#comments"},{"include":"#language_constants"},{"include":"#string_context"},{"include":"#d9bc4796b0b_preprocessor_number_literal"},{"include":"#operators"},{"include":"#predefined_macros"},{"include":"#macro_name"},{"include":"#line_continuation_character"}]},"preprocessor_conditional_defined":{"begin":"((?<!\\w)defined(?!\\w))(\\()","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.defined.cpp"},"2":{"name":"punctuation.section.parens.control.defined.cpp"}},"end":"\\)|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{"0":{"name":"punctuation.section.parens.control.defined.cpp"}},"patterns":[{"include":"#macro_name"}]},"preprocessor_conditional_parentheses":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.preprocessor.conditional.cpp"},"preprocessor_conditional_range":{"begin":"^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}(if(?:n?def|))","beginCaptures":{"0":{"name":"keyword.control.directive.conditional.$6.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"},"6":{}},"contentName":"meta.preprocessor.conditional","end":"(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))","endCaptures":{},"patterns":[{"include":"#preprocessor_conditional_context"}]},"preprocessor_conditional_standalone":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"punctuation.definition.directive.cpp"}},"match":"^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}((?<!\\w)e(?:ndif|lse|lif)(?!\\w))","name":"keyword.control.directive.$4.cpp"},"preprocessor_context":{"patterns":[{"include":"#pragma_mark"},{"include":"#pragma"},{"include":"#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"#undef"},{"include":"#preprocessor_conditional_range"},{"include":"#single_line_macro"},{"include":"#macro"},{"include":"#preprocessor_conditional_standalone"},{"include":"#macro_argument"}]},"qualified_type":{"captures":{"0":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"1":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w])","name":"meta.qualified_type.cpp"},"qualifiers_and_specifiers_post_parameters":{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.modifier.specifier.functional.post-parameters.$5.cpp"}},"match":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))"}]}},"match":"((?:(?:(?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))+)(?=\\s*[\\n\\r;={])"},"scope_resolution":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_function_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_function_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_function_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_function_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_function_definition_operator_overload":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_function_definition_operator_overload_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_namespace_alias":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_namespace_alias_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_namespace_block":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_namespace_block_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_namespace_using":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_namespace_using_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_parameter":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_parameter_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_template_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_template_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"scope_resolution_template_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"},"scope_resolution_template_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"}},"match":"((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_type":{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{},"13":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?"},"single_line_macro":{"captures":{"0":{"patterns":[{"include":"#macro"},{"include":"#comments"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)#define.*(?<!\\\\)(?:\\n|$)"},"sizeof_operator":{"begin":"((?<!\\w)sizeof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"sizeof_variadic_operator":{"begin":"\\b(sizeof\\.\\.\\.)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"square_brackets":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\[)(?!])","beginCaptures":{"1":{"name":"variable.other.object"},"2":{"name":"punctuation.definition.begin.bracket.square"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square"}},"name":"meta.bracket.square.access","patterns":[{"include":"#evaluation_context"}]},"standard_declares":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)struct(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)union(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)enum(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)class(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"}]},"static_assert":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)static_assert|_Static_assert(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.other.static_assert.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},"patterns":[{"begin":"(,)\\s+{0,1}(?=(?:L|u8?|U\\s+{0,1}\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"end":"(?=\\))","endCaptures":{},"name":"meta.static_assert.message.cpp","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"std_space":{"captures":{"0":{"patterns":[{"include":"#inline_comment"}]},"1":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z"},"storage_specifiers":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"storage.modifier.specifier.$3.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w))"},"storage_types":{"patterns":[{"include":"#storage_specifiers"},{"include":"#inline_builtin_storage_type"},{"include":"#decltype"},{"include":"#typename"}]},"string_context":{"patterns":[{"begin":"((?:u8??|[LU])?)\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(\")(?:((?:[A-Za-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"match":"\\\\(?:u\\h{4}|U\\h{8})","name":"constant.character.escape.cpp"},{"match":"\\\\[\"'?\\\\abfnrtv]","name":"constant.character.escape.cpp"},{"match":"\\\\[0-7]{1,3}","name":"constant.character.escape.cpp"},{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\x0*\\h{2}(?!\\h))|(\\\\x\\h*)"},{"include":"#string_escapes_context_c"}]},{"begin":"(?<!\\h)((?:u8??|[LU])?)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(')(?:((?:[A-Za-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.character.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\x0*\\h{2}(?!\\h))|(\\\\x\\h*)"},{"include":"#string_escapes_context_c"},{"include":"#line_continuation_character"}]},{"begin":"((?:[LUu]8?)?R)\"(?:(?:_r|re)|regex)\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\)(?:(?:_r|re)|regex)\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.raw.regex.cpp","patterns":[{"include":"source.regexp.python"}]},{"begin":"((?:[LUu]8?)?R)\"(?:glsl|GLSL)\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\)(?:glsl|GLSL)\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.glsl.cpp","patterns":[{"include":"source.glsl"}]},{"begin":"((?:[LUu]8?)?R)\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.sql.cpp","patterns":[{"include":"source.sql"}]},{"begin":"((?:u8??|[LU])?R)\"(?:([^\\t ()\\\\]{0,16})|([^\\t ()\\\\]*))\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"},"1":{"name":"meta.encoding"},"3":{"name":"invalid.illegal.delimiter-too-long"}},"end":"(\\)\\2(\\3)\")(?:((?:[A-Za-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end"},"2":{"name":"invalid.illegal.delimiter-too-long"},"3":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.raw"}]},"string_escapes_context_c":{"patterns":[{"match":"\\\\([\"'?\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})","name":"constant.character.escape"},{"match":"\\\\.","name":"invalid.illegal.unknown-escape"},{"match":"(?!%')(?!%\")%(\\d+\\$)?[- #'+0]*[,:;_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder"}]},"struct_block":{"begin":"((?<!\\w)struct(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"include":"$self"}]}]},"struct_declare":{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)struct(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},"switch_conditional_parentheses":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},"name":"meta.conditional.switch.cpp","patterns":[{"include":"#evaluation_context"}]},"switch_statement":{"begin":"((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)switch(?!\\w))","beginCaptures":{"0":{"name":"meta.head.switch.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.switch.cpp"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","endCaptures":{},"name":"meta.block.switch.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.switch.cpp"}},"name":"meta.head.switch.cpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.switch.cpp"}},"name":"meta.body.switch.cpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.switch.cpp","patterns":[{"include":"$self"}]}]},"template_argument_defaulted":{"captures":{"1":{"name":"storage.type.template.argument.$1.cpp"},"2":{"name":"entity.name.type.template.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"(?<=[,<])\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(=)"},"template_call_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"include":"#storage_types"},{"include":"#language_constants"},{"include":"#scope_resolution_template_call_inner_generated"},{"include":"#operators"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma_in_template_argument"},{"include":"#qualified_type"}]},"template_call_innards":{"captures":{"0":{"patterns":[{"include":"#template_call_range"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<1>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+","name":"meta.template.call.cpp"},"template_call_range":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},"template_definition":{"begin":"(?<!\\w)(template)\\s+{0,1}(<)","beginCaptures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"name":"meta.template.definition.cpp","patterns":[{"begin":"(?<=\\w)\\s+{0,1}<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"patterns":[{"include":"#template_call_context"}]},{"include":"#template_definition_context"}]},"template_definition_argument":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"storage.type.template.argument.$3.cpp"},"4":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"storage.type.template.argument.$0.cpp"}]},"5":{"name":"entity.name.type.template.cpp"},"6":{"name":"storage.type.template.argument.$6.cpp"},"7":{"name":"punctuation.vararg-ellipses.template.definition.cpp"},"8":{"name":"entity.name.type.template.cpp"},"9":{"name":"storage.type.template.cpp"},"10":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{"name":"storage.type.template.argument.$11.cpp"},"12":{"name":"entity.name.type.template.cpp"},"13":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{"name":"storage.type.template.argument.$14.cpp"},"15":{"name":"entity.name.type.template.cpp"},"16":{"name":"keyword.operator.assignment.cpp"},"17":{"name":"punctuation.separator.delimiter.comma.template.argument.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s+)+)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))|((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}(\\.\\.\\.)\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))|(?<!\\w)(template)\\s+{0,1}(<)\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(>)\\s+{0,1}(class|typename)(?:\\s+((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?)\\s+{0,1}(?:(=)\\s+{0,1}(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?(?:(,)|(?=>|$))"},"template_definition_context":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"},{"include":"#template_definition_argument"},{"include":"#template_argument_defaulted"},{"include":"#template_call_innards"},{"include":"#evaluation_context"}]},"template_explicit_instantiation":{"captures":{"1":{"name":"storage.modifier.specifier.extern.cpp"},"2":{"name":"storage.type.template.cpp"}},"match":"(?<!\\w)(?:(extern)\\s+)?(template)\\s+","name":"meta.template.explicit-instantiation.cpp"},"template_isolated_definition":{"captures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{"name":"meta.template.definition.cpp","patterns":[{"include":"#template_definition_context"}]},"4":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"match":"(?<!\\w)(template)\\s+{0,1}(<)(.*)(>)\\s+{0,1}$"},"ternary_operator":{"applyEndPatternLast":1,"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"the_this_keyword":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"variable.language.this.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))"},"type_alias":{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.type.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"4":{"name":"keyword.operator.assignment.cpp"},"5":{"name":"keyword.other.typename.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"9":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"14":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"15":{"patterns":[{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"20":{"name":"meta.declaration.type.alias.value.unknown.cpp","patterns":[{"include":"#evaluation_context"}]},"21":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"22":{"patterns":[{"include":"#inline_comment"}]},"23":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"26":{"patterns":[{"include":"#inline_comment"}]},"27":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"28":{"name":"punctuation.definition.begin.bracket.square.cpp"},"29":{"patterns":[{"include":"#evaluation_context"}]},"30":{"name":"punctuation.definition.end.bracket.square.cpp"},"31":{"name":"punctuation.terminator.statement.cpp"}},"match":"(using)\\s+(?!namespace)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?\\s+{0,1}(=)\\s+{0,1}((?:typename)?)\\s+{0,1}((?:(?:((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\s+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<19>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<19>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))|(.*(?<!;)))(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?:(\\[)(\\w*)(])\\s+{0,1})?\\s+{0,1}(?:(;)|\\n)","name":"meta.declaration.type.alias.cpp"},"type_casting_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},"match":"(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:reinterpret|dynamic|static|const)_cast(?!\\w))"},"typedef_class":{"begin":"((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)class(?!\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\w)class(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":","}]}]}]},"typedef_function_pointer":{"begin":"((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=.*\\(\\*\\s*(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s*\\))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()(\\*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(?:(\\[)(\\w*)(])\\s+{0,1})*(\\))\\s+{0,1}(\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),;=>{])(?!\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)struct(?!\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\w)struct(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":","}]}]}]},"typedef_union":{"begin":"((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)union(?!\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\w)union(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"},{"match":","}]}]}]},"typeid_operator":{"begin":"((?<!\\w)typeid(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"typename":{"captures":{"1":{"name":"storage.modifier.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\w)(?:struct|class|union|enum)(?!\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"13":{"patterns":[{"include":"#template_call_range"}]},"14":{},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"17":{}},"match":"((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?<!\\w)typename(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<17>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<17>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))"},"undef":{"captures":{"1":{"name":"keyword.control.directive.undef.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"7":{"name":"entity.name.function.preprocessor.cpp"}},"match":"^((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}undef)\\b(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))","name":"meta.preprocessor.undef.cpp"},"union_block":{"begin":"((?<!\\w)union(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\G ?","beginCaptures":{},"end":"\\{|<%|\\?\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","beginCaptures":{},"end":"}|%>|\\?\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\?\\?>)\\s*","beginCaptures":{},"end":"\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"include":"$self"}]}]},"union_declare":{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"}]}},"match":"((?<!\\w)union(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"},"using_name":{"captures":{"1":{"name":"keyword.other.using.directive.cpp"}},"match":"(using)\\s+(?!namespace\\b)"},"using_namespace":{"begin":"(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<6>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?=[\\n;])","beginCaptures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"4":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{"patterns":[{"include":"#template_call_range"}]},"6":{},"7":{"name":"entity.name.namespace.cpp"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.using-namespace.cpp"},"vararg_ellipses":{"match":"(?<!\\.)\\.\\.\\.(?!\\.)","name":"punctuation.vararg-ellipses.cpp"},"wordlike_operators":{"patterns":[{"match":"(?<!\\w)(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?!\\w)","name":"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},"scopeName":"source.cpp"},{"displayName":"C","name":"c","patterns":[{"include":"#preprocessor-rule-enabled"},{"include":"#preprocessor-rule-disabled"},{"include":"#preprocessor-rule-conditional"},{"include":"#predefined_macros"},{"include":"#comments"},{"include":"#switch_statement"},{"include":"#anon_pattern_1"},{"include":"#storage_types"},{"include":"#anon_pattern_2"},{"include":"#anon_pattern_3"},{"include":"#anon_pattern_4"},{"include":"#anon_pattern_5"},{"include":"#anon_pattern_6"},{"include":"#anon_pattern_7"},{"include":"#operators"},{"include":"#numbers"},{"include":"#strings"},{"include":"#anon_pattern_range_1"},{"include":"#anon_pattern_range_2"},{"include":"#anon_pattern_range_3"},{"include":"#pragma-mark"},{"include":"#anon_pattern_range_4"},{"include":"#anon_pattern_range_5"},{"include":"#anon_pattern_range_6"},{"include":"#anon_pattern_8"},{"include":"#anon_pattern_9"},{"include":"#anon_pattern_10"},{"include":"#anon_pattern_11"},{"include":"#anon_pattern_12"},{"include":"#anon_pattern_13"},{"include":"#block"},{"include":"#parens"},{"include":"#anon_pattern_range_7"},{"include":"#line_continuation_character"},{"include":"#anon_pattern_range_8"},{"include":"#anon_pattern_range_9"},{"include":"#anon_pattern_14"},{"include":"#anon_pattern_15"}],"repository":{"access-method":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))\\s*(?:(\\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\\s*(?:\\.|->))*)\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\()","beginCaptures":{"1":{"name":"variable.object.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"match":"\\.","name":"punctuation.separator.dot-access.c"},{"match":"->","name":"punctuation.separator.pointer-access.c"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.object.c"},{"match":".+","name":"everything.else.c"}]},"5":{"name":"entity.name.function.member.c"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.c"}},"name":"meta.function-call.member.c","patterns":[{"include":"#function-call-innards"}]},"anon_pattern_1":{"match":"\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b","name":"keyword.control.c"},"anon_pattern_10":{"match":"\\b((?:int8|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|uintmax)_t)\\b","name":"support.type.stdint.c"},"anon_pattern_11":{"match":"\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\b","name":"support.constant.mac-classic.c"},"anon_pattern_12":{"match":"\\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\\b","name":"support.type.mac-classic.c"},"anon_pattern_13":{"match":"\\b([0-9A-Z_a-z]+_t)\\b","name":"support.type.posix-reserved.c"},"anon_pattern_14":{"match":";","name":"punctuation.terminator.statement.c"},"anon_pattern_15":{"match":",","name":"punctuation.separator.delimiter.c"},"anon_pattern_2":{"match":"typedef","name":"keyword.other.typedef.c"},"anon_pattern_3":{"match":"\\b(const|extern|register|restrict|static|volatile|inline)\\b","name":"storage.modifier.c"},"anon_pattern_4":{"match":"\\bk[A-Z]\\w*\\b","name":"constant.other.variable.mac-classic.c"},"anon_pattern_5":{"match":"\\bg[A-Z]\\w*\\b","name":"variable.other.readwrite.global.mac-classic.c"},"anon_pattern_6":{"match":"\\bs[A-Z]\\w*\\b","name":"variable.other.readwrite.static.mac-classic.c"},"anon_pattern_7":{"match":"\\b(NULL|true|false|TRUE|FALSE)\\b","name":"constant.language.c"},"anon_pattern_8":{"match":"\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\b","name":"support.type.sys-types.c"},"anon_pattern_9":{"match":"\\b(pthread_(?:attr_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||key_)t)\\b","name":"support.type.pthread.c"},"anon_pattern_range_1":{"begin":"((?:(?>\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))((#)\\s*define)\\b\\s+((?<!\\w)[A-Z_a-z]\\w*(?!\\w))(?:(\\()([^()\\\\]+)(\\)))?","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"5":{"name":"keyword.control.directive.define.c"},"6":{"name":"punctuation.definition.directive.c"},"7":{"name":"entity.name.function.preprocessor.c"},"8":{"name":"punctuation.definition.parameters.begin.c"},"9":{"patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.c"}},"match":"(?<=[(,])\\s*((?<!\\w)[A-Z_a-z]\\w*(?!\\w))\\s*"},{"match":",","name":"punctuation.separator.parameters.c"},{"match":"\\.\\.\\.","name":"ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c"}]},"10":{"name":"punctuation.definition.parameters.end.c"}},"end":"(?<!\\\\)(?=\\n)","name":"meta.preprocessor.macro.c","patterns":[{"include":"#preprocessor-rule-define-line-contents"}]},"anon_pattern_range_2":{"begin":"^\\s*((#)\\s*(error|warning))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$3.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?<!\\\\)(?=\\n)","name":"meta.preprocessor.diagnostic.c","patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\"|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#line_continuation_character"}]},{"begin":"[^\"']","end":"(?<!\\\\)(?=\\s*\\n)","name":"string.unquoted.single.c","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}]},"anon_pattern_range_3":{"begin":"^\\s*((#)\\s*(i(?:nclude(?:_next)?|mport)))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.directive.$3.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.include.c","patterns":[{"include":"#line_continuation_character"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.include.c"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.other.lt-gt.include.c"}]},"anon_pattern_range_4":{"begin":"^\\s*((#)\\s*line)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#line_continuation_character"}]},"anon_pattern_range_5":{"begin":"^\\s*((#)\\s*undef)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.undef.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"match":"[$A-Z_a-z][$\\w]*","name":"entity.name.function.preprocessor.c"},{"include":"#line_continuation_character"}]},"anon_pattern_range_6":{"begin":"^\\s*((#)\\s*pragma)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.pragma.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.pragma.c","patterns":[{"include":"#strings"},{"match":"[$A-Z_a-z][-$\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.c"},{"include":"#numbers"},{"include":"#line_continuation_character"}]},"anon_pattern_range_7":{"begin":"(?<!\\w)(?!\\s*(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|pthread_rwlock_t|atomic_uintptr_t|atomic_ptrdiff_t|atomic_uintmax_t|atomic_intmax_t|atomic_char32_t|atomic_intptr_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|uint_least8_t|int_least32_t|int_least16_t|pthread_key_t|uint_fast32_t|uint_fast64_t|uint_fast16_t|atomic_size_t|atomic_ushort|atomic_ullong|int_least64_t|atomic_ulong|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|memory_order|atomic_schar|atomic_uchar|atomic_short|atomic_llong|thread_local|atomic_bool|atomic_uint|atomic_long|int_fast8_t|suseconds_t|atomic_char|atomic_int|useconds_t|_Imaginary|uintmax_t|in_addr_t|in_port_t|_Noreturn|blksize_t|pthread_t|uintptr_t|volatile|u_quad_t|blkcnt_t|intmax_t|intptr_t|_Complex|uint16_t|uint32_t|uint64_t|_Alignof|_Alignas|continue|unsigned|restrict|intmax_t|register|int64_t|qaddr_t|segsz_t|_Atomic|alignas|default|caddr_t|nlink_t|typedef|u_short|fixpt_t|clock_t|swblk_t|ssize_t|alignof|daddr_t|int16_t|int32_t|uint8_t|struct|mode_t|size_t|time_t|ushort|u_long|u_char|int8_t|double|signed|static|extern|inline|return|switch|xor_eq|and_eq|bitand|not_eq|sizeof|quad_t|uid_t|bitor|union|off_t|key_t|ino_t|compl|u_int|short|const|false|while|float|pid_t|break|_Bool|or_eq|div_t|dev_t|gid_t|id_t|long|case|goto|else|bool|auto|id_t|enum|uint|true|NULL|void|char|for|not|int|and|xor|do|or|if)\\s*\\()(?=[A-Z_a-z]\\w*\\s*\\()","end":"(?!\\G)(?<=\\))","name":"meta.function.c","patterns":[{"include":"#function-innards"}]},"anon_pattern_range_8":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\[)(?!])","beginCaptures":{"1":{"name":"variable.object.c"},"2":{"name":"punctuation.definition.begin.bracket.square.c"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.c"}},"name":"meta.bracket.square.access.c","patterns":[{"include":"#function-call-innards"}]},"anon_pattern_range_9":{"match":"\\[\\s*]","name":"storage.modifier.array.bracket.square.c"},"backslash_escapes":{"match":"\\\\([\"'?\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})","name":"constant.character.escape.c"},"block":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"name":"meta.block.c","patterns":[{"include":"#block_innards"}]}]},"block_comment":{"patterns":[{"begin":"\\s*+(/\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"},{"begin":"\\s*+(/\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#c_function_call"},{"begin":"(?=\\s)(?<!else|new|return)(?<=\\w)\\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"variable.other.c"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.c"}},"name":"meta.initialization.c","patterns":[{"include":"#function-call-innards"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"patterns":[{"include":"#block_innards"}]},{"include":"#parens-block"},{"include":"$self"}]},"c_conditional_context":{"patterns":[{"include":"$self"},{"include":"#block_innards"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\s*\\(|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[])\\s*\\()","end":"(?<=\\))(?!\\w)","name":"meta.function-call.c","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"begin":"((?>(?:(?>(?<!\\s)\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)case(?!\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"5":{"name":"keyword.control.case.c"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.separator.colon.case.c"}},"name":"meta.conditional.case.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"comments":{"patterns":[{"patterns":[{"patterns":[{"begin":"^(?>\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\n)(?<!\\\\\\n)","name":"comment.line.double-slash.documentation.c","patterns":[{"include":"#line_continuation_character"},{"match":"(?<=[!*/\\s])[@\\\\](?:callergraph|callgraph|else|endif|f\\$|f\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\"-%.<=>]|::|\\||---??)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"},{"match":"(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\s])[@\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)])?\\s+\\b(\\w+)\\b"},{"match":"(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\s])[@\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.c"},"2":{"patterns":[{"match":"(?<=[!*/\\s])[@\\\\](?:callergraph|callgraph|else|endif|f\\$|f\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\"-%.<=>]|::|\\||---??)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"},{"match":"(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\s])[@\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)])?\\s+\\b(\\w+)\\b"},{"match":"(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\s])[@\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},"3":{"name":"punctuation.definition.comment.end.documentation.c"}},"match":"(/\\*[!*]+(?=\\s))(.+)([!*]*\\*/)","name":"comment.block.documentation.c"},{"begin":"((?>\\s*)/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.documentation.c"}},"end":"([!*]*\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.end.documentation.c"}},"name":"comment.block.documentation.c","patterns":[{"match":"(?<=[!*/\\s])[@\\\\](?:callergraph|callgraph|else|endif|f\\$|f\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\"-%.<=>]|::|\\||---??)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"},{"match":"(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\s])[@\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)])?\\s+\\b(\\w+)\\b"},{"match":"(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\s])[@\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},{"captures":{"1":{"name":"meta.toc-list.banner.block.c"}},"match":"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?","name":"comment.block.banner.c"},{"begin":"(/\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"(\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"},{"captures":{"1":{"name":"meta.toc-list.banner.line.c"}},"match":"^// =(\\s*.*?)\\s*=$\\n?","name":"comment.line.banner.c"},{"begin":"((?:^[\\t ]+)?)(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.c"}},"end":"(?!\\G)","patterns":[{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?=\\n)","name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]}]}]},{"include":"#block_comment"},{"include":"#line_comment"}]},{"include":"#block_comment"},{"include":"#line_comment"}]},"default_statement":{"begin":"((?>(?:(?>(?<!\\s)\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)default(?!\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"5":{"name":"keyword.control.default.c"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.separator.colon.case.default.c"}},"name":"meta.conditional.case.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"evaluation_context":{"patterns":[{"include":"#function-call-innards"},{"include":"$self"}]},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.c"}},"patterns":[{"include":"#function-call-innards"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#function-call-innards"}]},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.c"}},"name":"meta.function.definition.parameters.c","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#function-innards"}]},{"include":"$self"}]},"inline_comment":{"patterns":[{"patterns":[{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]}},"match":"(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/))"},{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]}},"match":"(/\\*)((?:[^*]|\\*++[^/])*+(\\*++/))"}]},{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]}},"match":"(/\\*)((?:[^*]|\\*++[^/])*+(\\*++/))"}]},"line_comment":{"patterns":[{"begin":"\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?<=\\n)(?<!\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]},{"begin":"\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?<=\\n)(?<!\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]}]},"line_continuation_character":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.line-continuation.c"}},"match":"(\\\\)\\n"}]},"member_access":{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"}},"match":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))"}]},"5":{"name":"variable.other.member.c"}},"match":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))((?:[A-Z_a-z]\\w*\\s*(?:\\.\\*?|->\\*?)\\s*)*)\\s*\\b((?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\b)[A-Z_a-z]\\w*\\b(?!\\())"},"method_access":{"begin":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))((?:[A-Z_a-z]\\w*\\s*(?:\\.\\*?|->\\*?)\\s*)*)\\s*([A-Z_a-z]\\w*)(\\()","beginCaptures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"}},"match":"((?:[A-Z_a-z]\\w*|(?<=[])]))\\s*)(?:(\\.\\*?)|(->\\*?))"}]},"5":{"name":"entity.name.function.member.c"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.c"}},"contentName":"meta.function-call.member.c","end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.c"}},"patterns":[{"include":"#function-call-innards"}]},"numbers":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"$","patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.c"},"2":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.hexadecimal.c"},"5":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.c"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.c"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.c"},"11":{"name":"constant.numeric.exponent.hexadecimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.c"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?$"},{"captures":{"2":{"name":"constant.numeric.decimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.decimal.point.c"},"5":{"name":"constant.numeric.decimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.decimal.c"},"9":{"name":"keyword.operator.plus.exponent.decimal.c"},"10":{"name":"keyword.operator.minus.exponent.decimal.c"},"11":{"name":"constant.numeric.exponent.decimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.c"}},"match":"\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.binary.c"},"2":{"name":"constant.numeric.binary.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\G(0[Bb])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.octal.c"},"2":{"name":"constant.numeric.octal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\G(0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.c"},"2":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.c"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.c"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.c"},"8":{"name":"constant.numeric.exponent.hexadecimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"9":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)((?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?$"},{"captures":{"2":{"name":"constant.numeric.decimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"5":{"name":"keyword.other.unit.exponent.decimal.c"},"6":{"name":"keyword.operator.plus.exponent.decimal.c"},"7":{"name":"keyword.operator.minus.exponent.decimal.c"},"8":{"name":"constant.numeric.exponent.decimal.c","patterns":[{"match":"(?<=\\h)'(?=\\h)","name":"punctuation.separator.constant.numeric"}]},"9":{"name":"keyword.other.unit.suffix.integer.c"}},"match":"\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)((?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\w))?$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric"}]}]}},"match":"(?<!\\w)\\.?\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"operators":{"patterns":[{"match":"(?<![$\\w])(sizeof)(?![$\\w])","name":"keyword.operator.sizeof.c"},{"match":"--","name":"keyword.operator.decrement.c"},{"match":"\\+\\+","name":"keyword.operator.increment.c"},{"match":"(?:[-%*+]|(?<!\\()/)=","name":"keyword.operator.assignment.compound.c"},{"match":"(?:[\\&^]|<<|>>|\\|)=","name":"keyword.operator.assignment.compound.bitwise.c"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.c"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.c"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.c"},{"match":"[\\&^|~]","name":"keyword.operator.c"},{"match":"=","name":"keyword.operator.assignment.c"},{"match":"[-%*+/]","name":"keyword.operator.c"},{"begin":"(\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.c"}},"end":"(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.c"}},"patterns":[{"include":"#function-call-innards"},{"include":"$self"}]}]},"parens":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"name":"meta.parens.c","patterns":[{"include":"$self"}]},"parens-block":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"name":"meta.parens.block.c","patterns":[{"include":"#block_innards"},{"match":"(?-im:(?<!:):(?!:))","name":"punctuation.range-based.c"}]},"pragma-mark":{"captures":{"1":{"name":"meta.preprocessor.pragma.c"},"2":{"name":"keyword.control.directive.pragma.pragma-mark.c"},"3":{"name":"punctuation.definition.directive.c"},"4":{"name":"entity.name.tag.pragma-mark.c"}},"match":"^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))","name":"meta.section.c"},"predefined_macros":{"patterns":[{"captures":{"1":{"name":"entity.name.other.preprocessor.macro.predefined.$1.c"}},"match":"\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b"},{"match":"\\b__([A-Z_]+)__\\b","name":"entity.name.other.preprocessor.macro.predefined.probably.$1.c"}]},"preprocessor-rule-conditional":{"patterns":[{"begin":"^\\s*((#)\\s*if(?:n?def)?)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$self"}]},{"captures":{"0":{"name":"invalid.illegal.stray-$1.c"}},"match":"^\\s*#\\s*(e(?:lse|lif|ndif))\\b"}]},"preprocessor-rule-conditional-block":{"patterns":[{"begin":"^\\s*((#)\\s*if(?:n?def)?)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}]},{"captures":{"0":{"name":"invalid.illegal.stray-$1.c"}},"match":"^\\s*#\\s*(e(?:lse|lif|ndif))\\b"}]},"preprocessor-rule-conditional-line":{"patterns":[{"match":"\\bdefined\\b(?:\\s*$|(?=\\s*\\(*\\s*(?!defined\\b)[$A-Z_a-z][$\\w]*\\b\\s*\\)*\\s*(?:\\n|//|/\\*|[:?]|&&|\\|\\||\\\\\\s*\\n)))","name":"keyword.control.directive.conditional.c"},{"match":"\\bdefined\\b","name":"invalid.illegal.macro-name.c"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.c"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.c"}},"patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#operators"},{"match":"\\b(NULL|true|false|TRUE|FALSE)\\b","name":"constant.language.c"},{"match":"[$A-Z_a-z][$\\w]*","name":"entity.name.function.preprocessor.c"},{"include":"#line_continuation_character"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#preprocessor-rule-conditional-line"}]}]},"preprocessor-rule-define-line-blocks":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"patterns":[{"include":"#preprocessor-rule-define-line-blocks"},{"include":"#preprocessor-rule-define-line-contents"}]},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-define-line-contents":{"patterns":[{"include":"#vararg_ellipses"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\s*#\\s*e(?:lif|lse|ndif)\\b)|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"name":"meta.block.c","patterns":[{"include":"#preprocessor-rule-define-line-blocks"}]},{"match":"\\(","name":"punctuation.section.parens.begin.bracket.round.c"},{"match":"\\)","name":"punctuation.section.parens.end.bracket.round.c"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\s*\\(|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[])\\s*\\()","end":"(?<=\\))(?!\\w)|(?<!\\\\)(?=\\s*\\n)","name":"meta.function.c","patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\"|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]},{"include":"#method_access"},{"include":"#member_access"},{"include":"$self"}]},"preprocessor-rule-define-line-functions":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#vararg_ellipses"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\&*+<=>]+|\\(\\)|\\[]))\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\))|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.c"}},"patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"(\\))|(?<!\\\\)(?=\\s*\\n)","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-disabled":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*e(?:lif|lse|ndif))\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$self"}]},{"begin":"\\n","contentName":"comment.block.preprocessor.if-branch.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-block":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*e(?:lif|lse|ndif))\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}]},{"begin":"\\n","contentName":"comment.block.preprocessor.if-branch.in-block.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-elif":{"begin":"^\\s*((#)\\s*elif)\\b(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*e(?:lif|lse|ndif))\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-enabled":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"},"3":{"name":"constant.numeric.preprocessor.c"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.else-branch.c","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.if-branch.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"\\n","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"$self"}]}]}]},"preprocessor-rule-enabled-block":{"patterns":[{"begin":"^\\s*((#)\\s*if)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"^\\s*((#)\\s*endif)\\b","endCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.else-branch.in-block.c","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*elif)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.if-branch.in-block.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"\\n","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#block_innards"}]}]}]},"preprocessor-rule-enabled-elif":{"begin":"^\\s*((#)\\s*elif)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"^\\s*((#)\\s*(else))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*(elif))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"include":"$self"}]}]},"preprocessor-rule-enabled-elif-block":{"begin":"^\\s*((#)\\s*elif)\\b(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"\\G(?=.)(?!/(?:/|\\*(?!.*\\\\\\s*\\n)))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)","name":"meta.preprocessor.c","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"begin":"^\\s*((#)\\s*(else))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.in-block.c","end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"^\\s*((#)\\s*(elif))\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"contentName":"comment.block.preprocessor.elif-branch.c","end":"(?=^\\s*((#)\\s*e(?:lse|lif|ndif))\\b)","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"include":"#block_innards"}]}]},"preprocessor-rule-enabled-else":{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"$self"}]},"preprocessor-rule-enabled-else-block":{"begin":"^\\s*((#)\\s*else)\\b","beginCaptures":{"0":{"name":"meta.preprocessor.c"},"1":{"name":"keyword.control.directive.conditional.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=^\\s*((#)\\s*endif)\\b)","patterns":[{"include":"#block_innards"}]},"probably_a_parameter":{"captures":{"1":{"name":"variable.parameter.probably.c"}},"match":"(?<=[0-9A-Z_a-z] |[]\\&)*>])\\s*([A-Z_a-z]\\w*)\\s*(?=(?:\\[]\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?<!\\s)\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)static_assert|_Static_assert(?!\\w))((?>(?:(?>(?<!\\s)\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"5":{"name":"keyword.other.static_assert.c"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"8":{"name":"comment.block.c"},"9":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.c"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.c"}},"patterns":[{"begin":"(,)\\s*(?=(?:L|u8?|U\\s*\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.c"}},"end":"(?=\\))","name":"meta.static_assert.message.c","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"storage_types":{"patterns":[{"match":"(?-im:(?<!\\w)(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?!\\w))","name":"storage.type.built-in.primitive.c"},{"match":"(?-im:(?<!\\w)(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|pthread_rwlockattr_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_uint_fast16_t|atomic_int_least64_t|atomic_int_least32_t|atomic_int_least16_t|atomic_uint_least8_t|atomic_uint_fast8_t|atomic_int_least8_t|atomic_int_fast16_t|pthread_mutexattr_t|atomic_int_fast32_t|atomic_int_fast64_t|atomic_int_fast8_t|pthread_condattr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintptr_t|atomic_uintmax_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|int_least32_t|pthread_key_t|int_least16_t|int_least64_t|uint_least8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|atomic_ushort|atomic_ullong|atomic_size_t|int_fast16_t|int_fast64_t|uint_fast8_t|atomic_short|atomic_uchar|atomic_schar|int_least8_t|memory_order|atomic_llong|atomic_ulong|int_fast32_t|atomic_long|atomic_uint|atomic_char|int_fast8_t|suseconds_t|atomic_bool|atomic_int|_Imaginary|useconds_t|in_port_t|uintmax_t|pthread_t|blksize_t|in_addr_t|uintptr_t|blkcnt_t|uint16_t|uint32_t|uint64_t|u_quad_t|_Complex|intptr_t|intmax_t|segsz_t|u_short|nlink_t|uint8_t|int64_t|int32_t|int16_t|fixpt_t|daddr_t|caddr_t|qaddr_t|ssize_t|clock_t|swblk_t|u_long|mode_t|int8_t|time_t|ushort|u_char|quad_t|size_t|pid_t|gid_t|uid_t|dev_t|div_t|off_t|u_int|key_t|ino_t|uint|id_t)(?!\\w))","name":"storage.type.built-in.c"},{"match":"(?-im:\\b(enum|struct|union)\\b)","name":"storage.type.$1.c"},{"begin":"\\b(__asm__|asm)\\b\\s*((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.c"},"2":{"name":"storage.modifier.c"}},"end":"(?!\\G)","name":"meta.asm.c","patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]}},"match":"^((?:(?>\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))(?:\\n|$)"},{"include":"#comments"},{"begin":"(((?:(?>\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.c"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"4":{"name":"comment.block.c"},"5":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.c"}},"patterns":[{"begin":"(R?)(\")","beginCaptures":{"1":{"name":"meta.encoding.c"},"2":{"name":"punctuation.definition.string.begin.assembly.c"}},"contentName":"meta.embedded.assembly.c","end":"(\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.assembly.c"}},"name":"string.quoted.double.c","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.c"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.c"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"5":{"name":"variable.other.asm.label.c"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"8":{"name":"comment.block.c"},"9":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]}},"match":"\\[((?:(?>\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))([A-Z_a-z]\\w*)((?:(?>\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.c"},{"include":"#comments"}]}]}]},"string_escaped_char":{"patterns":[{"match":"\\\\([\"'?\\\\abefnprtv]|[0-3]\\d{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})","name":"constant.character.escape.c"},{"match":"\\\\.","name":"invalid.illegal.unknown-escape.c"}]},"string_placeholder":{"patterns":[{"match":"%(\\d+\\$)?[- #'+0]*[,:;_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.c"},{"captures":{"1":{"name":"invalid.illegal.placeholder.c"}},"match":"(%)(?!\"\\s*(PRI|SCN))"}]},"strings":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]}]},"switch_conditional_parentheses":{"begin":"((?>(?:(?>(?<!\\s)\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.c"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.c"}},"name":"meta.conditional.switch.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"switch_statement":{"begin":"(((?>(?:(?>(?<!\\s)\\s+)|(/\\*)((?>(?:[^*]|(?>\\*+)[^/])*)((?>\\*+)/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)switch(?!\\w)))","beginCaptures":{"1":{"name":"meta.head.switch.c"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"4":{"name":"comment.block.c"},"5":{"patterns":[{"match":"\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\*","name":"comment.block.c"}]},"6":{"name":"keyword.control.switch.c"}},"end":"(?<=}|%>|\\?\\?>)|(?=[];=>\\[])","name":"meta.block.switch.c","patterns":[{"begin":"\\G ?","end":"(\\{|<%|\\?\\?<|(?=;))","endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.c"}},"name":"meta.head.switch.c","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\{|<%|\\?\\?<)","end":"(}|%>|\\?\\?>)","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.c"}},"name":"meta.body.switch.c","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"},{"include":"#block_innards"}]},{"begin":"(?<=}|%>|\\?\\?>)[\\n\\s]*","end":"[\\n\\s]*(?=;)","name":"meta.tail.switch.c","patterns":[{"include":"$self"}]}]},"vararg_ellipses":{"match":"(?<!\\.)\\.\\.\\.(?!\\.)","name":"punctuation.vararg-ellipses.c"}},"scopeName":"source.c"},{"displayName":"CoffeeScript","name":"coffee","patterns":[{"include":"#jsx"},{"captures":{"1":{"name":"keyword.operator.new.coffee"},"2":{"name":"storage.type.class.coffee"},"3":{"name":"entity.name.type.instance.coffee"},"4":{"name":"entity.name.type.instance.coffee"}},"match":"(new)\\s+(?:(class)\\s+(\\w+(?:\\.\\w*)*)?|(\\w+(?:\\.\\w*)*))","name":"meta.class.instance.constructor.coffee"},{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.single.heredoc.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\).","name":"constant.character.escape.backslash.coffee"}]},{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.double.heredoc.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\).","name":"constant.character.escape.backslash.coffee"},{"include":"#interpolated_coffee"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.coffee"},"2":{"name":"source.js.embedded.coffee","patterns":[{"include":"source.js"}]},"3":{"name":"punctuation.definition.string.end.coffee"}},"match":"(`)(.*)(`)","name":"string.quoted.script.coffee"},{"begin":"(?<!#)###(?!#)","beginCaptures":{"0":{"name":"punctuation.definition.comment.coffee"}},"end":"###","endCaptures":{"0":{"name":"punctuation.definition.comment.coffee"}},"name":"comment.block.coffee","patterns":[{"match":"(?<=^|\\s)@\\w*(?=\\s)","name":"storage.type.annotation.coffee"}]},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.coffee"}},"end":"$","name":"comment.line.number-sign.coffee"},{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"(///)[gimuy]*","endCaptures":{"1":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.regexp.multiline.coffee","patterns":[{"include":"#heregexp"}]},{"begin":"(?<![$\\w])(/)(?=(?![*+/?])(.+)(/)[gimuy]*(?!\\s*[$(/\\w]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.coffee"}},"end":"(/)[gimuy]*(?!\\s*[$(/\\w])","endCaptures":{"1":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.regexp.coffee","patterns":[{"include":"source.js.regexp"}]},{"match":"\\b(?<![$.])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|export|import|default|from|as|yield|async|await|(?<=for)\\s+own)(?!\\s*:)\\b","name":"keyword.control.coffee"},{"match":"\\b(?<![$.])(delete|instanceof|new|typeof)(?!\\s*:)\\b","name":"keyword.operator.$1.coffee"},{"match":"\\b(?<![$.])(case|function|var|void|with|const|let|enum|native|__hasProp|__extends|__slice|__bind|__indexOf|implements|interface|package|private|protected|public|static)(?!\\s*:)\\b","name":"keyword.reserved.coffee"},{"begin":"(?<=\\s|^)((@)?[$A-Z_a-z][$\\w]*)\\s*([:=])\\s*(?=(\\([^()]*\\)\\s*)?[-=]>)","beginCaptures":{"1":{"name":"entity.name.function.coffee"},"2":{"name":"variable.other.readwrite.instance.coffee"},"3":{"name":"keyword.operator.assignment.coffee"}},"end":"[-=]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?<=\\s|^)(?:((')([^']*?)('))|((\")([^\"]*?)(\")))\\s*([:=])\\s*(?=(\\([^()]*\\)\\s*)?[-=]>)","beginCaptures":{"1":{"name":"string.quoted.single.coffee"},"2":{"name":"punctuation.definition.string.begin.coffee"},"3":{"name":"entity.name.function.coffee"},"4":{"name":"punctuation.definition.string.end.coffee"},"5":{"name":"string.quoted.double.coffee"},"6":{"name":"punctuation.definition.string.begin.coffee"},"7":{"name":"entity.name.function.coffee"},"8":{"name":"punctuation.definition.string.end.coffee"},"9":{"name":"keyword.operator.assignment.coffee"}},"end":"[-=]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?=(\\([^()]*\\)\\s*)?[-=]>)","end":"[-=]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.inline.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?<=\\s|^)(\\{)(?=[^\"#']+?}[]}\\s]*=)","beginCaptures":{"1":{"name":"punctuation.definition.destructuring.begin.bracket.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.destructuring.end.bracket.curly.coffee"}},"name":"meta.variable.assignment.destructured.object.coffee","patterns":[{"include":"$self"},{"match":"[$A-Z_a-z]\\w*","name":"variable.assignment.coffee"}]},{"begin":"(?<=\\s|^)(\\[)(?=[^\"#']+?][]}\\s]*=)","beginCaptures":{"1":{"name":"punctuation.definition.destructuring.begin.bracket.square.coffee"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.destructuring.end.bracket.square.coffee"}},"name":"meta.variable.assignment.destructured.array.coffee","patterns":[{"include":"$self"},{"match":"[$A-Z_a-z]\\w*","name":"variable.assignment.coffee"}]},{"match":"\\b(?<!\\.|::)(true|on|yes)(?!\\s*[:=][^=])\\b","name":"constant.language.boolean.true.coffee"},{"match":"\\b(?<!\\.|::)(false|off|no)(?!\\s*[:=][^=])\\b","name":"constant.language.boolean.false.coffee"},{"match":"\\b(?<!\\.|::)null(?!\\s*[:=][^=])\\b","name":"constant.language.null.coffee"},{"match":"\\b(?<!\\.|::)extends(?!\\s*[:=])\\b","name":"variable.language.coffee"},{"match":"(?<!\\.)\\b(?<!\\$)(super|this|arguments)(?!\\s*[:=][^=]|\\$)\\b","name":"variable.language.$1.coffee"},{"captures":{"1":{"name":"storage.type.class.coffee"},"2":{"name":"keyword.control.inheritance.coffee"},"3":{"name":"entity.other.inherited-class.coffee"}},"match":"(?<=\\s|^|[(\\[])(class)\\s+(extends)\\s+(@?[$.A-Z_a-z][.\\w]*)","name":"meta.class.coffee"},{"captures":{"1":{"name":"storage.type.class.coffee"},"2":{"name":"entity.name.type.class.coffee"},"3":{"name":"keyword.control.inheritance.coffee"},"4":{"name":"entity.other.inherited-class.coffee"}},"match":"(?<=\\s|^|[(\\[])(class)\\b\\s+(@?[$A-Z_a-z][.\\w]*)?(?:\\s+(extends)\\s+(@?[$.A-Z_a-z][.\\w]*))?","name":"meta.class.coffee"},{"match":"\\b(debugger|\\\\)\\b","name":"keyword.other.coffee"},{"match":"\\b(Array|ArrayBuffer|Blob|Boolean|Date|document|Function|Int(8|16|32|64)Array|Math|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap|window|Uint(8|16|32|64)Array|XMLHttpRequest)\\b","name":"support.class.coffee"},{"match":"\\b(console)\\b","name":"entity.name.type.object.coffee"},{"match":"((?<=console\\.)(debug|warn|info|log|error|time|timeEnd|assert))\\b","name":"support.function.console.coffee"},{"match":"((?<=\\.)(apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|unshift|valueOf))\\b","name":"support.function.method.array.coffee"},{"match":"((?<=Array\\.)(isArray))\\b","name":"support.function.static.array.coffee"},{"match":"((?<=Object\\.)(create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|isnt|keys|preventExtensions|seal))\\b","name":"support.function.static.object.coffee"},{"match":"((?<=Math\\.)(abs|acosh??|asinh??|atan2??|atanh|ceil|cosh??|exp|expm1|floor|hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sinh??|sqrt|tanh??|trunc))\\b","name":"support.function.static.math.coffee"},{"match":"((?<=Number\\.)(is(Finite|Integer|NaN)|toInteger))\\b","name":"support.function.static.number.coffee"},{"match":"(?<!\\.)\\b(module|exports|__filename|__dirname|global|process)(?!\\s*:)\\b","name":"support.variable.coffee"},{"match":"\\b(Infinity|NaN|undefined)\\b","name":"constant.language.coffee"},{"include":"#operators"},{"include":"#method_calls"},{"include":"#function_calls"},{"include":"#numbers"},{"include":"#objects"},{"include":"#properties"},{"match":"::","name":"keyword.operator.prototype.coffee"},{"match":"(?<!\\$)\\b[0-9]+[$\\w]*","name":"invalid.illegal.identifier.coffee"},{"match":";","name":"punctuation.terminator.statement.coffee"},{"match":",","name":"punctuation.separator.delimiter.coffee"},{"begin":"\\{","beginCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"patterns":[{"include":"$self"}]},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.bracket.square.coffee"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.square.coffee"}},"patterns":[{"match":"(?<!\\.)\\.{3}","name":"keyword.operator.slice.exclusive.coffee"},{"match":"(?<!\\.)\\.{2}","name":"keyword.operator.slice.inclusive.coffee"},{"include":"$self"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.coffee"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.coffee"}},"patterns":[{"include":"$self"}]},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"}],"repository":{"arguments":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.bracket.round.coffee"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.coffee"}},"name":"meta.arguments.coffee","patterns":[{"include":"$self"}]},{"begin":"(?=(@|@?[$\\w]+|[-=]>|-\\d|[\"'\\[{]))","end":"(?=\\s*(?<![$\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\w]))|(?=\\s*([]#)}]|$))","name":"meta.arguments.coffee","patterns":[{"include":"$self"}]}]},"double_quoted_string":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.double.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\)(x\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.backslash.coffee"},{"include":"#interpolated_coffee"}]}]},"embedded_comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.coffee"}},"match":"(?<!\\\\)(#).*$\\n?","name":"comment.line.number-sign.coffee"}]},"function_calls":{"patterns":[{"begin":"(@)?([$\\w]+)(?=\\()","beginCaptures":{"1":{"name":"variable.other.readwrite.instance.coffee"},"2":{"patterns":[{"include":"#function_names"}]}},"end":"(?<=\\))","name":"meta.function-call.coffee","patterns":[{"include":"#arguments"}]},{"begin":"(@)?([$\\w]+)\\s*(?=\\s+(?!(?<![$\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\w]))(?=(@?[$\\w]+|[-=]>|-\\d|[\"'\\[{])))","beginCaptures":{"1":{"name":"variable.other.readwrite.instance.coffee"},"2":{"patterns":[{"include":"#function_names"}]}},"end":"(?=\\s*(?<![$\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\w]))|(?=\\s*([]#)}]|$))","name":"meta.function-call.coffee","patterns":[{"include":"#arguments"}]}]},"function_names":{"patterns":[{"match":"\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|require|set(Interval|Timeout)|clear(Interval|Timeout))\\b","name":"support.function.coffee"},{"match":"[$A-Z_a-z][$\\w]*","name":"entity.name.function.coffee"},{"match":"\\d[$\\w]*","name":"invalid.illegal.identifier.coffee"}]},"function_params":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.coffee"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.coffee"}},"name":"meta.parameters.coffee","patterns":[{"captures":{"1":{"name":"variable.parameter.function.coffee"},"2":{"name":"keyword.operator.splat.coffee"}},"match":"([$A-Z_a-z][$\\w]*)(\\.\\.\\.)?"},{"captures":{"1":{"name":"variable.parameter.function.readwrite.instance.coffee"},"2":{"name":"keyword.operator.splat.coffee"}},"match":"(@(?:[$A-Z_a-z][$\\w]*)?)(\\.\\.\\.)?"},{"include":"$self"}]}]},"heregexp":{"patterns":[{"match":"\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"match":"\\\\[1-9]\\d*","name":"keyword.other.back-reference.regexp"},{"match":"[*+?]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)}\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\()((\\?=)|(\\?!))","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#heregexp"}]},{"begin":"\\((\\?:)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#heregexp"}]},{"begin":"(\\[)(\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"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"}},"match":"(?:.|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))-(?:[^]\\\\]|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"},{"include":"#interpolated_coffee"},{"include":"#embedded_comment"}]},"instance_variable":{"patterns":[{"match":"(@)([$A-Z_a-z]\\w*)?","name":"variable.other.readwrite.instance.coffee"}]},"interpolated_coffee":{"patterns":[{"begin":"#\\{","captures":{"0":{"name":"punctuation.section.embedded.coffee"}},"end":"}","name":"source.coffee.embedded.source","patterns":[{"include":"$self"}]}]},"jsx":{"patterns":[{"include":"#jsx-tag"},{"include":"#jsx-end-tag"}]},"jsx-attribute":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.coffee"},"2":{"name":"keyword.operator.assignment.coffee"}},"match":"(?:^|\\s+)([-.\\w]+)\\s*(=)"},{"include":"#double_quoted_string"},{"include":"#single_quoted_string"},{"include":"#jsx-expression"}]},"jsx-end-tag":{"patterns":[{"begin":"(</)([-.\\w]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.coffee"},"2":{"name":"entity.name.tag.coffee"}},"end":"(/?>)","name":"meta.tag.coffee"}]},"jsx-expression":{"begin":"\\{","beginCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"patterns":[{"include":"#double_quoted_string"},{"include":"$self"}]},"jsx-tag":{"patterns":[{"begin":"(<)([-.\\w]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.coffee"},"2":{"name":"entity.name.tag.coffee"}},"end":"(/?>)","name":"meta.tag.coffee","patterns":[{"include":"#jsx-attribute"}]}]},"method_calls":{"patterns":[{"begin":"(?:(\\.)|(::))\\s*([$\\w]+)\\s*(?=\\()","beginCaptures":{"1":{"name":"punctuation.separator.method.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"patterns":[{"include":"#method_names"}]}},"end":"(?<=\\))","name":"meta.method-call.coffee","patterns":[{"include":"#arguments"}]},{"begin":"(?:(\\.)|(::))\\s*([$\\w]+)\\s*(?=\\s+(?!(?<![$\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\w]))(?=(@|@?[$\\w]+|[-=]>|-\\d|[\"'\\[{])))","beginCaptures":{"1":{"name":"punctuation.separator.method.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"patterns":[{"include":"#method_names"}]}},"end":"(?=\\s*(?<![$\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\w]))|(?=\\s*([]#)}]|$))","name":"meta.method-call.coffee","patterns":[{"include":"#arguments"}]}]},"method_names":{"patterns":[{"match":"\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|Before(cut|deactivate|unload|update|paste|print|editfocus|activate)|Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\b","name":"support.function.event-handler.coffee"},{"match":"\\b(shift|showModelessDialog|showModalDialog|showHelp|scrollX??|scrollByPages|scrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|contextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|test|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|untaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|print|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|forward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|abort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|releaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|Attention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|moveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\b","name":"support.function.coffee"},{"match":"\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|appendChild|appendData|before|blur|canPlayType|captureStream|caretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|cloneContents|cloneNode|cloneRange|close|closest|collapse|compareBoundaryPoints|compareDocumentPosition|comparePoint|contains|convertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|createAttributeNS|createCaption|createCDATASection|createComment|createContextualFragment|createDocument|createDocumentFragment|createDocumentType|createElement|createElementNS|createEntityReference|createEvent|createExpression|createHTMLDocument|createNodeIterator|createNSResolver|createProcessingInstruction|createRange|createShadowRoot|createTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|deleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|deleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|enableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|exitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|getAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|getAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|getClientRects|getContext|getDestinationInsertionPoints|getElementById|getElementsByClassName|getElementsByName|getElementsByTagName|getElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|getVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|insertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|isPointInRange|isSameNode|item|keys??|lastChild|load|lookupNamespaceURI|lookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|moveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|parentNode|pause|play|postMessage|prepend|preventDefault|previousNode|previousSibling|probablySupportsContext|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|querySelector|querySelectorAll|registerContentHandler|registerElement|registerProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|removeAttributeNode|removeAttributeNS|removeChild|removeEventListener|removeItem|replace|replaceChild|replaceData|replaceWith|reportValidity|requestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|scrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|setAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|setCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|setRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|slice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|submit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|toDataURL|toggle|toString|values|write|writeln)\\b","name":"support.function.dom.coffee"},{"match":"[$A-Z_a-z][$\\w]*","name":"entity.name.function.coffee"},{"match":"\\d[$\\w]*","name":"invalid.illegal.identifier.coffee"}]},"numbers":{"patterns":[{"match":"\\b(?<!\\$)0([Xx])\\h+\\b(?!\\$)","name":"constant.numeric.hex.coffee"},{"match":"\\b(?<!\\$)0([Bb])[01]+\\b(?!\\$)","name":"constant.numeric.binary.coffee"},{"match":"\\b(?<!\\$)0([Oo])?[0-7]+\\b(?!\\$)","name":"constant.numeric.octal.coffee"},{"captures":{"0":{"name":"constant.numeric.decimal.coffee"},"1":{"name":"punctuation.separator.decimal.period.coffee"},"2":{"name":"punctuation.separator.decimal.period.coffee"},"3":{"name":"punctuation.separator.decimal.period.coffee"},"4":{"name":"punctuation.separator.decimal.period.coffee"},"5":{"name":"punctuation.separator.decimal.period.coffee"},"6":{"name":"punctuation.separator.decimal.period.coffee"}},"match":"(?<!\\$)(?:\\b[0-9]+(\\.)[0-9]+[Ee][-+]?[0-9]+\\b|\\b[0-9]+(\\.)[Ee][-+]?[0-9]+\\b|\\B(\\.)[0-9]+[Ee][-+]?[0-9]+\\b|\\b[0-9]+[Ee][-+]?[0-9]+\\b|\\b[0-9]+(\\.)[0-9]+\\b|\\b[0-9]+(?=\\.{2,3})|\\b[0-9]+(\\.)\\B|\\B(\\.)[0-9]+\\b|\\b[0-9]+\\b(?!\\.))(?!\\$)"}]},"objects":{"patterns":[{"match":"[A-Z][$0-9A-Z_]*(?=\\s*\\??(\\.\\s*[$A-Z_a-z]\\w*|::))","name":"constant.other.object.coffee"},{"match":"[$A-Z_a-z][$\\w]*(?=\\s*\\??(\\.\\s*[$A-Z_a-z]\\w*|::))","name":"variable.other.object.coffee"}]},"operators":{"patterns":[{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.compound.coffee"}},"match":"(?:([$A-Z_a-z][$\\w]*)?\\s+|(?<![$\\w]))(and=|or=)"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.compound.coffee"}},"match":"([$A-Z_a-z][$\\w]*)?\\s*((?:[-%*+]|&&|\\|\\||\\?|(?<!\\()/)=)"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.compound.bitwise.coffee"}},"match":"([$A-Z_a-z][$\\w]*)?\\s*((?:[\\&^]|<<|>>>??|\\|)=)"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.coffee"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.coffee"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.coffee"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.coffee"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.coffee"}},"match":"([$A-Z_a-z][$\\w]*)?\\s*(=|:(?!:))(?![=>])"},{"match":"--","name":"keyword.operator.decrement.coffee"},{"match":"\\+\\+","name":"keyword.operator.increment.coffee"},{"match":"\\.\\.\\.","name":"keyword.operator.splat.coffee"},{"match":"\\?","name":"keyword.operator.existential.coffee"},{"match":"[-%*+/]","name":"keyword.operator.coffee"},{"captures":{"1":{"name":"keyword.operator.logical.coffee"},"2":{"name":"keyword.operator.comparison.coffee"}},"match":"\\b(?<![$.])(?:(and|or|not)|(is(?:|nt)))(?!\\s*:)\\b"}]},"properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"constant.other.object.property.coffee"}},"match":"(?:(\\.)|(::))\\s*([A-Z][$0-9A-Z_]*\\b\\$*)(?=\\s*\\??(\\.\\s*[$A-Z_a-z]\\w*|::))"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"variable.other.object.property.coffee"}},"match":"(?:(\\.)|(::))\\s*(\\$*[$A-Z_a-z][$\\w]*)(?=\\s*\\??(\\.\\s*[$A-Z_a-z]\\w*|::))"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"constant.other.property.coffee"}},"match":"(?:(\\.)|(::))\\s*([A-Z][$0-9A-Z_]*\\b\\$*)"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"variable.other.property.coffee"}},"match":"(?:(\\.)|(::))\\s*(\\$*[$A-Z_a-z][$\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.property.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"name":"invalid.illegal.identifier.coffee"}},"match":"(?:(\\.)|(::))\\s*([0-9][$\\w]*)"}]},"regex-character-class":{"patterns":[{"match":"\\\\[DSWdsw]|\\.","name":"constant.character.character-class.regexp"},{"match":"\\\\([0-7]{3}|x\\h{2}|u\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\.","name":"constant.character.escape.backslash.regexp"}]},"single_quoted_string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coffee"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.coffee"}},"name":"string.quoted.single.coffee","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.backslash.coffee"}},"match":"(\\\\)(x\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.backslash.coffee"}]}]}},"scopeName":"source.coffee"},{"displayName":"Clojure","name":"clojure","patterns":[{"include":"#comment"},{"include":"#shebang-comment"},{"include":"#quoted-sexp"},{"include":"#sexp"},{"include":"#keyfn"},{"include":"#string"},{"include":"#vector"},{"include":"#set"},{"include":"#map"},{"include":"#regexp"},{"include":"#var"},{"include":"#constants"},{"include":"#dynamic-variables"},{"include":"#metadata"},{"include":"#namespace-symbol"},{"include":"#symbol"}],"repository":{"comment":{"begin":"(?<!\\\\);","beginCaptures":{"0":{"name":"punctuation.definition.comment.clojure"}},"end":"$","name":"comment.line.semicolon.clojure"},"constants":{"patterns":[{"match":"(nil)(?=([])}\\s]))","name":"constant.language.nil.clojure"},{"match":"(true|false)","name":"constant.language.boolean.clojure"},{"match":"(##(?:Inf|-Inf|NaN))","name":"constant.numeric.symbol.clojure"},{"match":"([-+]?\\d+/\\d+)","name":"constant.numeric.ratio.clojure"},{"match":"([-+]?(?:3[0-6]|[12]\\d|[2-9])[Rr][0-9A-Za-z]+N?)","name":"constant.numeric.arbitrary-radix.clojure"},{"match":"([-+]?0[Xx]\\h+N?)","name":"constant.numeric.hexadecimal.clojure"},{"match":"([-+]?0[0-7]+N?)","name":"constant.numeric.octal.clojure"},{"match":"([-+]?[0-9]+(\\.|(?=[EMe]))[0-9]*([Ee][-+]?[0-9]+)?M?)","name":"constant.numeric.double.clojure"},{"match":"([-+]?\\d+N?)","name":"constant.numeric.long.clojure"},{"include":"#keyword"}]},"dynamic-variables":{"match":"\\*[-!+.:<-?_\\w\\d]+\\*","name":"meta.symbol.dynamic.clojure"},"keyfn":{"patterns":[{"match":"(?<=([(\\[{\\s]))(if(-[-?\\p{Ll}]*)?|when(-[-\\p{Ll}]*)?|for(-[-\\p{Ll}]*)?|cond|do|let(-[-?\\p{Ll}]*)?|binding|loop|recur|fn|throw[-\\p{Ll}]*|try|catch|finally|(\\p{Ll}*case))(?=([])}\\s]))","name":"storage.control.clojure"},{"match":"(?<=([(\\[{\\s]))(declare-?|(in-)?ns|import|use|require|load|compile|(def[-\\p{Ll}]*))(?=([])}\\s]))","name":"keyword.control.clojure"}]},"keyword":{"match":"(?<=([(\\[{\\s])):[-!#*+./:<-?_\\w]+(?=([]),}\\s]))","name":"constant.keyword.clojure"},"map":{"begin":"(\\{)","beginCaptures":{"1":{"name":"punctuation.section.map.begin.clojure"}},"end":"(}(?=[])}\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.map.end.trailing.clojure"},"2":{"name":"punctuation.section.map.end.clojure"}},"name":"meta.map.clojure","patterns":[{"include":"$self"}]},"metadata":{"patterns":[{"begin":"(\\^\\{)","beginCaptures":{"1":{"name":"punctuation.section.metadata.map.begin.clojure"}},"end":"(}(?=[])}\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.metadata.map.end.trailing.clojure"},"2":{"name":"punctuation.section.metadata.map.end.clojure"}},"name":"meta.metadata.map.clojure","patterns":[{"include":"$self"}]},{"begin":"(\\^)","end":"(\\s)","name":"meta.metadata.simple.clojure","patterns":[{"include":"#keyword"},{"include":"$self"}]}]},"namespace-symbol":{"patterns":[{"captures":{"1":{"name":"meta.symbol.namespace.clojure"}},"match":"([-!*+.<-?_\\p{L}][-!*+.:<-?_\\w\\d]*)/"}]},"quoted-sexp":{"begin":"(['`]\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\))$|(\\)(?=[])}\\s]*(?:;|$)))|(\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.quoted-expression.clojure","patterns":[{"include":"$self"}]},"regexp":{"begin":"#\"","beginCaptures":{"0":{"name":"punctuation.definition.regexp.begin.clojure"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.regexp.end.clojure"}},"name":"string.regexp.clojure","patterns":[{"include":"#regexp_escaped_char"}]},"regexp_escaped_char":{"match":"\\\\.","name":"constant.character.escape.clojure"},"set":{"begin":"(#\\{)","beginCaptures":{"1":{"name":"punctuation.section.set.begin.clojure"}},"end":"(}(?=[])}\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.set.end.trailing.clojure"},"2":{"name":"punctuation.section.set.end.clojure"}},"name":"meta.set.clojure","patterns":[{"include":"$self"}]},"sexp":{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\))$|(\\)(?=[])}\\s]*(?:;|$)))|(\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.expression.clojure","patterns":[{"begin":"(?<=\\()(ns|declare|def[-!*+.:<-?_\\w\\d]*|[-!*+.:<-?_\\w][-!*+.:<-?_\\w\\d]*/def[-!*+.:<-?_\\w\\d]*)\\s+","beginCaptures":{"1":{"name":"keyword.control.clojure"}},"end":"(?=\\))","name":"meta.definition.global.clojure","patterns":[{"include":"#metadata"},{"include":"#dynamic-variables"},{"match":"([-!*+.<-?_\\p{L}][-!*+.:<-?_\\w\\d]*)","name":"entity.global.clojure"},{"include":"$self"}]},{"include":"#keyfn"},{"include":"#constants"},{"include":"#vector"},{"include":"#map"},{"include":"#set"},{"include":"#sexp"},{"captures":{"1":{"name":"entity.name.function.clojure"}},"match":"(?<=\\()(.+?)(?=[)\\s])","patterns":[{"include":"$self"}]},{"include":"$self"}]},"shebang-comment":{"begin":"^(#!)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shebang.clojure"}},"end":"$","name":"comment.line.shebang.clojure"},"string":{"begin":"(?<!\\\\)(\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.clojure"}},"end":"(\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.clojure"}},"name":"string.quoted.double.clojure","patterns":[{"match":"\\\\.","name":"constant.character.escape.clojure"}]},"symbol":{"patterns":[{"match":"([-!*+.<-?_\\p{L}][-!*+.:<-?_\\w\\d]*)","name":"meta.symbol.clojure"}]},"var":{"match":"(?<=([(\\[{\\s])#)'[-!*+./:<-?_\\w]+(?=([])}\\s]))","name":"meta.var.clojure"},"vector":{"begin":"(\\[)","beginCaptures":{"1":{"name":"punctuation.section.vector.begin.clojure"}},"end":"(](?=[])}\\s]*(?:;|$)))|(])","endCaptures":{"1":{"name":"punctuation.section.vector.end.trailing.clojure"},"2":{"name":"punctuation.section.vector.end.clojure"}},"name":"meta.vector.clojure","patterns":[{"include":"$self"}]}},"scopeName":"source.clojure"},{"displayName":"Batch File","injections":{"L:meta.block.repeat.batchfile":{"patterns":[{"include":"#repeatParameter"}]}},"name":"bat","patterns":[{"include":"#commands"},{"include":"#comments"},{"include":"#constants"},{"include":"#controls"},{"include":"#escaped_characters"},{"include":"#labels"},{"include":"#numbers"},{"include":"#operators"},{"include":"#parens"},{"include":"#strings"},{"include":"#variables"}],"repository":{"command_set":{"patterns":[{"begin":"(?<=^|[@\\s])(?i:SET)(?=$|\\s)","beginCaptures":{"0":{"name":"keyword.command.batchfile"}},"end":"(?=$\\n|[\\&)<>|])","patterns":[{"include":"#command_set_inside"}]}]},"command_set_group":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"patterns":[{"include":"#command_set_inside_arithmetic"}]}]},"command_set_inside":{"patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#command_set_strings"},{"include":"#strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\n|[\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#strings"}]},{"begin":"\\s+/[Aa]\\s+","end":"(?=$\\n|[\\&)<>|])","name":"meta.expression.set.batchfile","patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"},{"include":"#variables"}]},{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"}]},{"begin":"\\s+/[Pp]\\s+","end":"(?=$\\n|[\\&)<>|])","patterns":[{"include":"#command_set_strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\n|[\\&)<>|])","name":"meta.prompt.set.batchfile","patterns":[{"include":"#strings"}]}]}]},"command_set_inside_arithmetic":{"patterns":[{"include":"#command_set_operators"},{"include":"#numbers"},{"match":",","name":"punctuation.separator.batchfile"}]},"command_set_operators":{"patterns":[{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.augmented.batchfile"}},"match":"([^ ]*)((?:[-*+/]|%%|[\\&^|]|<<|>>)=)"},{"match":"[-*+/]|%%|[\\&^|]|<<|>>|~","name":"keyword.operator.arithmetic.batchfile"},{"match":"!","name":"keyword.operator.logical.batchfile"},{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"match":"([^ =]*)(=)"}]},"command_set_strings":{"patterns":[{"begin":"(\")\\s*([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.batchfile"},"2":{"name":"variable.other.readwrite.batchfile"},"3":{"name":"keyword.operator.assignment.batchfile"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#variables"},{"include":"#numbers"},{"include":"#escaped_characters"}]}]},"commands":{"patterns":[{"match":"(?<=^|[@\\s])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net user??|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\s)","name":"keyword.command.batchfile"},{"begin":"(?i)(?<=^|[@\\s])(echo)(?:(?=$|[.:])|\\s+(?:(o(?:n|ff))(?=\\s*$))?)","beginCaptures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"end":"(?=$\\n|[\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#strings"}]},{"captures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?<=^|[@\\s])(setlocal)(?:\\s*$|\\s+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\\s*$))"},{"include":"#command_set"}]},"comments":{"patterns":[{"begin":"(?:^|(&))\\s*(?=(:[ +,:;=]))","beginCaptures":{"1":{"name":"keyword.operator.conditional.batchfile"}},"end":"\\n","patterns":[{"begin":"(:[ +,:;=])","beginCaptures":{"1":{"name":"punctuation.definition.comment.batchfile"}},"end":"(?=\\n)","name":"comment.line.colon.batchfile"}]},{"begin":"(?<=^|[@\\s])(?i)(REM)(\\.)","beginCaptures":{"1":{"name":"keyword.command.rem.batchfile"},"2":{"name":"punctuation.separator.batchfile"}},"end":"(?=$\\n|[\\&)<>|])","name":"comment.line.rem.batchfile"},{"begin":"(?<=^|[@\\s])(?i:rem)\\b","beginCaptures":{"0":{"name":"keyword.command.rem.batchfile"}},"end":"\\n","name":"comment.line.rem.batchfile","patterns":[{"match":"[<>|]","name":"invalid.illegal.unexpected-character.batchfile"}]}]},"constants":{"patterns":[{"match":"\\b(?i:NUL)\\b","name":"constant.language.batchfile"}]},"controls":{"patterns":[{"match":"(?i)(?<=^|\\s)(?:call|exit(?=$|\\s)|goto(?=$|[:\\s]))","name":"keyword.control.statement.batchfile"},{"captures":{"1":{"name":"keyword.control.conditional.batchfile"},"2":{"name":"keyword.operator.logical.batchfile"},"3":{"name":"keyword.other.special-method.batchfile"}},"match":"(?<=^|\\s)(?i)(if)\\s+(?:(not)\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\s)"},{"match":"(?<=^|\\s)(?i)(?:if|else)(?=$|\\s)","name":"keyword.control.conditional.batchfile"},{"begin":"(?<=^|[\\&(^\\s])(?i)for(?=\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.batchfile"}},"end":"\\n","name":"meta.block.repeat.batchfile","patterns":[{"begin":"(?<=[\\^\\s])(?i)in(?=\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.in.batchfile"}},"end":"(?<=[)^\\s])(?i)do(?=\\s)|\\n","endCaptures":{"0":{"name":"keyword.control.repeat.do.batchfile"}},"patterns":[{"include":"$self"}]},{"include":"$self"}]}]},"escaped_characters":{"patterns":[{"match":"%%|\\^\\^!|\\^(?=.)|\\^\\n","name":"constant.character.escape.batchfile"}]},"labels":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?:^\\s*|(?<=call|goto)\\s*)(:)([^+,:;=\\s]\\S*)"}]},"numbers":{"patterns":[{"match":"(?<=^|[=\\s])(0[Xx]\\h*|[-+]?\\d+)(?=$|[<>\\s])","name":"constant.numeric.batchfile"}]},"operators":{"patterns":[{"match":"@(?=\\S)","name":"keyword.operator.at.batchfile"},{"match":"(?<=\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\s)|==","name":"keyword.operator.comparison.batchfile"},{"match":"(?<=\\s)(?i)(NOT)(?=\\s)","name":"keyword.operator.logical.batchfile"},{"match":"(?<!\\^)&&?|\\|\\|","name":"keyword.operator.conditional.batchfile"},{"match":"(?<!\\^)\\|","name":"keyword.operator.pipe.batchfile"},{"match":"<&?|>[\\&>]?","name":"keyword.operator.redirection.batchfile"}]},"parens":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"name":"meta.group.batchfile","patterns":[{"match":"[,;]","name":"punctuation.separator.batchfile"},{"include":"$self"}]}]},"repeatParameter":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%%)(?i:~[adfnpstxz]*(?:\\$PATH:)?)?[A-Za-z]","name":"variable.parameter.repeat.batchfile"}]},"strings":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"(\")|(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.batchfile"},"2":{"name":"invalid.illegal.newline.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"match":"%%","name":"constant.character.escape.batchfile"},{"include":"#variables"}]}]},"variable":{"patterns":[{"begin":"%(?=[^%]+%)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(%)|\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\n%])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\n%])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#variable_replace"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\n%])","patterns":[{"include":"#variable_delayed_expansion"},{"match":"[^%]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_delayed_expansion":{"patterns":[{"begin":"!(?=[^!]+!)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(!)|\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\n!])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\n!])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#escaped_characters"},{"include":"#variable_replace"},{"include":"#variable"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\n!])","patterns":[{"include":"#variable"},{"match":"[^!]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_replace":{"patterns":[{"match":"[^\\n!%=]+","name":"string.unquoted.batchfile"}]},"variable_substring":{"patterns":[{"captures":{"1":{"name":"constant.numeric.batchfile"},"2":{"name":"punctuation.separator.batchfile"},"3":{"name":"constant.numeric.batchfile"}},"match":"([-+]?\\d+)(?:(,)([-+]?\\d+))?"}]},"variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%)(?:(?i:~[adfnpstxz]*(?:\\$PATH:)?)?\\d|\\*)","name":"variable.parameter.batchfile"},{"include":"#variable"},{"include":"#variable_delayed_expansion"}]}},"scopeName":"source.batchfile"},{"displayName":"XSL","name":"xsl","patterns":[{"begin":"(<)(xsl)((:))(template)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl"},{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\?)\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"(<!)(DOCTYPE)\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.doctype.xml"},"3":{"name":"variable.language.documentroot.xml"}},"end":"\\s*(>)","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\s[^>]*)?></\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"(</?)(?:([-.\\w]+)((:)))?([-.:\\w]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"<!\\[CDATA\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"(<!)(ENTITY)\\s+(%\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\s+(?:SYSTEM|PUBLIC)\\s+)?","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.entity.xml"},"3":{"name":"punctuation.definition.entity.xml"},"4":{"name":"variable.language.entity.xml"},"5":{"name":"keyword.other.entitytype.xml"}},"end":"(>)","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.xml"}},"end":"-->","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\s+)(?:([-.\\w]+)((:)))?([-.:\\w]+)\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml"},{"displayName":"Visual Basic","name":"vb","patterns":[{"match":"\\n","name":"meta.ending-space"},{"include":"#round-brackets"},{"begin":"^(?=\\t)","end":"(?=[^\\t])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}},"match":"(\\t)(\\t)?"}]},{"begin":"^(?= )","end":"(?=[^ ])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}},"match":"(  )(  )?"}]},{"captures":{"1":{"name":"storage.type.function.asp"},"2":{"name":"entity.name.function.asp"},"3":{"name":"punctuation.definition.parameters.asp"},"4":{"name":"variable.parameter.function.asp"},"5":{"name":"punctuation.definition.parameters.asp"}},"match":"^\\s*((?i:function|sub))\\s*([A-Z_a-z]\\w*)\\s*(\\()([^)]*)(\\)).*\\n?","name":"meta.function.asp"},{"begin":"(^[\\t ]+)?(?=')","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.asp"}},"end":"(?!\\G)","patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.comment.asp"}},"end":"\\n","name":"comment.line.apostrophe.asp"}]},{"match":"(?i:\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\b)","name":"keyword.control.asp"},{"match":"(?i:\\b(Mod|And|Not|Or|Xor|as)\\b)","name":"keyword.operator.asp"},{"captures":{"1":{"name":"storage.type.asp"},"2":{"name":"variable.other.bfeac.asp"},"3":{"name":"meta.separator.comma.asp"}},"match":"(?i:(dim)\\s*\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\b\\s*(,?))","name":"variable.other.dim.asp"},{"match":"(?i:\\s*\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\b\\s*)","name":"storage.type.asp"},{"match":"(?i:\\b(Private|Public|Default)\\b)","name":"storage.modifier.asp"},{"match":"(?i:\\s*\\b(Empty|False|Nothing|Null|True)\\b)","name":"constant.language.asp"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asp"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asp"}},"name":"string.quoted.double.asp","patterns":[{"match":"\"\"","name":"constant.character.escape.apostrophe.asp"}]},{"captures":{"1":{"name":"punctuation.definition.variable.asp"}},"match":"(\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\b\\s*","name":"variable.other.asp"},{"match":"(?i:\\b(Application|ObjectContext|Request|Response|Server|Session)\\b)","name":"support.class.asp"},{"match":"(?i:\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\b)","name":"support.class.collection.asp"},{"match":"(?i:\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\b)","name":"support.constant.asp"},{"match":"(?i:\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\b)","name":"support.function.asp"},{"match":"(?i:\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\b)","name":"support.function.event.asp"},{"match":"(?i:(?<=as )\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\b)","name":"support.type.vb.asp"},{"match":"(?i:\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\b)","name":"support.function.vb.asp"},{"match":"-?\\b((0([Xx])\\h*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\b","name":"constant.numeric.asp"},{"match":"(?i:\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\b)","name":"support.type.vb.asp"},{"captures":{"1":{"name":"entity.name.function.asp"}},"match":"(?i:\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\b(?=\\(\\)?))","name":"support.function.asp"},{"match":"(?i:((?<=([-\\&(+,/<=>\\\\]))\\s*\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\b(?!([(.]))|\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\b(?=\\s*([-\\&()+/<=>\\\\]))))","name":"variable.other.asp"},{"match":"[!$%\\&*]|--?|\\+\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\|\\||\\?:|\\*=|/=|%=|\\+=|-=|&=|\\^=|\\b(in|instanceof|new|delete|typeof|void)\\b","name":"keyword.operator.js"}],"repository":{"round-brackets":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.asp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.asp"}},"name":"meta.round-brackets","patterns":[{"include":"source.asp.vb.net"}]}},"scopeName":"source.asp.vb.net"},{"displayName":"SQL","name":"sql","patterns":[{"match":"((?<!@)@)\\b(\\w+)\\b","name":"text.variable"},{"match":"(\\[)[^]]*(])","name":"text.bracketed"},{"include":"#comments"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"},"5":{"name":"entity.name.function.sql"}},"match":"(?i:^\\s*(create(?:\\s+or\\s+replace)?)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)([\"'`]?)(\\w+)\\4","name":"meta.create.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"}},"match":"(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"},"3":{"name":"entity.name.function.sql"},"4":{"name":"keyword.other.cascade.sql"}},"match":"(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"}},"match":"(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)","name":"meta.alter.sql"},{"captures":{"1":{"name":"storage.type.sql"},"2":{"name":"storage.type.sql"},"3":{"name":"constant.numeric.sql"},"4":{"name":"storage.type.sql"},"5":{"name":"constant.numeric.sql"},"6":{"name":"storage.type.sql"},"7":{"name":"constant.numeric.sql"},"8":{"name":"constant.numeric.sql"},"9":{"name":"storage.type.sql"},"10":{"name":"constant.numeric.sql"},"11":{"name":"storage.type.sql"},"12":{"name":"storage.type.sql"},"13":{"name":"storage.type.sql"},"14":{"name":"constant.numeric.sql"},"15":{"name":"storage.type.sql"}},"match":"(?i)\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?|\\b(numeric|decimal)\\b(?:\\((\\d+),(\\d+)\\))?|\\b(times?)\\b(?:\\((\\d+)\\))?(\\swith(?:out)?\\stime\\szone\\b)?|\\b(timestamp)(s|tz)?\\b(?:\\((\\d+)\\))?(\\s(with(?:|out))\\stime\\szone\\b)?"},{"match":"(?i:\\b((?:primary|foreign)\\s+key|references|on\\s+(delete|update)(\\s+cascade)?|nocheck|check|constraint|collate|default)\\b)","name":"storage.modifier.sql"},{"match":"\\b\\d+\\b","name":"constant.numeric.sql"},{"match":"(?i:\\b(select(\\s+(all|distinct))?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\s+by|or|like|and|union(\\s+all)?|having|order\\s+by|limit|cross\\s+join|join|straight_join|(inner|(left|right|full)(\\s+outer)?)\\s+join|natural(\\s+(inner|(left|right|full)(\\s+outer)?))?\\s+join)\\b)","name":"keyword.other.DML.sql"},{"match":"(?i:\\b(on|off|((is\\s+)?not\\s+)?null)\\b)","name":"keyword.other.DDL.create.II.sql"},{"match":"(?i:\\bvalues\\b)","name":"keyword.other.DML.II.sql"},{"match":"(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)","name":"keyword.other.LUW.sql"},{"match":"(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)","name":"keyword.other.authorization.sql"},{"match":"(?i:\\bin\\b)","name":"keyword.other.data-integrity.sql"},{"match":"(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+)","name":"keyword.other.object-comments.sql"},{"match":"(?i)\\bAS\\b","name":"keyword.other.alias.sql"},{"match":"(?i)\\b(DESC|ASC)\\b","name":"keyword.other.order.sql"},{"match":"\\*","name":"keyword.operator.star.sql"},{"match":"[!<>]?=|<>|[<>]","name":"keyword.operator.comparison.sql"},{"match":"[-+/]","name":"keyword.operator.math.sql"},{"match":"\\|\\|","name":"keyword.operator.concatenator.sql"},{"captures":{"1":{"name":"support.function.aggregate.sql"}},"match":"(?i)\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.analytic.sql"}},"match":"(?i)\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.bitmanipulation.sql"}},"match":"(?i)\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.conversion.sql"}},"match":"(?i)\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.collation.sql"}},"match":"(?i)\\b(collationproperty|tertiary_weights)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.cryptographic.sql"}},"match":"(?i)\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.cursor.sql"}},"match":"(?i)\\b(cursor_status)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.datetime.sql"}},"match":"(?i)\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.datatype.sql"}},"match":"(?i)\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.expression.sql"}},"match":"(?i)\\b(coalesce|nullif)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.globalvar.sql"}},"match":"(?<!@)@@(?i)\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.json.sql"}},"match":"(?i)\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.logical.sql"}},"match":"(?i)\\b(choose|iif|greatest|least)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.mathematical.sql"}},"match":"(?i)\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.metadata.sql"}},"match":"(?i)\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.ranking.sql"}},"match":"(?i)\\b(rank|dense_rank|ntile|row_number)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.rowset.sql"}},"match":"(?i)\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.security.sql"}},"match":"(?i)\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.string.sql"}},"match":"(?i)\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.system.sql"}},"match":"(?i)\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.textimage.sql"}},"match":"(?i)\\b(patindex|textptr|textvalid)\\b\\s*\\("},{"captures":{"1":{"name":"support.function.vector.sql"}},"match":"(?i)\\b(vector_(?:distance|norm|normalize))\\b\\s*\\("},{"captures":{"1":{"name":"constant.other.database-name.sql"},"2":{"name":"constant.other.table-name.sql"}},"match":"(\\w+?)\\.(\\w+)"},{"include":"#strings"},{"include":"#regexps"},{"match":"\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\s+or\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime2??|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|sessions??|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablockx??|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|top??|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|values??|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows??|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\b","name":"keyword.other.sql"},{"captures":{"1":{"name":"punctuation.section.scope.begin.sql"},"2":{"name":"punctuation.section.scope.end.sql"}},"match":"(\\()(\\))","name":"meta.block.sql"}],"repository":{"comment-block":{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\*/","name":"comment.block","patterns":[{"include":"#comment-block"}]},"comments":{"patterns":[{"begin":"(^[\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\n","name":"comment.line.double-dash.sql"}]},{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\G)","patterns":[]},{"include":"#comment-block"}]},"regexps":{"patterns":[{"begin":"/(?=\\S.*/)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.sql","patterns":[{"include":"#string_interpolation"},{"match":"\\\\/","name":"constant.character.escape.slash.sql"}]},{"begin":"%r\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.modr.sql","patterns":[{"include":"#string_interpolation"}]}]},"string_escape":{"match":"\\\\.","name":"constant.character.escape.sql"},"string_interpolation":{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(#\\{)([^}]*)(})","name":"string.interpolated.sql"},"strings":{"patterns":[{"captures":{"2":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(?:(?<![0-9A-Z_a-z])(N))?(')[^']*(')","name":"string.quoted.single.sql"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.single.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(`)[^\\\\`]*(`)","name":"string.quoted.other.backtick.sql"},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.other.backtick.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(\")[^\"#]*(\")","name":"string.quoted.double.sql"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.double.sql","patterns":[{"include":"#string_interpolation"}]},{"begin":"%\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.other.quoted.brackets.sql","patterns":[{"include":"#string_interpolation"}]}]}},"scopeName":"source.sql"},{"displayName":"PHP","name":"php","patterns":[{"include":"#attribute"},{"include":"#comments"},{"captures":{"1":{"name":"keyword.other.namespace.php"},"2":{"name":"entity.name.type.namespace.php","patterns":[{"match":"\\\\","name":"punctuation.separator.inheritance.php"}]}},"match":"(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+([0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)(?=\\s*;)","name":"meta.namespace.php"},{"begin":"(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+","beginCaptures":{"1":{"name":"keyword.other.namespace.php"}},"end":"(?<=})|(?=\\?>)","name":"meta.namespace.php","patterns":[{"include":"#comments"},{"captures":{"0":{"patterns":[{"match":"\\\\","name":"punctuation.separator.inheritance.php"}]}},"match":"(?i)[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+","name":"entity.name.type.namespace.php"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.namespace.begin.bracket.curly.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.namespace.end.bracket.curly.php"}},"patterns":[{"include":"$self"}]},{"match":"\\S+","name":"invalid.illegal.identifier.php"}]},{"match":"\\s+(?=use\\b)"},{"begin":"(?i)\\buse\\b","beginCaptures":{"0":{"name":"keyword.other.use.php"}},"end":"(?<=})|(?=;)|(?=\\?>)","name":"meta.use.php","patterns":[{"match":"\\b(const|function)\\b","name":"storage.type.${1:/downcase}.php"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.use.begin.bracket.curly.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.use.end.bracket.curly.php"}},"patterns":[{"include":"#scope-resolution"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.modifier.inheritance.${3:/downcase}.php"},"4":{"name":"storage.modifier.visibility.${4:/downcase}.php"},"5":{"name":"storage.modifier.static.php"},"6":{"name":"entity.other.alias.php"}},"match":"(?i)\\b(as)\\s+((final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"},"3":{"name":"storage.modifier.static.php"}},"match":"(?i)\\b(?:(final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\b","name":"storage.modifier.php"},{"match":".+","name":"entity.other.alias.php"}]}},"match":"(?i)\\b(as)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-insteadof.php"},"2":{"name":"support.class.php"}},"match":"(?i)\\b(insteadof)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"},{"match":";","name":"punctuation.terminator.expression.php"},{"include":"#use-inner"}]},{"include":"#use-inner"}]},{"begin":"(?i)\\b(trait)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)","beginCaptures":{"1":{"name":"storage.type.trait.php"},"2":{"name":"entity.name.type.trait.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.trait.end.bracket.curly.php"}},"name":"meta.trait.php","patterns":[{"include":"#comments"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.trait.begin.bracket.curly.php"}},"contentName":"meta.trait.body.php","end":"(?=}|\\?>)","patterns":[{"include":"$self"}]}]},{"begin":"(?i)\\b(interface)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)","beginCaptures":{"1":{"name":"storage.type.interface.php"},"2":{"name":"entity.name.type.interface.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.interface.end.bracket.curly.php"}},"name":"meta.interface.php","patterns":[{"include":"#comments"},{"include":"#interface-extends"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.interface.begin.bracket.curly.php"}},"contentName":"meta.interface.body.php","end":"(?=}|\\?>)","patterns":[{"include":"#class-constant"},{"include":"$self"}]}]},{"begin":"(?i)\\b(enum)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)(?:\\s*(:)\\s*(int|string)\\b)?","beginCaptures":{"1":{"name":"storage.type.enum.php"},"2":{"name":"entity.name.type.enum.php"},"3":{"name":"keyword.operator.return-value.php"},"4":{"name":"keyword.other.type.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.enum.end.bracket.curly.php"}},"name":"meta.enum.php","patterns":[{"include":"#comments"},{"include":"#class-implements"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.enum.begin.bracket.curly.php"}},"contentName":"meta.enum.body.php","end":"(?=}|\\?>)","patterns":[{"captures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.type.enum.case.php"},"3":{"name":"constant.enum.php"}},"match":"(?i)\\b((case))\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"},{"include":"#class-constant"},{"include":"$self"}]}]},{"begin":"(?i)\\b(?:((?:(?:final|abstract|readonly)\\s+)*)(class)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)|(new)\\b\\s*(#\\[.*])?\\s*(?:((readonly))\\s+)?\\b(class)\\b)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.readonly.php"}},"match":"(?i)(final|abstract)|(readonly)","name":"storage.modifier.php"}]},"2":{"name":"storage.type.class.php"},"3":{"name":"entity.name.type.class.php"},"4":{"name":"keyword.other.new.php"},"5":{"patterns":[{"include":"#attribute"}]},"6":{"name":"storage.modifier.php"},"7":{"name":"storage.modifier.readonly.php"},"8":{"name":"storage.type.class.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.class.end.bracket.curly.php"}},"name":"meta.class.php","patterns":[{"begin":"(?<=class)\\s*(\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"include":"#comments"},{"include":"#class-extends"},{"include":"#class-implements"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.class.begin.bracket.curly.php"}},"contentName":"meta.class.body.php","end":"(?=}|\\?>)","patterns":[{"include":"#class-constant"},{"include":"$self"}]}]},{"include":"#match_statement"},{"include":"#switch_statement"},{"captures":{"1":{"name":"keyword.control.yield-from.php"}},"match":"\\s*\\b(yield\\s+from)\\b"},{"captures":{"1":{"name":"keyword.control.${1:/downcase}.php"}},"match":"\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\b"},{"begin":"(?i)\\b((?:require|include)(?:_once)?)(\\s+|(?=\\())","beginCaptures":{"1":{"name":"keyword.control.import.include.php"}},"end":"(?=[;\\s]|$|\\?>)","name":"meta.include.php","patterns":[{"include":"$self"}]},{"begin":"\\b(catch)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.exception.catch.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"name":"meta.catch.php","patterns":[{"captures":{"1":{"patterns":[{"match":"\\|","name":"punctuation.separator.delimiter.php"},{"begin":"(?i)(?=[\\\\_a-z\\x7F-\\x{10FFFF}])","end":"(?i)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)(?![0-9\\\\_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"support.class.exception.php"}},"patterns":[{"include":"#namespace"}]}]},"2":{"name":"variable.other.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)([0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*\\|\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)*)\\s*((\\$+)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?"}]},{"match":"\\b(catch|try|throw|exception|finally)\\b","name":"keyword.control.exception.php"},{"begin":"(?i)\\b(function)\\s*(?=&?\\s*\\()","beginCaptures":{"1":{"name":"storage.type.function.php"}},"end":"(?=\\s*\\{)","name":"meta.function.closure.php","patterns":[{"include":"#comments"},{"begin":"(&)?\\s*(\\()","beginCaptures":{"1":{"name":"storage.modifier.reference.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"patterns":[{"include":"#function-parameters"}]},{"begin":"(?i)(use)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.function.use.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"name":"meta.function.closure.use.php","patterns":[{"match":",","name":"punctuation.separator.delimiter.php"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((?:(&)\\s*)?(\\$+)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(?=[),])"}]},{"captures":{"1":{"name":"keyword.operator.return-value.php"},"2":{"patterns":[{"include":"#php-types"}]}},"match":"(?i)(:)\\s*((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)(?=\\s*(?:\\{|/[*/]|#|$))"}]},{"begin":"(?i)\\b(fn)\\s*(?=&?\\s*\\()","beginCaptures":{"1":{"name":"storage.type.function.php"}},"end":"=>","endCaptures":{"0":{"name":"punctuation.definition.arrow.php"}},"name":"meta.function.closure.php","patterns":[{"begin":"(?:(&)\\s*)?(\\()","beginCaptures":{"1":{"name":"storage.modifier.reference.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"patterns":[{"include":"#function-parameters"}]},{"captures":{"1":{"name":"keyword.operator.return-value.php"},"2":{"patterns":[{"include":"#php-types"}]}},"match":"(?i)(:)\\s*((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)(?=\\s*(?:=>|/[*/]|#|$))"}]},{"begin":"((?:(?:final|abstract|public|private|protected)\\s+)*)(function)\\s+(__construct)\\s*(\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"}},"match":"(?i)(final|abstract)|(p(?:ublic|rivate|rotected))","name":"storage.modifier.php"}]},"2":{"name":"storage.type.function.php"},"3":{"name":"support.function.constructor.php"},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"(?i)(\\))\\s*(:\\s*(?:\\?\\s*)?(?!\\s)[\\&()0-9\\\\_a-z|\\x7F-\\x{10FFFF}\\s]+(?<!\\s))?(?=\\s*(?:\\{|/[*/]|#|$|;))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.bracket.round.php"},"2":{"name":"invalid.illegal.return-type.php"}},"name":"meta.function.php","patterns":[{"include":"#comments"},{"match":",","name":"punctuation.separator.delimiter.php"},{"begin":"(?i)((?:(?:p(?:ublic|rivate|rotected)(?:\\(set\\))?|readonly)(?:\\s+|(?=\\?)))++)(?:((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)\\s+)?((?:(&)\\s*)?(\\$)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.visibility.set.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.readonly.php"}},"match":"(?i)\\b((p(?:ublic|rivate|rotected))\\(set\\))|\\b(p(?:ublic|rivate|rotected))\\b|\\b(readonly)\\b","name":"storage.modifier.php"}]},"2":{"patterns":[{"include":"#php-types"}]},"3":{"name":"variable.other.php"},"4":{"name":"storage.modifier.reference.php"},"5":{"name":"punctuation.definition.variable.php"}},"end":"(?=\\s*(?:[),]|/[*/]|#))","name":"meta.function.parameter.promoted-property.php","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.php"}},"end":"(?=\\s*(?:[),]|/[*/]|#))","patterns":[{"include":"#parameter-default-types"}]}]},{"include":"#function-parameters"}]},{"begin":"((?:(?:final|abstract|public|private|protected|static)\\s+)*)(function)\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|toString|clone|set_state|sleep|wakeup|autoload|invoke|callStatic|serialize|unserialize))|(&)?\\s*([A-Z_a-z\\x7F-\\x{10FFFF}][0-9A-Z_a-z\\x7F-\\x{10FFFF}]*))\\s*(\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"},"3":{"name":"storage.modifier.static.php"}},"match":"(?i)(final|abstract)|(p(?:ublic|rivate|rotected))|(static)","name":"storage.modifier.php"}]},"2":{"name":"storage.type.function.php"},"3":{"name":"support.function.magic.php"},"4":{"name":"storage.modifier.reference.php"},"5":{"name":"entity.name.function.php"},"6":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"(?i)(\\))(?:\\s*(:)\\s*((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+))?(?=\\s*(?:\\{|/[*/]|#|$|;))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.bracket.round.php"},"2":{"name":"keyword.operator.return-value.php"},"3":{"patterns":[{"match":"\\b(static)\\b","name":"storage.type.php"},{"match":"\\b(never)\\b","name":"keyword.other.type.never.php"},{"include":"#php-types"}]}},"name":"meta.function.php","patterns":[{"include":"#function-parameters"}]},{"captures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.visibility.set.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.${4:/downcase}.php"}},"match":"(?i)\\b((p(?:ublic|rivate|rotected))\\(set\\))|\\b(p(?:ublic|rivate|rotected))\\b|\\b(readonly|static)\\b","name":"storage.modifier.php"}]},"2":{"patterns":[{"include":"#php-types"}]},"3":{"name":"variable.other.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((?:(?:p(?:ublic|rivate|rotected)(?:\\(set\\))?|static|readonly)(?:\\s+|(?=\\?)))++)((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)?\\s+((\\$)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"},{"include":"#invoke-call"},{"include":"#scope-resolution"},{"include":"#variables"},{"include":"#strings"},{"captures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"},"3":{"name":"punctuation.definition.array.end.bracket.round.php"}},"match":"(array)(\\()(\\))","name":"meta.array.empty.php"},{"begin":"(array)\\s*(\\()","beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.array.php","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.storage-type.begin.bracket.round.php"},"2":{"name":"storage.type.php"},"3":{"name":"storage.type.cast.${3:/downcase}.php"},"5":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\()\\s*((bool|int|float|string|array|object)|(binary|boolean|integer|double|real|unset))\\s*(\\))"},{"match":"(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\b","name":"storage.type.php"},{"match":"(?i)\\bconst\\b","name":"storage.type.const.php"},{"captures":{"1":{"name":"storage.modifier.global.php"},"2":{"name":"storage.modifier.inheritance.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.static.php"}},"match":"(?i)\\b(?:(global)|(abstract|final)|(p(?:rivate|rotected|ublic))|(static))\\b","name":"storage.modifier.php"},{"include":"#object"},{"match":";","name":"punctuation.terminator.expression.php"},{"match":":","name":"punctuation.terminator.statement.php"},{"include":"#heredoc"},{"include":"#numbers"},{"match":"(?i)\\bclone\\b","name":"keyword.other.clone.php"},{"match":"\\.\\.\\.","name":"keyword.operator.spread.php"},{"match":"\\.=?","name":"keyword.operator.string.php"},{"match":"=>","name":"keyword.operator.key.php"},{"captures":{"1":{"name":"keyword.operator.assignment.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"storage.modifier.reference.php"}},"match":"(?i)(=)(&)|(&)(?=[$_a-z])"},{"match":"@","name":"keyword.operator.error-control.php"},{"match":"===?|!==?|<>","name":"keyword.operator.comparison.php"},{"match":"(?:|[-+]|\\*\\*?|[%\\&/^|]|<<|>>|\\?\\?)=","name":"keyword.operator.assignment.php"},{"match":"<=>?|>=|[<>]","name":"keyword.operator.comparison.php"},{"match":"--|\\+\\+","name":"keyword.operator.increment-decrement.php"},{"match":"[-+]|\\*\\*?|[%/]","name":"keyword.operator.arithmetic.php"},{"match":"(?i)(!|&&|\\|\\|)|\\b(and|or|xor)\\b","name":"keyword.operator.logical.php"},{"match":"(?i)\\bas\\b","name":"keyword.operator.as.php"},{"include":"#function-call"},{"match":"<<|>>|[\\&^|~]","name":"keyword.operator.bitwise.php"},{"begin":"(?i)\\b(instanceof)\\s+(?=[$\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.operator.type.php"}},"end":"(?i)(?=[^$0-9\\\\_a-z\\x7F-\\x{10FFFF}])","patterns":[{"include":"#class-name"},{"include":"#variable-name"}]},{"include":"#instantiation"},{"captures":{"1":{"name":"keyword.control.goto.php"},"2":{"name":"support.other.php"}},"match":"(?i)(goto)\\s+([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"},{"captures":{"1":{"name":"entity.name.goto-label.php"}},"match":"(?i)^\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*(?<!default|else))\\s*:(?!:)"},{"include":"#string-backtick"},{"include":"#ternary_shorthand"},{"include":"#null_coalescing"},{"include":"#ternary_expression"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"end":"]|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.section.array.end.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.php"}},"patterns":[{"include":"$self"}]},{"include":"#constants"},{"match":",","name":"punctuation.separator.delimiter.php"}],"repository":{"attribute":{"begin":"#\\[","end":"]","name":"meta.attribute.php","patterns":[{"match":",","name":"punctuation.separator.delimiter.php"},{"begin":"([0-9A-Z\\\\_a-z\\x7F-\\x{10FFFF}]+)\\s*(\\()","beginCaptures":{"1":{"patterns":[{"include":"#attribute-name"}]},"2":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"include":"#attribute-name"}]},"attribute-name":{"patterns":[{"begin":"(?i)(?=\\\\?[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*\\\\)","end":"(?i)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"support.attribute.php"}},"patterns":[{"include":"#namespace"}]},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\)?\\b(Attribute|SensitiveParameter|AllowDynamicProperties|ReturnTypeWillChange|Override|Deprecated)\\b","name":"support.attribute.builtin.php"},{"begin":"(?i)(?=[\\\\_a-z\\x7F-\\x{10FFFF}])","end":"(?i)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"support.attribute.php"}},"patterns":[{"include":"#namespace"}]}]},"class-builtin":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\)?\\b(Attribute|(A(?:PC|ppend))Iterator|Array(Access|Iterator|Object)|Bad(Function|Method)CallException|(Ca(?:ching|llbackFilter))Iterator|Collator|Collectable|Cond|Countable|CURLFile|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference|Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)|(Error)?Exception|EmptyIterator|finfo|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|FANNConnection|(Fil(?:ter|esystem))Iterator|Gender\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)|Http(((?:In|De)flate)?Stream|Message|Request(Pool)?|Response|QueryString)|HRTime\\\\(PerformanceCounter|StopWatch)|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)|Imagick(Draw|Pixel(Iterator)?)?|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?|JsonSerializable|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))|Lapack|(L(?:ength|ocale|ogic))Exception|LimitIterator|Lua(Closure)?|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch|Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp|UpdateBatch|Write(Batch|ConcernException))?|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex|mysqli(_(driver|stmt|warning|result))?|MysqlndUh(Connection|PreparedStatement)|NoRewindIterator|Normalizer|NumberFormatter|OCI-(Collection|Lob)|OuterIterator|(O(?:utOf(Bounds|Range)|verflow))Exception|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool|QuickHash(Int(S(?:et|tringHash))|StringIntHash)|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator|Reflection(Attribute|Class(Constant)?|Constant|Enum((?:Unit|Backed)Case)?|Fiber|Function(Abstract)?|Generator|(Named|Union|Intersection)?Type|Method|Object|Parameter|Property|Reference|(Zend)?Extension)?|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)|SAM(Connection|Message)|SCA(_((?:Soap|Local)Proxy))?|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)|Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP|Soap(Client|Fault|Header|Param|Server|Var)|SphinxClient|Spoofchecker|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(M(?:ax|in))?Heap|Observer|ObjectStorage|(Priority)?Queue|Stack|Subject|Type|TempFileObject)|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable|UConverter|(Un(?:derflow|expectedValue))Exception|V8Js(Exception)?|Varnish(Admin|Log|Stat)|Worker|Weak(Map|Ref)|XML(Diff\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)|Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract|Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)|Response_Abstract|Router|Session|View_(Simple|Interface))|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\b","name":"support.class.builtin.php"}]},"class-constant":{"patterns":[{"captures":{"1":{"name":"storage.type.const.php"},"2":{"patterns":[{"include":"#php-types"}]},"3":{"name":"constant.other.php"}},"match":"(?i)\\b(const)\\s+(?:((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)\\s+)?([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)"}]},"class-extends":{"patterns":[{"begin":"(?i)(extends)\\s+","beginCaptures":{"1":{"name":"storage.modifier.extends.php"}},"end":"(?i)(?=[^0-9A-Z\\\\_a-z\\x7F-\\x{10FFFF}])","patterns":[{"include":"#comments"},{"include":"#inheritance-single"}]}]},"class-implements":{"patterns":[{"begin":"(?i)(implements)\\s+","beginCaptures":{"1":{"name":"storage.modifier.implements.php"}},"end":"(?i)(?=\\{)","patterns":[{"include":"#comments"},{"match":",","name":"punctuation.separator.classes.php"},{"include":"#inheritance-single"}]}]},"class-name":{"patterns":[{"begin":"(?i)(?=\\\\?[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*\\\\)","end":"(?i)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"support.class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"begin":"(?i)(?=[\\\\_a-z\\x7F-\\x{10FFFF}])","end":"(?i)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"support.class.php"}},"patterns":[{"include":"#namespace"}]}]},"comments":{"patterns":[{"begin":"/\\*\\*(?=\\s)","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.block.documentation.phpdoc.php","patterns":[{"include":"#php_doc"}]},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\*/","name":"comment.block.php"},{"begin":"(^\\s+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\n|(?=\\?>)","name":"comment.line.double-slash.php"}]},{"begin":"(^\\s+)?(?=#)(?!#\\[)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\n|(?=\\?>)","name":"comment.line.number-sign.php"}]}]},"constants":{"patterns":[{"match":"(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b","name":"constant.language.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\)?\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\b","name":"support.constant.core.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\)?\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\b","name":"support.constant.std.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\)?\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\b","name":"support.constant.ext.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\)?\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\b","name":"support.constant.parser-token.php"},{"match":"(?i)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*","name":"constant.other.php"}]},"function-call":{"patterns":[{"begin":"(\\\\?(?<![0-9A-Z_a-z\\x7F-\\x{10FFFF}])[A-Z_a-z\\x7F-\\x{10FFFF}][0-9A-Z_a-z\\x7F-\\x{10FFFF}]*(?:\\\\[A-Z_a-z\\x7F-\\x{10FFFF}][0-9A-Z_a-z\\x7F-\\x{10FFFF}]*)+)\\s*(\\()","beginCaptures":{"1":{"patterns":[{"include":"#namespace"},{"match":"(?i)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*","name":"entity.name.function.php"}]},"2":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"begin":"(\\\\)?(?<![0-9A-Z_a-z\\x7F-\\x{10FFFF}])([A-Z_a-z\\x7F-\\x{10FFFF}][0-9A-Z_a-z\\x7F-\\x{10FFFF}]*)\\s*(\\()","beginCaptures":{"1":{"patterns":[{"include":"#namespace"}]},"2":{"patterns":[{"include":"#support"},{"match":"(?i)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*","name":"entity.name.function.php"}]},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"match":"(?i)\\b(print|echo)\\b","name":"support.function.construct.output.php"}]},"function-parameters":{"patterns":[{"include":"#attribute"},{"include":"#comments"},{"match":",","name":"punctuation.separator.delimiter.php"},{"captures":{"1":{"patterns":[{"include":"#php-types"}]},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"keyword.operator.variadic.php"},"5":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(?:((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)\\s+)?((?:(&)\\s*)?(\\.\\.\\.)(\\$)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)(?=\\s*(?:[),]|/[*/]|#|$))","name":"meta.function.parameter.variadic.php"},{"begin":"(?i)((?:\\?\\s*)?[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\))(?:\\s*[\\&|]\\s*(?:[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+|\\(\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(?:\\s*&\\s*[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)+\\s*\\)))+)\\s+((?:(&)\\s*)?(\\$)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)","beginCaptures":{"1":{"patterns":[{"include":"#php-types"}]},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"punctuation.definition.variable.php"}},"end":"(?=\\s*(?:[),]|/[*/]|#))","name":"meta.function.parameter.typehinted.php","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.php"}},"end":"(?=\\s*(?:[),]|/[*/]|#))","patterns":[{"include":"#parameter-default-types"}]}]},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((?:(&)\\s*)?(\\$)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)(?=\\s*(?:[),]|/[*/]|#|$))","name":"meta.function.parameter.no-default.php"},{"begin":"(?i)((?:(&)\\s*)?(\\$)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(=)\\s*","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"},"4":{"name":"keyword.operator.assignment.php"}},"end":"(?=\\s*(?:[),]|/[*/]|#))","name":"meta.function.parameter.default.php","patterns":[{"include":"#parameter-default-types"}]}]},"heredoc":{"patterns":[{"begin":"(?i)(?=<<<\\s*(\"?)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)(\\1)\\s*$)","end":"(?!\\G)","name":"string.unquoted.heredoc.php","patterns":[{"include":"#heredoc_interior"}]},{"begin":"(?=<<<\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\s*$)","end":"(?!\\G)","name":"string.unquoted.nowdoc.php","patterns":[{"include":"#nowdoc_interior"}]}]},"heredoc_interior":{"patterns":[{"begin":"(<<<)\\s*(\"?)(HTML)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.html","patterns":[{"include":"#interpolation"},{"include":"text.html.basic"}]},{"begin":"(<<<)\\s*(\"?)(XML)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.xml","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.xml","patterns":[{"include":"#interpolation"},{"include":"text.xml"}]},{"begin":"(<<<)\\s*(\"?)([DS]QL)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.sql","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.sql","patterns":[{"include":"#interpolation"},{"include":"source.sql"}]},{"begin":"(<<<)\\s*(\"?)(J(?:AVASCRIPT|S))(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.js","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.js","patterns":[{"include":"#interpolation"},{"include":"source.js"}]},{"begin":"(<<<)\\s*(\"?)(JSON)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.json","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.json","patterns":[{"include":"#interpolation"},{"include":"source.json"}]},{"begin":"(<<<)\\s*(\"?)(CSS)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.css","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.css","patterns":[{"include":"#interpolation"},{"include":"source.css"}]},{"begin":"(<<<)\\s*(\"?)(REGEXP?)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"string.regexp.heredoc.php","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"patterns":[{"include":"#interpolation"},{"match":"(\\\\){1,2}[]$.\\[^{}]","name":"constant.character.escape.regex.php"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}},"match":"(\\{)\\d+(,\\d+)?(})","name":"string.regexp.arbitrary-repitition.php"},{"begin":"\\[(?:\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\[]'\\[\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"},{"begin":"(?i)(?<=^|\\s)(#)\\s(?=[-\\t !,.0-9?_a-z\\x7F-\\x{10FFFF}[^\\x00-\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.line.number-sign.php"}]},{"begin":"(<<<)\\s*(\"?)(BLADE)(\\2)(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html.php.blade","end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.php.blade","patterns":[{"include":"#interpolation"}]},{"begin":"(?i)(<<<)\\s*(\"?)([_a-z\\x7F-\\x{10FFFF}]+[0-9_a-z\\x7F-\\x{10FFFF}]*)(\\2)(\\s*)","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"end":"^\\s*(\\3)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"keyword.operator.heredoc.php"}},"patterns":[{"include":"#interpolation"}]}]},"inheritance-single":{"patterns":[{"begin":"(?i)(?=\\\\?[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*\\\\)","end":"(?i)([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?(?=[^0-9\\\\_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"entity.other.inherited-class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"include":"#namespace"},{"match":"(?i)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*","name":"entity.other.inherited-class.php"}]},"instantiation":{"patterns":[{"captures":{"1":{"name":"keyword.other.new.php"},"2":{"patterns":[{"match":"(?i)(parent|static|self)(?![0-9_a-z\\x7F-\\x{10FFFF}])","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]}},"match":"(?i)(new)\\s+(?!class\\b)([$0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)(?![(0-9\\\\_a-z\\x7F-\\x{10FFFF}])"},{"begin":"(?i)(new)\\s+(?!class\\b)([$0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other.new.php"},"2":{"patterns":[{"match":"(?i)(parent|static|self)(?![0-9_a-z\\x7F-\\x{10FFFF}])","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"contentName":"meta.function-call.php","end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"patterns":[{"include":"#named-arguments"},{"include":"$self"}]}]},"interface-extends":{"patterns":[{"begin":"(?i)(extends)\\s+","beginCaptures":{"1":{"name":"storage.modifier.extends.php"}},"end":"(?i)(?=\\{)","patterns":[{"include":"#comments"},{"match":",","name":"punctuation.separator.classes.php"},{"include":"#inheritance-single"}]}]},"interpolation":{"patterns":[{"match":"\\\\[0-7]{1,3}","name":"constant.character.escape.octal.php"},{"match":"\\\\x\\h{1,2}","name":"constant.character.escape.hex.php"},{"match":"\\\\u\\{\\h+}","name":"constant.character.escape.unicode.php"},{"match":"\\\\[$\\\\efnrtv]","name":"constant.character.escape.php"},{"begin":"\\{(?=\\$.*?})","beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"$self"}]},{"include":"#variable-name"}]},"interpolation_double_quoted":{"patterns":[{"match":"\\\\\"","name":"constant.character.escape.php"},{"include":"#interpolation"}]},"invoke-call":{"begin":"(?i)((\\$+)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(\\()","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.invoke.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},"match_statement":{"patterns":[{"match":"\\s+(?=match\\b)"},{"begin":"\\bmatch\\b","beginCaptures":{"0":{"name":"keyword.control.match.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.section.match-block.end.bracket.curly.php"}},"name":"meta.match-statement.php","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.match-expression.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.match-expression.end.bracket.round.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.section.match-block.begin.bracket.curly.php"}},"end":"(?=}|\\?>)","patterns":[{"match":"=>","name":"keyword.definition.arrow.php"},{"include":"$self"}]}]}]},"named-arguments":{"captures":{"1":{"name":"entity.name.variable.parameter.php"},"2":{"name":"punctuation.separator.colon.php"}},"match":"(?i)(?<=^|[(,])\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(:)(?!:)"},"namespace":{"begin":"(?i)(?:(namespace)|[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?(\\\\)","beginCaptures":{"1":{"name":"variable.language.namespace.php"},"2":{"name":"punctuation.separator.inheritance.php"}},"end":"(?i)(?![0-9_a-z\\x7F-\\x{10FFFF}]*\\\\)","name":"support.other.namespace.php","patterns":[{"match":"\\\\","name":"punctuation.separator.inheritance.php"}]},"nowdoc_interior":{"patterns":[{"begin":"(<<<)\\s*'(HTML)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.html","patterns":[{"include":"text.html.basic"}]},{"begin":"(<<<)\\s*'(XML)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.xml","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.xml","patterns":[{"include":"text.xml"}]},{"begin":"(<<<)\\s*'([DS]QL)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.sql","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.sql","patterns":[{"include":"source.sql"}]},{"begin":"(<<<)\\s*'(J(?:AVASCRIPT|S))'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.js","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.js","patterns":[{"include":"source.js"}]},{"begin":"(<<<)\\s*'(JSON)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.json","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.json","patterns":[{"include":"source.json"}]},{"begin":"(<<<)\\s*'(CSS)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.css","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.css","patterns":[{"include":"source.css"}]},{"begin":"(<<<)\\s*'(REGEXP?)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"string.regexp.nowdoc.php","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"patterns":[{"match":"(\\\\){1,2}[]$.\\[^{}]","name":"constant.character.escape.regex.php"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}},"match":"(\\{)\\d+(,\\d+)?(})","name":"string.regexp.arbitrary-repitition.php"},{"begin":"\\[(?:\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\[]'\\[\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"},{"begin":"(?i)(?<=^|\\s)(#)\\s(?=[-\\t !,.0-9?_a-z\\x7F-\\x{10FFFF}[^\\x00-\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.line.number-sign.php"}]},{"begin":"(<<<)\\s*'(BLADE)'(\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html.php.blade","end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.php.blade"},{"begin":"(?i)(<<<)\\s*'([_a-z\\x7F-\\x{10FFFF}]+[0-9_a-z\\x7F-\\x{10FFFF}]*)'(\\s*)","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"end":"^\\s*(\\2)(?![0-9A-Z_a-z\\x7F-\\x{10FFFF}])","endCaptures":{"1":{"name":"keyword.operator.nowdoc.php"}}}]},"null_coalescing":{"match":"\\?\\?","name":"keyword.operator.null-coalescing.php"},"numbers":{"patterns":[{"match":"0[Xx]\\h+(?:_\\h+)*","name":"constant.numeric.hex.php"},{"match":"0[Bb][01]+(?:_[01]+)*","name":"constant.numeric.binary.php"},{"match":"0[Oo][0-7]+(?:_[0-7]+)*","name":"constant.numeric.octal.php"},{"match":"0(?:_?[0-7]+)+","name":"constant.numeric.octal.php"},{"captures":{"1":{"name":"punctuation.separator.decimal.period.php"},"2":{"name":"punctuation.separator.decimal.period.php"}},"match":"(?:[0-9]+(?:_[0-9]+)*)?(\\.)[0-9]+(?:_[0-9]+)*(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*(\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*[Ee][-+]?[0-9]+(?:_[0-9]+)*","name":"constant.numeric.decimal.php"},{"match":"0|[1-9](?:_?[0-9]+)*","name":"constant.numeric.decimal.php"}]},"object":{"patterns":[{"begin":"(\\??->)\\s*(\\$?\\{)","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"$self"}]},{"begin":"(?i)(\\??->)\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.method-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.property.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(\\??->)\\s*((\\$+)?[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?"}]},"parameter-default-types":{"patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#string-backtick"},{"include":"#variables"},{"match":"=>","name":"keyword.operator.key.php"},{"match":"=","name":"keyword.operator.assignment.php"},{"match":"&(?=\\s*\\$)","name":"storage.modifier.reference.php"},{"begin":"(array)\\s*(\\()","beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.array.php","patterns":[{"include":"#parameter-default-types"}]},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"end":"]|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.section.array.end.php"}},"patterns":[{"include":"$self"}]},{"include":"#instantiation"},{"begin":"(?i)(?=[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+(::)\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?)","end":"(?i)(::)\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)?","endCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"constant.other.class.php"}},"patterns":[{"include":"#class-name"}]},{"include":"#constants"}]},"php-types":{"patterns":[{"match":"\\?","name":"keyword.operator.nullable-type.php"},{"match":"[\\&|]","name":"punctuation.separator.delimiter.php"},{"match":"(?i)\\b(null|int|float|bool|string|array|object|callable|iterable|true|false|mixed|void)\\b","name":"keyword.other.type.php"},{"match":"(?i)\\b(parent|self)\\b","name":"storage.type.php"},{"match":"\\(","name":"punctuation.definition.type.begin.bracket.round.php"},{"match":"\\)","name":"punctuation.definition.type.end.bracket.round.php"},{"include":"#class-name"}]},"php_doc":{"patterns":[{"match":"^(?!\\s*\\*).*?(?:(?=\\*/)|$\\n?)","name":"invalid.illegal.missing-asterisk.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\s*\\*\\s*(@access)\\s+(?i:((p(?:ublic|rivate|rotected)))|(.+))\\s*$"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"2":{"name":"markup.underline.link.php"}},"match":"(@xlink)\\s+(.+)\\s*$"},{"begin":"(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[(?A-Z\\\\_a-z\\x7F-\\x{10FFFF}])","beginCaptures":{"1":{"name":"keyword.other.phpdoc.php"}},"contentName":"meta.other.type.phpdoc.php","end":"(?=\\s|\\*/)","patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"},{"match":"[\\&|]","name":"punctuation.separator.delimiter.php"}]},{"match":"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\b","name":"keyword.other.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"}},"match":"\\{(@(link|inherit[Dd]oc)).+?}","name":"meta.tag.inline.phpdoc.php"}]},"php_doc_types":{"captures":{"0":{"patterns":[{"match":"\\?","name":"keyword.operator.nullable-type.php"},{"match":"\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self|static)\\b","name":"keyword.other.type.php"},{"include":"#class-name"},{"match":"[\\&|]","name":"punctuation.separator.delimiter.php"}]}},"match":"(?i)\\??[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+([\\&|]\\??[0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)*"},"php_doc_types_array_multiple":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.bracket.round.phpdoc.php"}},"end":"(\\))(\\[])?|(?=\\*/)","endCaptures":{"1":{"name":"punctuation.definition.type.end.bracket.round.phpdoc.php"},"2":{"name":"keyword.other.array.phpdoc.php"}},"patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"},{"match":"[\\&|]","name":"punctuation.separator.delimiter.php"}]},"php_doc_types_array_single":{"captures":{"1":{"patterns":[{"include":"#php_doc_types"}]},"2":{"name":"keyword.other.array.phpdoc.php"}},"match":"(?i)([0-9\\\\_a-z\\x7F-\\x{10FFFF}]+)(\\[])"},"regex-double-quoted":{"begin":"\"/(?=(\\\\.|[^\"/])++/[ADSUXeimsux]*\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.double-quoted.php","patterns":[{"match":"(\\\\){1,2}[]$.\\[^{}]","name":"constant.character.escape.regex.php"},{"include":"#interpolation_double_quoted"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\{)\\d+(,\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\[(?:\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"include":"#interpolation_double_quoted"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"regex-single-quoted":{"begin":"'/(?=(\\\\(?:\\\\(?:\\\\['\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(')","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.single-quoted.php","patterns":[{"include":"#single_quote_regex_escape"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\{)\\d+(,\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\[(?:\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php"},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"scope-resolution":{"patterns":[{"captures":{"1":{"patterns":[{"match":"\\b(self|static|parent)\\b","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]}},"match":"([A-Z\\\\_a-z\\x7F-\\x{10FFFF}][0-9A-Z\\\\_a-z\\x7F-\\x{10FFFF}]*)(?=\\s*::)"},{"begin":"(?i)(::)\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.method-call.static.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"keyword.other.class.php"}},"match":"(?i)(::)\\s*(class)\\b"},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.class.php"},"3":{"name":"punctuation.definition.variable.php"},"4":{"name":"constant.other.class.php"}},"match":"(?i)(::)\\s*(?:((\\$+)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)|([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*))?"}]},"single_quote_regex_escape":{"match":"\\\\(?:\\\\(?:\\\\['\\\\]?|[^'])|.)","name":"constant.character.escape.php"},"sql-string-double-quoted":{"begin":"\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.sql.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(#)(\\\\\"|[^\"])*(?=\"|$)","name":"comment.line.number-sign.sql"},{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(--)(\\\\\"|[^\"])*(?=\"|$)","name":"comment.line.double-dash.sql"},{"match":"\\\\[\"'\\\\`]","name":"constant.character.escape.php"},{"match":"'(?=((\\\\')|[^\"'])*(\"|$))","name":"string.quoted.single.unclosed.sql"},{"match":"`(?=((\\\\`)|[^\"`])*(\"|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"begin":"'","end":"'","name":"string.quoted.single.sql","patterns":[{"include":"#interpolation_double_quoted"}]},{"begin":"`","end":"`","name":"string.quoted.other.backtick.sql","patterns":[{"include":"#interpolation_double_quoted"}]},{"include":"#interpolation_double_quoted"},{"include":"source.sql"}]},"sql-string-single-quoted":{"begin":"'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.sql.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(#)(\\\\'|[^'])*(?='|$)","name":"comment.line.number-sign.sql"},{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(--)(\\\\'|[^'])*(?='|$)","name":"comment.line.double-dash.sql"},{"match":"\\\\[\"'\\\\`]","name":"constant.character.escape.php"},{"match":"N(?=')"},{"match":"`(?=((\\\\`)|[^'`])*('|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"match":"\"(?=((\\\\\")|[^\"'])*('|$))","name":"string.quoted.double.unclosed.sql"},{"include":"source.sql"}]},"string-backtick":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.interpolated.php","patterns":[{"match":"\\\\`","name":"constant.character.escape.php"},{"include":"#interpolation"}]},"string-double-quoted":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.php","patterns":[{"include":"#interpolation_double_quoted"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.php","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.php"}]},"strings":{"patterns":[{"include":"#regex-double-quoted"},{"include":"#sql-string-double-quoted"},{"include":"#string-double-quoted"},{"include":"#regex-single-quoted"},{"include":"#sql-string-single-quoted"},{"include":"#string-single-quoted"}]},"support":{"patterns":[{"match":"(?i)\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\b","name":"support.function.apc.php"},{"match":"(?i)\\b(compact|count|current|end|extract|in_array|key(_exists)?|list|nat(case)?sort|next|pos|prev|range|reset|shuffle|sizeof|[ak]?r?sort|u[ak]?sort|array_(all|any|change_key_case|chunk|column|combine|count_values|fill(_keys)?|filter|find(_key)?|flip|is_list|key_(exists|first|last)|keys|map|multisort|pad|pop|product|push|rand|reduce|reverse|search|shift|slice|splice|sum|unique|unshift|values|u?(diff|intersect)(_u?(key|assoc))?|(walk|replace|merge)(_recursive)?))\\b","name":"support.function.array.php"},{"match":"(?i)\\b(connection_(aborted|status)|constant|defined?|die|eval|exit|get_browser|__halt_compiler|highlight_(file|string)|hrtime|ignore_user_abort|pack|php_strip_whitespace|show_source|u?sleep|sys_getloadavg|time_(nanosleep|sleep_until)|uniqid|unpack)\\b","name":"support.function.basic_functions.php"},{"match":"(?i)\\bbc(add|ceil|comp|(div|pow)(mod)?|floor|mod|mul|round|scale|sqrt|sub)\\b","name":"support.function.bcmath.php"},{"match":"(?i)\\bblenc_encrypt\\b","name":"support.function.blenc.php"},{"match":"(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b","name":"support.function.bz2.php"},{"match":"(?i)\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\b","name":"support.function.calendar.php"},{"match":"(?i)\\b(__autoload|class_alias|(class|interface|method|property|trait|enum)_exists|is_(a|subclass_of)|get_(class(_(vars|methods))?|(called|parent)_class|(mangled_)?object_vars|declared_(classes|interfaces|traits)))\\b","name":"support.function.classobj.php"},{"match":"(?i)\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\b","name":"support.function.com.php"},{"match":"(?i)\\b(isset|unset|eval|empty|list)\\b","name":"support.function.construct.php"},{"match":"(?i)\\b(print|echo)\\b","name":"support.function.construct.output.php"},{"match":"(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b","name":"support.function.ctype.php"},{"match":"(?i)\\bcurl_(close|copy_handle|errno|error|escape|exec|getinfo|init|pause|reset|setopt(_array)?|strerror|unescape|upkeep|version|multi_((add|remove)_handle|close|errno|exec|getcontent|info_read|init|select|setopt|strerror)|share_(close|errno|init(_persistent)?|setopt|strerror))\\b","name":"support.function.curl.php"},{"match":"(?i)\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_immutable)?(_from_format)?|timestamp_[gs]et|timezone_[gs]et|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_[gs]et|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\b","name":"support.function.datetime.php"},{"match":"(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b","name":"support.function.dba.php"},{"match":"(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b","name":"support.function.dbx.php"},{"match":"(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b","name":"support.function.dir.php"},{"match":"(?i)\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\b","name":"support.function.eio.php"},{"match":"(?i)\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\b","name":"support.function.enchant.php"},{"match":"(?i)\\b(split(i)?|sql_regcase|ereg(i)?(_replace)?)\\b","name":"support.function.ereg.php"},{"match":"(?i)\\b((restore|set)_(e(?:rror|xception))_handler|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|(clear|get)_last))\\b","name":"support.function.errorfunc.php"},{"match":"(?i)\\b(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)\\b","name":"support.function.exec.php"},{"match":"(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b","name":"support.function.exif.php"},{"match":"(?i)\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\b","name":"support.function.fann.php"},{"match":"(?i)\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename|f(data)?sync)\\b","name":"support.function.file.php"},{"match":"(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b","name":"support.function.fileinfo.php"},{"match":"(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b","name":"support.function.filter.php"},{"match":"(?i)\\b(f(?:astcgi_finish_request|pm_get_status))\\b","name":"support.function.fpm.php"},{"match":"(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b","name":"support.function.funchand.php"},{"match":"(?i)\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\b","name":"support.function.gettext.php"},{"match":"(?i)\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_(square|power)|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range|seed))?|gcd(ext)?|xor|mod|mul|binomial|kronecker|lcm)\\b","name":"support.function.gmp.php"},{"match":"(?i)\\bhash(_(algos|copy|equals|file|final|hkdf|hmac(_(file|algos)?)?|init|pbkdf2|update(_(file|stream))?))?\\b","name":"support.function.hash.php"},{"match":"(?i)\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\b","name":"support.function.http.php"},{"match":"(?i)\\b(iconv(_(str(pos|len|rpos)|substr|[gs]et_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b","name":"support.function.iconv.php"},{"match":"(?i)\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b","name":"support.function.iisfunc.php"},{"match":"(?i)\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(clip|style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(avif|bmp|string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|tga|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd2?|gammacorrect|grab(screen|window)|xbm|resolution|openpolygon|get(clip|interpolation)|avif|bmp))\\b","name":"support.function.image.php"},{"match":"(?i)\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_[gs]et_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\b","name":"support.function.info.php"},{"match":"(?i)\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\b","name":"support.function.interbase.php"},{"match":"(?i)\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len|_split)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\b","name":"support.function.intl.php"},{"match":"(?i)\\bjson_(decode|encode|last_error(_msg)?|validate)\\b","name":"support.function.json.php"},{"match":"(?i)\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\b","name":"support.function.ldap.php"},{"match":"(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b","name":"support.function.libxml.php"},{"match":"(?i)\\b(ezmlm_hash|mail)\\b","name":"support.function.mail.php"},{"match":"(?i)\\b(a?(cos|sin|tan)h?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|f(div|mod|pow)|lcg_value|log(1[0p])?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert|intdiv)\\b","name":"support.function.math.php"},{"match":"(?i)\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos|_pad|_split)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info|[lr]?trim|[lu]cfirst|ord|chr|scrub)\\b","name":"support.function.mbstring.php"},{"match":"(?i)\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\b","name":"support.function.mcrypt.php"},{"match":"(?i)\\bmemcache_debug\\b","name":"support.function.memcache.php"},{"match":"(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b","name":"support.function.mhash.php"},{"match":"(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\b","name":"support.function.mongo.php"},{"match":"(?i)\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\b","name":"support.function.mysql.php"},{"match":"(?i)\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_[gs]et|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\b","name":"support.function.mysqli.php"},{"match":"(?i)\\bmysqlnd_memcache_(set|get_config)\\b","name":"support.function.mysqlnd-memcache.php"},{"match":"(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b","name":"support.function.mysqlnd-ms.php"},{"match":"(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b","name":"support.function.mysqlnd-qc.php"},{"match":"(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b","name":"support.function.mysqlnd-uh.php"},{"match":"(?i)\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr)|http_(clear|get)_last_response_headers|net_get_interfaces|request_parse_body)\\b","name":"support.function.network.php"},{"match":"(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b","name":"support.function.nsapi.php"},{"match":"(?i)\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\b","name":"support.function.oci8.php"},{"match":"(?i)\\bopcache_(compile_file|invalidate|is_script_cached|reset|get_(status|configuration))\\b","name":"support.function.opcache.php"},{"match":"(?i)\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_(iv|key)_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|(cms|pkcs7)_(sign|decrypt|encrypt|verify|read)|verify|free_key|random_pseudo_bytes|pkey_(derive|new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|curve_names|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read|verify))\\b","name":"support.function.openssl.php"},{"match":"(?i)\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\b","name":"support.function.output.php"},{"match":"(?i)\\bpassword_(algos|hash|needs_rehash|verify|get_info)\\b","name":"support.function.password.php"},{"match":"(?i)\\bpcntl_(alarm|async_signals|errno|exec|r?fork|get_last_error|[gs]et((?:cpuaffin|prior)ity)|signal(_(dispatch|get_handler))?|sig(procmask|timedwait|waitinfo)|strerror|unshare|wait(p?id)?|wexitstatus|wif((?:exit|signal|stopp)ed)|w(stop|term)sig)\\b","name":"support.function.pcntl.php"},{"match":"(?i)\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\b","name":"support.function.pgsql.php"},{"match":"(?i)\\b(virtual|getallheaders|apache_([gs]etenv|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b","name":"support.function.php_apache.php"},{"match":"(?i)\\bdom_import_simplexml\\b","name":"support.function.php_dom.php"},{"match":"(?i)\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\b","name":"support.function.php_ftp.php"},{"match":"(?i)\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\b","name":"support.function.php_imap.php"},{"match":"(?i)\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\b","name":"support.function.php_mssql.php"},{"match":"(?i)\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\b","name":"support.function.php_odbc.php"},{"match":"(?i)\\bpreg_(split|quote|filter|last_error(_msg)?|replace(_callback(_array)?)?|grep|match(_all)?)\\b","name":"support.function.php_pcre.php"},{"match":"(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b","name":"support.function.php_spl.php"},{"match":"(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b","name":"support.function.php_zip.php"},{"match":"(?i)\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|e?access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo|(sys|f?path)conf|setrlimit)\\b","name":"support.function.posix.php"},{"match":"(?i)\\bset(thread|proc)title\\b","name":"support.function.proctitle.php"},{"match":"(?i)\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\b","name":"support.function.pspell.php"},{"match":"(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b","name":"support.function.readline.php"},{"match":"(?i)\\brecode(_(string|file))?\\b","name":"support.function.recode.php"},{"match":"(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b","name":"support.function.rrd.php"},{"match":"(?i)\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\b","name":"support.function.sem.php"},{"match":"(?i)\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|((?:regener|cre)ate)_id|get_cookie_params|module_name|gc)\\b","name":"support.function.session.php"},{"match":"(?i)\\bshmop_(size|close|open|delete|write|read)\\b","name":"support.function.shmop.php"},{"match":"(?i)\\bsimplexml_(import_dom|load_(string|file))\\b","name":"support.function.simplexml.php"},{"match":"(?i)\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\b","name":"support.function.snmp.php"},{"match":"(?i)\\b(is_soap_fault|use_soap_error_handler)\\b","name":"support.function.soap.php"},{"match":"(?i)\\bsocket_(accept|addrinfo_(bind|connect|explain|lookup)|atmark|bind|(clear|last)_error|close|cmsg_space|connect|create(_(listen|pair))?|(ex|im)port_stream|[gs]et_option|[gs]etopt|get(peer|sock)name|listen|read|recv(from|msg)?|select|send(msg|to)?|set_(non)?block|shutdown|strerror|write|wsaprotocol_info_(export|import|release))\\b","name":"support.function.sockets.php"},{"match":"(?i)\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\b","name":"support.function.sqlite.php"},{"match":"(?i)\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\b","name":"support.function.sqlsrv.php"},{"match":"(?i)\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\b","name":"support.function.stats.php"},{"match":"(?i)\\bstream_(bucket_(new|prepend|append|make_writeable)|context_(create|[gs]et_(options?|default|params))|copy_to_stream|filter_((ap|pre)pend|register|remove)|get_(contents|filters|line|meta_data|transports|wrappers)|is(atty|_local)|notification_callback|register_wrapper|resolve_include_path|select|set_(blocking|chunk_size|(read|write)_buffer|timeout)|socket_(accept|client|enable_crypto|get_name|pair|recvfrom|sendto|server|shutdown)|supports_lock|wrapper_((un)?register|restore))\\b","name":"support.function.streamsfuncs.php"},{"match":"(?i)\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|i?replace|pad|repeat|rot13|shuffle|split|word_count|contains|(starts|ends)_with|(in|de)crement)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\b","name":"support.function.string.php"},{"match":"(?i)\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\b","name":"support.function.sybase.php"},{"match":"(?i)\\b(taint|is_tainted|untaint)\\b","name":"support.function.taint.php"},{"match":"(?i)\\b(tidy_([gs]etopt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\b","name":"support.function.tidy.php"},{"match":"(?i)\\btoken_(name|get_all)\\b","name":"support.function.tokenizer.php"},{"match":"(?i)\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\b","name":"support.function.trader.php"},{"match":"(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b","name":"support.function.uopz.php"},{"match":"(?i)\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\b","name":"support.function.url.php"},{"match":"(?i)\\b((bool|double|float|int|str)val|debug_zval_dump|empty|get_(debug_type|defined_vars|resource_(id|type))|[gs]ettype|is_(array|bool|callable|countable|double|float|int(eger)?|iterable|long|null|numeric|object|real|resource|scalar|string)|isset|print_r|(un)?serialize|unset|var_(dump|export))\\b","name":"support.function.var.php"},{"match":"(?i)\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\b","name":"support.function.wddx.php"},{"match":"(?i)\\bxhprof_(sample_)?((?:dis|en)able)\\b","name":"support.function.xhprof.php"},{"match":"(?i)\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_([gs]et_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\b","name":"support.function.xml.php"},{"match":"(?i)\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|[gs]et_type)\\b","name":"support.function.xmlrpc.php"},{"match":"(?i)\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\b","name":"support.function.xmlwriter.php"},{"match":"(?i)\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?)|deflate_(add|init)|inflate_(add|get_(read_len|status)|init))\\b","name":"support.function.zlib.php"}]},"switch_statement":{"patterns":[{"match":"\\s+(?=switch\\b)"},{"begin":"\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)","beginCaptures":{"0":{"name":"keyword.control.switch.php"}},"end":"}|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.section.switch-block.end.bracket.curly.php"}},"name":"meta.switch-statement.php","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.switch-expression.begin.bracket.round.php"}},"end":"\\)|(?=\\?>)","endCaptures":{"0":{"name":"punctuation.definition.switch-expression.end.bracket.round.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.section.switch-block.begin.bracket.curly.php"}},"end":"(?=}|\\?>)","patterns":[{"include":"$self"}]}]}]},"ternary_expression":{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.php"}},"end":"(?<!:):(?!:)","endCaptures":{"0":{"name":"keyword.operator.ternary.php"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"$self"}]}},"match":"(?i)^\\s*([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)\\s*(?=:(?!:))"},{"include":"$self"}]},"ternary_shorthand":{"match":"\\?:","name":"keyword.operator.ternary.php"},"use-inner":{"patterns":[{"include":"#comments"},{"begin":"(?i)\\b(as)\\s+","beginCaptures":{"1":{"name":"keyword.other.use-as.php"}},"end":"(?i)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*","endCaptures":{"0":{"name":"entity.other.alias.php"}}},{"include":"#class-name"},{"match":",","name":"punctuation.separator.delimiter.php"}]},"var_basic":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(\\$+)[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*","name":"variable.other.php"}]},"var_global":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg([cv]))\\b","name":"variable.other.global.php"},"var_global_safer":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))","name":"variable.other.global.safer.php"},"var_language":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\$)this\\b","name":"variable.language.this.php"},"variable-name":{"patterns":[{"include":"#var_global"},{"include":"#var_global_safer"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"keyword.operator.class.php"},"5":{"name":"variable.other.property.php"},"6":{"name":"punctuation.section.array.begin.php"},"7":{"name":"constant.numeric.index.php"},"8":{"name":"variable.other.index.php"},"9":{"name":"punctuation.definition.variable.php"},"10":{"name":"string.unquoted.index.php"},"11":{"name":"punctuation.section.array.end.php"}},"match":"(?i)((\\$)(?<name>[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*))\\s*(?:(\\??->)\\s*(\\g<name>)|(\\[)(?:(\\d+)|((\\$)\\g<name>)|([_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*))(]))?"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((\\$\\{)(?<name>[_a-z\\x7F-\\x{10FFFF}][0-9_a-z\\x7F-\\x{10FFFF}]*)(}))"}]},"variables":{"patterns":[{"include":"#var_language"},{"include":"#var_global"},{"include":"#var_global_safer"},{"include":"#var_basic"},{"begin":"\\$\\{(?=.*?})","beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"$self"}]}]}},"scopeName":"source.php"},{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\b(class)\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\s*((<)\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\b(module)\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\b(class)\\s*(<<)\\s*","name":"meta.class.ruby"},{"match":"(?<!\\.)\\belse(\\s)+if\\b","name":"invalid.deprecated.ruby"},{"captures":{"1":{"name":"variable.ruby"},"2":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"^\\s*([_a-z][0-9A-Z_a-z]*)\\s*((&&|\\|\\|)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?<!\\.)\\b(case|if|elsif|unless|until|while)\\b\\s*(\\()*?\\s*([_a-z][0-9A-Z_a-z]*)\\s*((&&|\\|\\|)=)"},{"captures":{"1":{"name":"variable.ruby"},"2":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"^\\s*([_a-z][0-9A-Z_a-z]*)\\s*(([-%*+/]|\\*\\*|[\\&^|]|<<|>>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?<!\\.)\\b(case|if|elsif|unless|until|while)\\b\\s*(\\()*?\\s*([_a-z][0-9A-Z_a-z]*)\\s*(([-%*+/]|\\*\\*|[\\&^|]|<<|>>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"match":"^\\s*([_a-z][0-9A-Z_a-z]*)\\s*(?==[^=>])"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"match":"(?<!\\.)\\b(case|if|elsif|unless|until|while)\\b\\s*(\\()*?\\s*([_a-z][0-9A-Z_a-z]*)\\s*=[^=>]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"match":"(?>[A-Z_a-z]\\w*[!?]?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?<!:)(:)(?>[A-Z_a-z]\\w*[!?]?)(?=\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"match":"(?<!\\.)\\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\\b(?![!?])","name":"keyword.control.ruby"},{"match":"(?<!\\.)\\bdo\\b","name":"keyword.control.start-block.ruby"},{"match":"(?<=\\{)(\\s+)","name":"meta.syntax.ruby.start-block"},{"match":"(?<!\\.)\\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\\b(?![!?])|\\bdefined\\?|\\b(block_given|iterator)\\?","name":"keyword.control.pseudo-method.ruby"},{"match":"\\bnil\\b(?![!?])","name":"constant.language.nil.ruby"},{"match":"\\b(true|false)\\b(?![!?])","name":"constant.language.boolean.ruby"},{"match":"\\b(__(FILE|LINE)__)\\b(?![!?])","name":"variable.language.ruby"},{"match":"\\bself\\b(?![!?])","name":"variable.language.self.ruby"},{"match":"\\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\\b(?![!?])","name":"keyword.other.special-method.ruby"},{"begin":"\\b(?<!\\.|::)(require(?:|_relative))\\b(?![!?])","captures":{"1":{"name":"keyword.other.special-method.ruby"}},"end":"$|(?=[#}])","name":"meta.require.ruby","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(@)[A-Z_a-z]\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(@@)[A-Z_a-z]\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(\\$)[A-Z_a-z]\\w*","name":"variable.other.readwrite.global.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(\\$)([!\\&'+@`]|\\d+|[\"$*,./:-?\\\\_~]|-[0FIadilpv])","name":"variable.other.readwrite.global.pre-defined.ruby"},{"begin":"\\b(ENV)\\[","beginCaptures":{"1":{"name":"variable.other.constant.ruby"}},"end":"]","name":"meta.environment-variable.ruby","patterns":[{"include":"$self"}]},{"match":"\\b[A-Z]\\w*(?=((\\.|::)[A-Za-z]|\\[))","name":"support.class.ruby"},{"match":"\\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|printf??|proc|putc|puts|rand|readlines??|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\\b(?![!?])|autoload\\?|exit!)","name":"support.function.kernel.ruby"},{"match":"\\b[A-Z_]\\w*\\b","name":"variable.other.constant.ruby"},{"begin":"(->)\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"end":"\\)","patterns":[{"begin":"(?=[\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\b)(?<=^|\\s)(def)\\s+((?>[A-Z_a-z]\\w*(?>\\.|::))?(?>[A-Z_a-z]\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\&/`|]|\\*\\*?|=?~|[-+]@?|\\[]=?))\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\b)(?<=^|\\s)(def)\\s+((?>[A-Z_a-z]\\w*(?>\\.|::))?(?>[A-Z_a-z]\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\&/`|]|\\*\\*?|=?~|[-+]@?|\\[]=?))[\\t ](?=[\\t ]*[^#;\\s])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"end":"(?=;)|(?<=[]!\"')?`}\\w])(?=\\s*#|\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\&*A-Z_a-z])","end":"(?=[,;]|\\s*#|\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"match":"(?=def\\b)(?<=^|\\s)(def)\\b(\\s+((?>[A-Z_a-z]\\w*(?>\\.|::))?(?>[A-Z_a-z]\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\&/`|]|\\*\\*?|=?~|[-+]@?|\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\b(\\d(?>_?\\d)*(\\.(?![^\\s\\d])(?>_?\\d)*)?([Ee][-+]?\\d(?>_?\\d)*)?|0(?:[Xx]\\h(?>_?\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\d(?>_?\\d)*))\\b","name":"constant.numeric.ruby"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"match":"(?<!\\()/=","name":"keyword.operator.assignment.augmented.ruby"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.single.ruby","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.ruby"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.double.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<!\\.)`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<![)\\w])((/))(?![*+?])(?!\\s*$)(?=(?:\\\\/|[^/])*+/[eimnosux]*\\s*(?:[]#),.:?}]|\\|\\||&&|<=>|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and))","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r(\\W)","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I(\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[]\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[)\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[>\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i(\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\."}]},{"begin":"%W\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W(\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[]\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[)\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[>\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w(\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\."}]},{"begin":"%[Qx]?\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx](\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^=\\w\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[)\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[>\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[]\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\[\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q(\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\."}]},{"begin":"%s\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[)\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[>\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[]\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s\\{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\[\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s(\\W)","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?<!:)(:)(?>[$A-Z_a-z]\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\&/`|]|\\*\\*?|=?~|[-+]@?|\\[]=?|@@?[A-Z_a-z]\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\n","name":"comment.line.number-sign.ruby"}]},{"match":"(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|0[0-7]{0,2}(?![0-7])\\b|[^0CMx])|(\\\\[CM]-)+\\w|[^\\\\\\s])","name":"constant.numeric.ruby"},{"begin":"^__END__\\n","captures":{"0":{"name":"string.unquoted.program-block.ruby"}},"contentName":"text.plain","end":"(?=not)impossible","patterns":[{"begin":"(?=<?xml|<(?i:html\\b)|!DOCTYPE (?i:html\\b))","end":"(?=not)impossible","name":"text.html.embedded.ruby","patterns":[{"include":"text.html.basic"}]}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)HTML)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)HTML)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)HTML)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.html","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)HTML)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)HAML)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)HAML)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)HAML)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.haml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)HAML)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)XML)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)XML)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)XML)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.xml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)XML)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)SQL)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)SQL)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)SQL)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.sql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)SQL)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)G(?:RAPHQL|QL))\\b\\1))","end":"^\\s*((?:[_\\w]+_|)G(?:RAPHQL|QL))$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)G(?:RAPHQL|QL))\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.graphql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)G(?:RAPHQL|QL))\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)CSS)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)CSS)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)CSS)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.css","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)CSS)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)CPP)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)CPP)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)CPP)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.cpp","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)CPP)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)C)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)C)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)C)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.c","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)C)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)J(?:S|AVASCRIPT))\\b\\1))","end":"^\\s*((?:[_\\w]+_|)J(?:S|AVASCRIPT))$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)J(?:S|AVASCRIPT))\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)J(?:S|AVASCRIPT))\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)JQUERY)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)JQUERY)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)JQUERY)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js.jquery","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)JQUERY)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)SH(?:|ELL))\\b\\1))","end":"^\\s*((?:[_\\w]+_|)SH(?:|ELL))$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)SH(?:|ELL))\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.shell","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)SH(?:|ELL))\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)LUA)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)LUA)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)LUA)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.lua","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)LUA)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)RUBY)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)RUBY)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)RUBY)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)RUBY)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)YA?ML)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)YA?ML)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)YA?ML)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.yaml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)YA?ML)\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)SLIM)\\b\\1))","end":"^\\s*((?:[_\\w]+_|)SLIM)$\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]?([\"'`]?)((?:[_\\w]+_|)SLIM)\\b\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.slim","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}],"while":"^(?!\\s*((?:[_\\w]+_|)SLIM)\\s*$)"}]},{"begin":"(?>=\\s*<<([\"'`]?)(\\w+)\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\2$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]?([\"'`]?)(\\w+)\\3,\\s?)*<<[-~]?([\"'`]?)(\\w+)\\5))(.*)","beginCaptures":{"1":{"name":"string.definition.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\s*\\6$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<=\\{|\\{\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\s+|^do\\s+)(\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?<!\\|)(\\|)(?!\\|)","name":"meta.block.parameters.ruby","patterns":[{"begin":"(?![(,|\\s])","end":"(?=,|\\|\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"variable.other.block.ruby"}},"match":"\\G((?:&|\\*\\*?)?)([A-Z_a-z][_\\w]*)"}]},{"match":",","name":"punctuation.separator.variable.ruby"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\*=|\\*\\*=|\\+=|-=|\\^=|\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\t ])\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?<!\\.)\\b(and|not|or)\\b(?![!?])","name":"keyword.operator.logical.ruby"},{"match":"(?<=^|[\\t !])!|&&|\\|\\||\\^","name":"keyword.operator.logical.ruby"},{"captures":{"1":{"name":"keyword.operator.logical.ruby"}},"match":"(&\\.)\\s*(?![A-Z])"},{"match":"([%\\&]|\\*\\*|[-*+/])","name":"keyword.operator.arithmetic.ruby"},{"match":"=","name":"keyword.operator.assignment.ruby"},{"match":"[|~]|>>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"match":"(::)\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"match":"(\\.|::)\\s*(?![A-Z])"},{"match":":","name":"punctuation.separator.other.ruby"},{"match":"\\{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"[()]","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^.]\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])","end":"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])","name":"meta.function-call.ruby","patterns":[{"match":"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])","name":"entity.name.function.ruby"}]},{"begin":"([A-Za-z]\\w*[!?]?)(\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\(?:[0-7]{1,3}|x[A-Fa-f\\d]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@)[A-Z_a-z]\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@@)[A-Z_a-z]\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#\\$)[A-Z_a-z]\\w*","name":"variable.other.readwrite.global.ruby"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\G(&|\\*\\*?)?(?:([A-Z_a-z]\\w*[!?]?(:))|([A-Z_a-z]\\w*))"},"parens":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"(\\{)\\d+(,\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\[(?:\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\(\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\s)(#)\\s(?=[-\\t !,.0-9?A-Za-z[^\\x00-\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"end":"$\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\s*)(#)(\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\s*)(#)(\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\s+((\\[).+(])))?(?=\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\s*)(#)(\\s*)(@!)(attribute|macro)(\\s+((\\[).+(])))?(?=\\s)(\\s+([_a-z]\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\s*)(#)(\\s*)(@)(option)(?=\\s)(?>\\s+([_a-z]\\w*:?))?(?>\\s+((\\[).+(])))?(?>\\s+((\\S*)))?(?>\\s+((\\().+(\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\s*)(#)(\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\s)(?>\\s+(?>([_a-z]\\w*:?)|((\\[).+(]))))?(?>\\s+(?>((\\[).+(]))|([_a-z]\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\s*)(#)(\\s*)(@)(see)(?=\\s)(\\s+(.+?))?(?=\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"match":"^(\\s*)(#)(\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\s*)(#)(\\s*)(@)(raise|return|yield(?:return)?)(?=\\s)(\\s+((\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\s*#\\3\\s{2,}|\\s*#\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby"},{"displayName":"R","fileTypes":["R","r","Rprofile"],"foldingStartMarker":"\\{\\s*(?:#|$)","foldingStopMarker":"^\\s*}","name":"r","patterns":[{"include":"#roxygen-example"},{"include":"#basic"}],"repository":{"basic":{"patterns":[{"include":"#roxygen"},{"include":"#comment"},{"include":"#expression"}]},"basic-roxygen-example":{"patterns":[{"match":"^\\s*#+'","name":"comment.line"},{"include":"#comment"},{"include":"#expression"}]},"brackets":{"patterns":[{"begin":"\\{","end":"}","name":"meta.bracket","patterns":[{"include":"#basic"}]},{"begin":"\\[","end":"]","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\w]+)\\s*(?==[^=])"},{"include":"#basic"}]},{"begin":"\\(","end":"\\)","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\w]+)\\s*(?==[^=])"},{"include":"#basic"}]}]},"comment":{"match":"#.*","name":"comment.line"},"escape-code":{"match":"\\\\[\"'\\\\`abefnrtv]","name":"constant.character.escape"},"escape-hex":{"match":"\\\\x\\h+","name":"constant.numeric"},"escape-invalid":{"match":"\\\\.","name":"invalid"},"escape-octal":{"match":"\\\\\\d{1,3}","name":"constant.character.escape"},"escape-unicode":{"match":"\\\\[Uu](?:\\h+|\\{\\h+})","name":"constant.character.escape"},"escapes":{"patterns":[{"include":"#escape-code"},{"include":"#escape-hex"},{"include":"#escape-octal"},{"include":"#escape-unicode"},{"include":"#escape-invalid"}]},"expression":{"patterns":[{"include":"#brackets"},{"include":"#raw-strings"},{"include":"#strings"},{"include":"#function-definition"},{"include":"#keywords"},{"include":"#function-call"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#operators"}]},"function-call":{"captures":{"0":{"name":"meta.function-call"},"1":{"name":"entity.name.function"}},"match":"([.\\w]+)(?=\\()"},"function-definition":{"begin":"(function)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.other"},"2":{"name":"meta.bracket"}},"end":"(\\))","endCaptures":{"1":{"name":"meta.bracket"}},"name":"meta.function.definition","patterns":[{"begin":"([.\\w]+)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(?=[),])","patterns":[{"include":"#basic"}]},{"include":"#basic"}]},"identifier-quoted":{"begin":"`","end":"`","name":"variable.object","patterns":[{"match":"\\\\`"}]},"identifier-syntactic":{"match":"[.\\p{L}\\p{Nl}][.\\p{L}\\p{Nl}\\p{Mn}\\p{Mc}\\d\\p{Pc}]*","name":"variable.object"},"identifiers":{"patterns":[{"include":"#identifier-syntactic"},{"include":"#identifier-quoted"}]},"keywords":{"patterns":[{"include":"#keywords-control"},{"include":"#keywords-builtin"},{"include":"#keywords-constant"}]},"keywords-builtin":{"match":"(?:setGroupGeneric|setRefClass|setGeneric|NextMethod|setMethod|UseMethod|tryCatch|setClass|warning|require|library|R6Class|return|switch|attach|detach|source|stop|try)(?=\\()","name":"keyword.other"},"keywords-constant":{"match":"(?:NA_character_|NA_integer_|NA_complex_|NA_real_|TRUE|FALSE|NULL|Inf|NaN|NA)\\b","name":"constant.language"},"keywords-control":{"match":"(?:\\\\|function|if|else|in|break|next|repeat|for|while)\\b","name":"keyword"},"latex":{"patterns":[{"match":"\\\\\\w+","name":"keyword.other"}]},"markdown":{"patterns":[{"begin":"(`{3,})\\s*(.*)","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"entity.name.section"}},"end":"(\\1)","endCaptures":{"1":{"name":"comment.line"}},"patterns":[{"match":"^\\s*#+'","name":"comment.line"}]},{"captures":{"1":{"name":"meta.bracket"},"2":{"name":"variable.object"},"3":{"name":"keyword.operator"},"4":{"name":"entity.name.function"},"5":{"name":"meta.bracket"},"6":{"name":"meta.bracket"}},"match":"(\\[)(?:(\\w+)(:{2,3}))?(\\w+)(\\(\\))?(])"},{"match":"(\\s+|^)(__.+?__)\\b","name":"markdown.bold"},{"match":"(\\s+|^)(_(?=[^_])(?:\\\\.|[^\\\\_])*?_)\\b","name":"markdown.italic"},{"match":"(\\*\\*.+?\\*\\*)","name":"markdown.bold"},{"match":"(\\*(?=[^*\\s])(?:\\\\.|[^*\\\\])*?\\*)","name":"markdown.italic"},{"match":"(`(?:[^\\\\`]|\\\\.)*`)","name":"markup.quote"},{"match":"(<)([^>]*)(>)","name":"markup.underline.link"}]},"numbers":{"patterns":[{"match":"0[Xx]\\h+(?:p[-+]?\\d+)?[Li]?","name":"constant.numeric"},{"match":"(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][-+]?\\d*)?[Li]?","name":"constant.numeric"}]},"operators":{"match":"%.*?%|:::?|:=|\\|>|=>|%%|>=|<=|==|!=|<<-|->>?|<-|\\|\\||&&|[-+=]|\\*\\*?|[!$\\&,/:<>?@^|~]","name":"keyword.operator"},"qqstring":{"begin":"\"","end":"\"","name":"string.quoted.double","patterns":[{"include":"#escapes"}]},"qstring":{"begin":"'","end":"'","name":"string.quoted.single","patterns":[{"include":"#escapes"}]},"raw-strings":{"name":"string.quoted.other","patterns":[{"begin":"[Rr]\"(-*)\\{","end":"}\\1\"","name":"string.quoted.other"},{"begin":"[Rr]'(-*)\\{","end":"}\\1'","name":"string.quoted.other"},{"begin":"[Rr]\"(-*)\\[","end":"]\\1\"","name":"string.quoted.other"},{"begin":"[Rr]'(-*)\\[","end":"]\\1'","name":"string.quoted.other"},{"begin":"[Rr]\"(-*)\\(","end":"\\)\\1\"","name":"string.quoted.other"},{"begin":"[Rr]'(-*)\\(","end":"\\)\\1'","name":"string.quoted.other"}]},"roxygen":{"begin":"^(\\s*#+')","beginCaptures":{"1":{"name":"comment.line.roxygen"}},"end":"$","patterns":[{"include":"#markdown"},{"include":"#roxygen-tokens"},{"include":"#latex"},{"match":".","name":"comment.line"}]},"roxygen-example":{"begin":"^(\\s*#+')\\s*(?:(@examples)\\s*|(@examplesIf)\\s+(.*))$","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"keyword.other"},"3":{"name":"keyword.other"},"4":{"patterns":[{"include":"#expression"}]}},"end":"^(?:\\s*(?=#+'\\s*@)|\\s*(?!#+'))","patterns":[{"match":"^\\s*#+'","name":"comment.line"},{"match":"[]()\\[{}]","name":"meta.bracket"},{"include":"#latex"},{"include":"#roxygen-tokens"},{"include":"#basic-roxygen-example"}]},"roxygen-tokens":{"patterns":[{"match":"@@","name":"constant.character.escape"},{"begin":"(@(?:param|field|slot))\\s*","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\s|$","patterns":[{"match":"([.\\w]+)","name":"variable.parameter"},{"match":",","name":"keyword.operator"}]},{"match":"@(?!@)\\w*","name":"keyword.other"}]},"strings":{"patterns":[{"include":"#qstring"},{"include":"#qqstring"}]}},"scopeName":"source.r"},{"displayName":"Perl","name":"perl","patterns":[{"include":"#line_comment"},{"begin":"^(?==[A-Za-z]+)","end":"^(=cut\\b.*)$","endCaptures":{"1":{"patterns":[{"include":"#pod"}]}},"name":"comment.block.documentation.perl","patterns":[{"include":"#pod"}]},{"include":"#variable"},{"applyEndPatternLast":1,"begin":"\\b(?=qr\\s*[^\\s\\w])","end":"((([acdegil-prsux]*)))(?=(\\s+\\S|\\s*[#),;{}]|\\s*$))","endCaptures":{"1":{"name":"string.regexp.compile.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(qr)\\s*\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.compile.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(qr)\\s*\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.compile.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(qr)\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.compile.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(qr)\\s*\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\)","name":"string.regexp.compile.nested_parens.perl","patterns":[{"match":"\\$(?=[^'(<\\[\\\\{\\s\\w])"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(qr)\\s*'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"'","name":"string.regexp.compile.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(qr)\\s*([^'(<\\[{\\s\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\2","name":"string.regexp.compile.simple-delimiter.perl","patterns":[{"match":"\\$(?=[^'(<\\[{\\s\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"(?<![-+{])\\b(?=m\\s*[^0-9A-Za-z\\s])","end":"((([acdegil-prsux]*)))(?=(\\s+\\S|\\s*[#),;{}]|\\s*$))","endCaptures":{"1":{"name":"string.regexp.find-m.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(m)\\s*\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.find-m.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(m)\\s*\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.find-m.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(m)\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.find-m.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(m)\\s*\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\)","name":"string.regexp.find-m.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(m)\\s*'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"'","name":"string.regexp.find-m.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\G(?<![-+{])(m)(?!_)\\s*([^'(0-9<A-\\[a-{\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\2","name":"string.regexp.find-m.simple-delimiter.perl","patterns":[{"match":"\\$(?=[^'(0-9<A-\\[a-{\\s])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"begin":"\\[","beginCaptures":{"1":{"name":"punctuation.definition.character-class.begin.perl"}},"end":"]","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.perl"}},"name":"constant.other.character-class.set.perl","patterns":[{"match":"\\$(?=[^'(<\\[{\\s\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"}]},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"\\b(?=(?<!&)(s)(\\s+\\S|\\s*[(),;<\\[{}]|$))","end":"((([acdegil-prsux]*)))(?=(\\s+\\S|\\s*[]),;>{}]|\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\s*\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},{"begin":"(s)\\s*\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},{"begin":"(s)\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt"}]},{"begin":"(s)\\s*\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\)","name":"string.regexp.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},{"begin":"\\{","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"}","name":"string.regexp.format.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"\\[","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"]","name":"string.regexp.format.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"<","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":">","name":"string.regexp.format.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"\\(","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\)","name":"string.regexp.format.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"'","name":"string.regexp.format.single_quote.perl","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.perl"}]},{"begin":"([^(;<\\[{\\s\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\1","name":"string.regexp.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"match":"\\s+"}]},{"begin":"\\b(?=s([^(0-9<A-\\[a-{\\s]).*\\1([acdegil-prsux]*)([),;}]|\\s+))","end":"((([acdegil-prsux]*)))(?=([),;}]|\\s+|\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s\\s*)([^(0-9<A-\\[a-{\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\2)","name":"string.regexp.replaceXXX.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"'","name":"string.regexp.replaceXXX.format.single_quote.perl","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.perl.perl"}]},{"begin":"([^(0-9<A-\\[a-{\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\1","name":"string.regexp.replaceXXX.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"\\b(?=(?<!\\\\)s\\s*([^(<>\\[{\\s\\w]))","end":"((([acdegilmoprsu]*x[acdegilmoprsu]*)))\\b","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\s*(.)","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\2)","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"'(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(.)","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\1(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"(?<=[\\&({|~]|if|unless|^)\\s*((/))","beginCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"}},"contentName":"string.regexp.find.perl","end":"((\\1([acdegil-prsux]*)))(?=(\\s+\\S|\\s*[#),;{}]|\\s*$))","endCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"match":"\\$(?=/)","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"}]},{"captures":{"1":{"name":"constant.other.key.perl"}},"match":"\\b(\\w+)\\s*(?==>)"},{"match":"(?<=\\{)\\s*\\w+\\s*(?=})","name":"constant.other.bareword.perl"},{"captures":{"1":{"name":"keyword.control.perl"},"2":{"name":"entity.name.type.class.perl"}},"match":"^\\s*(package)\\s+([^;\\s]+)","name":"meta.class.perl"},{"captures":{"1":{"name":"storage.type.sub.perl"},"2":{"name":"entity.name.function.perl"},"3":{"name":"storage.type.method.perl"}},"match":"\\b(sub)(?:\\s+([-0-9A-Z_a-z]+))?\\s*(?:\\([$*;@]*\\))?[^{\\w]","name":"meta.function.perl"},{"captures":{"1":{"name":"entity.name.function.perl"},"2":{"name":"punctuation.definition.parameters.perl"},"3":{"name":"variable.parameter.function.perl"}},"match":"^\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\b","name":"meta.function.perl"},{"begin":"^(?=(\\t| {4}))","end":"(?=[^\\t\\s])","name":"meta.leading-tabs","patterns":[{"captures":{"1":{"name":"meta.odd-tab"},"2":{"name":"meta.even-tab"}},"match":"(\\t| {4})(\\t| {4})?"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"punctuation.definition.string.perl"},"5":{"name":"punctuation.definition.string.perl"},"8":{"name":"punctuation.definition.string.perl"}},"match":"\\b(tr|y)\\s*([^0-9A-Za-z\\s])(.*?)(?<!\\\\)(\\\\{2})*(\\2)(.*?)(?<!\\\\)(\\\\{2})*(\\2)","name":"string.regexp.replace.perl"},{"match":"\\b(__(?:FILE|LINE|PACKAGE|SUB)__)\\b","name":"constant.language.perl"},{"begin":"\\b(__(?:DATA__|END__))\\n?","beginCaptures":{"1":{"name":"constant.language.perl"}},"contentName":"comment.block.documentation.perl","end":"\\z","patterns":[{"include":"#pod"}]},{"match":"(?<!->)\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\b","name":"keyword.control.perl"},{"match":"\\b(my|our|local)\\b","name":"storage.modifier.perl"},{"match":"(?<!\\w)-[ABCMORSTWXb-gklopr-uwxz]\\b","name":"keyword.operator.filetest.perl"},{"match":"\\b(and|or|xor|as|not)\\b","name":"keyword.operator.logical.perl"},{"match":"((?:<=|[-=])>)","name":"keyword.operator.comparison.perl"},{"include":"#heredoc"},{"begin":"\\bqq\\s*([^(<\\[{\\w\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\bqx\\s*([^'(<\\[{\\w\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\bqx\\s*'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\bqw?\\s*([^(<\\[{\\w\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q.perl"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\['\\\\]","name":"constant.character.escape.perl"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\bqq\\s*\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\bqq\\s*\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\bqq\\s*\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\bqq\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\bqx\\s*\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\bqx\\s*\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\bqx\\s*\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\bqx\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\bqw?\\s*\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-paren.perl","patterns":[{"include":"#nested_parens"}]},{"begin":"\\bqw?\\s*\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-brace.perl","patterns":[{"include":"#nested_braces"}]},{"begin":"\\bqw?\\s*\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-bracket.perl","patterns":[{"include":"#nested_brackets"}]},{"begin":"\\bqw?\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-ltgt.perl","patterns":[{"include":"#nested_ltgt"}]},{"begin":"^__\\w+__","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.unquoted.program-block.perl"},{"begin":"\\b(format)\\s+(\\w+)\\s*=","beginCaptures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.format.perl"}},"end":"^\\.\\s*$","name":"meta.format.perl","patterns":[{"include":"#line_comment"},{"include":"#variable"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.perl"}},"match":"\\b(x)\\s*(\\d+)\\b"},{"match":"\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|printf??|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tied??|times??|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\b","name":"support.function.perl"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\{)(})"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\()(\\))"}],"repository":{"escaped_char":{"patterns":[{"match":"\\\\\\d+","name":"constant.character.escape.perl"},{"match":"\\\\c[^\\\\\\s]","name":"constant.character.escape.perl"},{"match":"\\\\g(?:\\{(?:\\w*|-\\d+)}|\\d+)","name":"constant.character.escape.perl"},{"match":"\\\\k(?:\\{\\w*}|<\\w*>|'\\w*')","name":"constant.character.escape.perl"},{"match":"\\\\N\\{[^}]*}","name":"constant.character.escape.perl"},{"match":"\\\\o\\{\\d*}","name":"constant.character.escape.perl"},{"match":"\\\\[Pp](?:\\{\\w*}|P)","name":"constant.character.escape.perl"},{"match":"\\\\x(?:[0-9A-Za-z]{2}|\\{\\w*})?","name":"constant.character.escape.perl"},{"match":"\\\\.","name":"constant.character.escape.perl"}]},"heredoc":{"patterns":[{"begin":"((((<<(~)?) *')(HTML)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\n","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *')(XML)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\n","name":"text.xml","patterns":[{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *')(CSS)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\n","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *')(JAVASCRIPT)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\n","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *')(SQL)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\n","name":"source.sql","patterns":[{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *')(POSTSCRIPT)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\n","name":"source.postscript","patterns":[{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *')([^']*)(')))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\\\)((?![ $(=\\d])[^\"'),;`\\s]*)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\")(HTML)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\")(XML)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\")(CSS)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\")(JAVASCRIPT)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\")(SQL)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\")(POSTSCRIPT)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\")([^\"]*)(\")))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *)(HTML)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *)(XML)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *)(CSS)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *)(SQL)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *)((?![ $(=\\d])[^\"'),;`\\s]*)()))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *`)([^`]*)(`)))(.*)\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.shell.perl","end":"^((?!\\5)\\s+)?((\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},"line_comment":{"patterns":[{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\n","name":"comment.line.number-sign.perl"}]}]},"nested_braces":{"begin":"\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},"nested_braces_interpolated":{"begin":"\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},"nested_brackets":{"begin":"\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},"nested_brackets_interpolated":{"begin":"\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},"nested_ltgt":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#nested_ltgt"}]},"nested_ltgt_interpolated":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},"nested_parens":{"begin":"\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\)","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},"nested_parens_interpolated":{"begin":"\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\)","patterns":[{"match":"\\$(?=[^'(<\\[{\\s\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},"pod":{"patterns":[{"match":"^=(pod|back|cut)\\b","name":"storage.type.class.pod.perl"},{"begin":"^(=begin)\\s+(html)\\s*$","beginCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"contentName":"text.embedded.html.basic","end":"^(?:(=end)\\s+(html)|(?==cut))","endCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"name":"meta.embedded.pod.perl","patterns":[{"include":"text.html.basic"}]},{"captures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl","patterns":[{"include":"#pod-formatting"}]}},"match":"^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\b\\s*(.*)"},{"include":"#pod-formatting"}]},"pod-formatting":{"patterns":[{"captures":{"1":{"name":"markup.italic.pod.perl"},"2":{"name":"markup.italic.pod.perl"}},"match":"I(?:<([^<>]+)>|<+(\\s+(?:(?<!\\s)>|[^>])+\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.bold.pod.perl"},"2":{"name":"markup.bold.pod.perl"}},"match":"B(?:<([^<>]+)>|<+(\\s+(?:(?<!\\s)>|[^>])+\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.raw.pod.perl"},"2":{"name":"markup.raw.pod.perl"}},"match":"C(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.underline.link.hyperlink.pod.perl"}},"match":"L<([^>]+)>","name":"entity.name.type.instance.pod.perl"},{"match":"[EFSXZ]<[^>]*>","name":"entity.name.type.instance.pod.perl"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)&(?![0-9A-Z_a-z])","name":"variable.other.regexp.match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)`(?![0-9A-Z_a-z])","name":"variable.other.regexp.pre-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)'(?![0-9A-Z_a-z])","name":"variable.other.regexp.post-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)\\+(?![0-9A-Z_a-z])","name":"variable.other.regexp.last-paren-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)\"(?![0-9A-Z_a-z])","name":"variable.other.readwrite.list-separator.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)0(?![0-9A-Z_a-z])","name":"variable.other.predefined.program-name.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)[!#$%()*,-/:-@\\[-_ab|~](?![0-9A-Z_a-z])","name":"variable.other.predefined.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$)[0-9]+(?![0-9A-Z_a-z])","name":"variable.other.subpattern.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)([$7A-Za-z]|::)([$0-9A-Z_a-z]|::)*\\b","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"},"2":{"name":"punctuation.definition.variable.perl"}},"match":"(\\$\\{)(?:[$7A-Za-z]|::)(?:[$0-9A-Z_a-z]|::)*(})","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)[0-9_]\\b","name":"variable.other.readwrite.global.special.perl"}]}},"scopeName":"source.perl"},{"displayName":"Makefile","name":"make","patterns":[{"include":"#comment"},{"include":"#variables"},{"include":"#variable-assignment"},{"include":"#directives"},{"include":"#recipe"},{"include":"#target"}],"repository":{"another-variable-braces":{"patterns":[{"begin":"(?<=\\{)(?!})","end":"(?=}|((?<!\\\\)\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"another-variable-parentheses":{"patterns":[{"begin":"(?<=\\()(?!\\))","end":"(?=\\)|((?<!\\\\)\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"braces-interpolation":{"begin":"\\{","end":"}","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"builtin-variable-braces":{"patterns":[{"match":"(?<=\\{)(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\.LIBPATTERNS)(?=\\s*})","name":"variable.language.makefile"}]},"builtin-variable-parentheses":{"patterns":[{"match":"(?<=\\()(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\.LIBPATTERNS)(?=\\s*\\))","name":"variable.language.makefile"}]},"comma":{"match":",","name":"punctuation.separator.delimeter.comma.makefile"},"comment":{"begin":"(^ +)?((?<!\\\\)(\\\\\\\\)*)(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.makefile"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.makefile"}},"end":"(?=[^\\\\])$","name":"comment.line.number-sign.makefile","patterns":[{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"directives":{"patterns":[{"begin":"^ *([-s]?include)\\b","beginCaptures":{"1":{"name":"keyword.control.include.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^ *(vpath)\\b","beginCaptures":{"1":{"name":"keyword.control.vpath.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^\\s*(?:(override)\\s*)?(define)\\s*(\\S+)\\s*([+:?]??=)?(?=\\s)","captures":{"1":{"name":"keyword.control.override.makefile"},"2":{"name":"keyword.control.define.makefile"},"3":{"name":"variable.other.makefile"},"4":{"name":"punctuation.separator.key-value.makefile"}},"end":"^\\s*(endef)\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\G(?!\\n)","end":"^","patterns":[{"include":"#comment"}]},{"include":"#variables"},{"include":"#directives"}]},{"begin":"^ *(export)\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"},{"match":"\\S+","name":"variable.other.makefile"}]},{"begin":"^ *(override|private)\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"}]},{"begin":"^ *(un(?:export|define))\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"match":"\\S+","name":"variable.other.makefile"}]},{"begin":"^\\s*(ifn??(?:eq|def))(?=\\s)","captures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^\\s*(endif)\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\G","end":"^","name":"meta.scope.condition.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"begin":"^\\s*else(?=\\s)\\s*(ifn??(?:eq|def))*(?=\\s)","beginCaptures":{"0":{"name":"keyword.control.else.makefile"}},"end":"^","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"include":"$self"}]}]},"flavor-variable-braces":{"patterns":[{"begin":"(?<=\\{)(origin|flavor)\\s(?=[^}\\s]+\\s*})","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=})","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"flavor-variable-parentheses":{"patterns":[{"begin":"(?<=\\()(origin|flavor)\\s(?=[^)\\s]+\\s*\\))","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=\\))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"function-variable-braces":{"patterns":[{"begin":"(?<=\\{)(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=}|((?<!\\\\)\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"function-variable-parentheses":{"patterns":[{"begin":"(?<=\\()(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=\\)|((?<!\\\\)\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"interpolation":{"patterns":[{"include":"#parentheses-interpolation"},{"include":"#braces-interpolation"}]},"parentheses-interpolation":{"begin":"\\(","end":"\\)","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"recipe":{"begin":"^\\t([-+@]*)","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"[^\\\\]$","name":"meta.scope.recipe.makefile","patterns":[{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#variables"}]},"simple-variable":{"patterns":[{"match":"\\$[^(){}]","name":"variable.language.makefile"}]},"target":{"begin":"^(?!\\t)([^:]*)(:)(?!=)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"support.function.target.$1.makefile"}},"match":"^\\s*(\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\s*$"},{"begin":"(?=\\S)","end":"(?=\\s|$)","name":"entity.name.function.target.makefile","patterns":[{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]}]},"2":{"name":"punctuation.separator.key-value.makefile"}},"end":"[^\\\\]$","name":"meta.scope.target.makefile","patterns":[{"begin":"\\G","end":"(?=[^\\\\])$","name":"meta.scope.prerequisites.makefile","patterns":[{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"include":"#comment"},{"include":"#variables"}]}]},"variable-assignment":{"begin":"(^ *|\\G\\s*)([^#:=\\s]+)\\s*((?:(?<![!+:?])|[!+:?])=)","beginCaptures":{"2":{"name":"variable.other.makefile","patterns":[{"include":"#variables"}]},"3":{"name":"punctuation.separator.key-value.makefile"}},"end":"\\n","patterns":[{"match":"\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#comment"},{"include":"#variables"}]},"variable-braces":{"patterns":[{"begin":"\\$\\{","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"}|((?<!\\\\)\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-braces"},{"include":"#function-variable-braces"},{"include":"#flavor-variable-braces"},{"include":"#another-variable-braces"}]}]},"variable-parentheses":{"patterns":[{"begin":"\\$\\(","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"\\)|((?<!\\\\)\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-parentheses"},{"include":"#function-variable-parentheses"},{"include":"#flavor-variable-parentheses"},{"include":"#another-variable-parentheses"}]}]},"variables":{"patterns":[{"include":"#simple-variable"},{"include":"#variable-parentheses"},{"include":"#variable-braces"}]}},"scopeName":"source.makefile"},{"displayName":"Lua","name":"lua","patterns":[{"begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}},"end":"(?<=[-\\]\"')\\[{}])","name":"meta.function.lua","patterns":[{"include":"#comment"},{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"end":"(\\))|(?=[-\\]\"'\\[{}])|(?<!\\.)\\.(?!\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.finish.lua"}},"name":"meta.parameter.lua","patterns":[{"include":"#comment"},{"captures":{"1":{"name":"constant.language.lua"},"2":{"name":"variable.parameter.function.lua"}},"match":"(\\.{3})\\s*([A-Z_a-z][0-9A-Z_a-z]*)"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.parameter.function.lua"},{"match":",","name":"punctuation.separator.arguments.lua"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.arguments.lua"}},"end":"(?=[),])","patterns":[{"include":"#emmydoc.type"}]}]},{"match":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b\\s*(?=:)","name":"entity.name.class.lua"},{"match":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b","name":"entity.name.function.lua"}]},{"match":"(?<![.\\w\\d])0[Xx]\\h+(\\.\\h*)?([Ee]-?\\d*)?([Pp][-+]\\d+)?","name":"constant.numeric.float.hexadecimal.lua"},{"match":"(?<![.\\w\\d])0[Xx]\\.\\h+([Ee]-?\\d*)?([Pp][-+]\\d+)?","name":"constant.numeric.float.hexadecimal.lua"},{"match":"(?<![.\\w\\d])0[Xx]\\h+(?![.0-9EPep])","name":"constant.numeric.integer.hexadecimal.lua"},{"match":"(?<![.\\w\\d])\\d+(\\.\\d*)?([Ee]-?\\d*)?","name":"constant.numeric.float.lua"},{"match":"(?<![.\\w\\d])\\.\\d+([Ee]-?\\d*)?","name":"constant.numeric.float.lua"},{"match":"(?<![.\\w\\d])\\d+(?![.0-9EPep])","name":"constant.numeric.integer.lua"},{"include":"#string"},{"captures":{"1":{"name":"punctuation.definition.comment.lua"}},"match":"\\A(#!).*$\\n?","name":"comment.line.shebang.lua"},{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.goto.lua"},"2":{"name":"string.tag.lua"}},"match":"\\b(goto)\\s+([A-Z_a-z][0-9A-Z_a-z]*)"},{"captures":{"1":{"name":"punctuation.section.embedded.begin.lua"},"2":{"name":"punctuation.section.embedded.end.lua"}},"match":"(::)\\s*[A-Z_a-z][0-9A-Z_a-z]*\\s*(::)","name":"string.tag.lua"},{"captures":{"0":{"name":"storage.type.attribute.lua"}},"match":"<\\s*(c(?:onst|lose))\\s*>"},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\b","name":"keyword.control.lua"},{"match":"\\b(local)\\b","name":"keyword.local.lua"},{"captures":{"1":{"name":"keyword.global.lua"}},"match":"^\\s*(global)\\b(?!\\s*=)"},{"match":"\\b(function)\\b(?![,:])","name":"keyword.control.lua"},{"match":"(?<![^.]\\.|:)\\b(false|nil(?!:)|true|_ENV|_G|_VERSION|math\\.(pi|huge|maxinteger|mininteger)|utf8\\.charpattern|io\\.(std(?:in|out|err))|package\\.(config|cpath|loaded|loaders|path|preload|searchers))\\b|(?<!\\.)\\.{3}(?!\\.)","name":"constant.language.lua"},{"match":"(?<![^.]\\.|:)\\b(self)\\b","name":"variable.language.self.lua"},{"match":"(?<![^.]\\.|:)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?!\\s*=(?!=))","name":"support.function.lua"},{"match":"(?<![^.]\\.|:)\\b(async)\\b(?!\\s*=(?!=))","name":"entity.name.tag.lua"},{"match":"(?<![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|create|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset))\\b(?!\\s*=(?!=))","name":"support.function.library.lua"},{"match":"\\b(\\|\\||&&|!)\\b","name":"keyword.operator.lua"},{"match":"\\b(and|or|not)\\b","name":"keyword.operator.logical.lua"},{"match":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(?=\\s*(?:[\"'({]|\\[\\[))","name":"support.function.any-method.lua"},{"match":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(?=\\s*\\??:)","name":"entity.name.class.lua"},{"match":"(?<=[^.]\\.|:)\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(?!\\s*=\\s*\\b(function)\\b)","name":"entity.other.attribute.lua"},{"match":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(?!\\s*=\\s*\\b(function)\\b)","name":"variable.other.lua"},{"match":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(?=\\s*=\\s*\\b(function)\\b)","name":"entity.name.function.lua"},{"match":"[-#%*+/^]|==?|~=|!=|<=?|>=?|(?<!\\.)\\.{2}(?!\\.)","name":"keyword.operator.lua"}],"repository":{"comment":{"patterns":[{"begin":"(^[\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.lua"}},"end":"(?!\\G)((?!^)[\\t ]+\\n)?","endCaptures":{"1":{"name":"punctuation.whitespace.comment.trailing.lua"}},"patterns":[{"begin":"--\\[(=*)\\[@@@","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"end":"(--)?]\\1]","endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}},"name":"","patterns":[{"include":"source.lua"}]},{"begin":"--\\[(=*)\\[","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"end":"(--)?]\\1]","endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}},"name":"comment.block.lua","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}]},{"begin":"----","beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}},"end":"\\n","name":"comment.line.double-dash.lua"},{"begin":"---","beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}},"end":"\\n","name":"comment.line.double-dash.documentation.lua","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}]},{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}},"end":"\\n","name":"comment.line.double-dash.lua","patterns":[{"include":"#ldoc_tag"}]}]},{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}},"name":"comment.block.lua","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}]}]},"emmydoc":{"patterns":[{"begin":"(?<=---)[\\t ]*@class","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"match":"\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"[,:]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\t ]*@enum","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.lua"}},"end":"(?=\\n)"}]},{"begin":"(?<=---)[\\t ]*@type","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"include":"#emmydoc.type"}]},{"begin":"(?<=---)[\\t ]*@alias","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.lua"}},"end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}]}]},{"begin":"(?<=---)[\\t ]*(@operator)\\s*(\\b[a-z]+)?","beginCaptures":{"1":{"name":"storage.type.annotation.lua"},"2":{"name":"support.function.library.lua"}},"end":"(?=[\\n#@])","patterns":[{"include":"#emmydoc.type"}]},{"begin":"(?<=---)[\\t ]*@cast","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.other.lua"}},"end":"(?=\\n)","patterns":[{"include":"#emmydoc.type"},{"match":"([+-|])","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\t ]*@param","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(\\??)","beginCaptures":{"1":{"name":"entity.name.variable.lua"},"2":{"name":"keyword.operator.lua"}},"end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}]}]},{"begin":"(?<=---)[\\t ]*@return","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"match":"\\?","name":"keyword.operator.lua"},{"include":"#emmydoc.type"}]},{"begin":"(?<=---)[\\t ]*@field","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"(\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b|(\\[))(\\??)","beginCaptures":{"2":{"name":"entity.name.variable.lua"},"3":{"name":"keyword.operator.lua"}},"end":"(?=[\\n#])","patterns":[{"include":"#string"},{"include":"#emmydoc.type"},{"match":"]","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\t ]*@generic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b","beginCaptures":{"0":{"name":"storage.type.generic.lua"}},"end":"(?=\\n)|(,)","endCaptures":{"0":{"name":"keyword.operator.lua"}},"patterns":[{"match":":","name":"keyword.operator.lua"},{"include":"#emmydoc.type"}]}]},{"begin":"(?<=---)[\\t ]*@vararg","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"include":"#emmydoc.type"}]},{"begin":"(?<=---)[\\t ]*@overload","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"include":"#emmydoc.type"}]},{"begin":"(?<=---)[\\t ]*@deprecated","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])"},{"begin":"(?<=---)[\\t ]*@meta","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])"},{"begin":"(?<=---)[\\t ]*@private","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])"},{"begin":"(?<=---)[\\t ]*@protected","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])"},{"begin":"(?<=---)[\\t ]*@package","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])"},{"begin":"(?<=---)[\\t ]*@version","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"match":"\\b(5\\.1|5\\.2|5\\.3|5\\.4|JIT)\\b","name":"support.class.lua"},{"match":"[,<>]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\t ]*@see","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"match":"\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"#","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\t ]*@diagnostic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"begin":"([-0-9A-Z_a-z]+)[\\t ]*(:)?","beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}},"end":"(?=\\n)","patterns":[{"match":"\\b([*A-Z_a-z][-0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":",","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\t ]*@module","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"include":"#string"}]},{"match":"(?<=---)[\\t ]*@(async|nodiscard)","name":"storage.type.annotation.lua"},{"begin":"(?<=---)\\|\\s*[+>]?","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\n#@])","patterns":[{"include":"#string"}]}]},"emmydoc.type":{"patterns":[{"begin":"\\bfun\\b","beginCaptures":{"0":{"name":"keyword.control.lua"}},"end":"(?=[#\\s])","patterns":[{"match":"[](),:<>?\\[][\\t ]*","name":"keyword.operator.lua"},{"match":"([A-Z_a-z][-*.0-9A-Z_a-z]*)(?<!,)[\\t ]*(?=\\??:)","name":"entity.name.variable.lua"},{"include":"#emmydoc.type"},{"include":"#string"}]},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\basync\\b","name":"entity.name.tag.lua"},{"match":"[,:?`{|}][\\t ]*","name":"keyword.operator.lua"},{"begin":"(?=[\"'*.A-\\[_a-z])","end":"(?=[#),:?|}\\s])","patterns":[{"match":"([-\\]*,.0-9<>A-\\[_a-z]+)(?<!,)[\\t ]*","name":"support.type.lua"},{"match":"(\\.\\.\\.)[\\t ]*","name":"constant.language.lua"},{"include":"#string"}]}]},"escaped_char":{"patterns":[{"match":"\\\\[\\n\"'\\\\abfnrtv]","name":"constant.character.escape.lua"},{"match":"\\\\z[\\t\\n ]*","name":"constant.character.escape.lua"},{"match":"\\\\\\d{1,3}","name":"constant.character.escape.byte.lua"},{"match":"\\\\x\\h\\h","name":"constant.character.escape.byte.lua"},{"match":"\\\\u\\{\\h+}","name":"constant.character.escape.unicode.lua"},{"match":"\\\\.","name":"invalid.illegal.character.escape.lua"}]},"ldoc_tag":{"captures":{"1":{"name":"punctuation.definition.block.tag.ldoc"},"2":{"name":"storage.type.class.ldoc"}},"match":"\\G[\\t ]*(@)(alias|annotation|author|charset|class|classmod|comment|constructor|copyright|description|example|export|factory|field|file|fixme|function|include|lfunction|license|local|module|name|param|pragma|private|raise|release|return|script|section|see|set|static|submodule|summary|tfield|thread|tparam|treturn|todo|topic|type|usage|warning|within)\\b"},"string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"end":"'[\\t ]*|(?=\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}},"name":"string.quoted.single.lua","patterns":[{"include":"#escaped_char"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"end":"\"[\\t ]*|(?=\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}},"name":"string.quoted.double.lua","patterns":[{"include":"#escaped_char"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"end":"`[\\t ]*|(?=\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}},"name":"string.quoted.double.lua"},{"begin":"(?<=\\.cdef)\\s*(\\[(=*)\\[)","beginCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.begin.lua"}},"contentName":"meta.embedded.lua","end":"(]\\2])[\\t ]*","endCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.end.lua"}},"patterns":[{"include":"source.c"}]},{"begin":"(?<!--)\\[(=*)\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"end":"]\\1][\\t ]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}},"name":"string.quoted.other.multiline.lua"}]}},"scopeName":"source.lua"},{"displayName":"Java","name":"java","patterns":[{"begin":"\\b(package)\\b\\s*","beginCaptures":{"1":{"name":"keyword.other.package.java"}},"contentName":"storage.modifier.package.java","end":"\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.package.java","patterns":[{"include":"#comments"},{"match":"(?<=\\.)\\s*\\.|\\.(?=\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\s*([.;]))|\\b\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"[A-Z]+","name":"invalid.deprecated.package_name_not_lowercase.java"},{"match":"\\b(?<!\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\.","name":"punctuation.separator.java"}]},{"begin":"\\b(import)\\b\\s*\\b(static)?\\b\\s","beginCaptures":{"1":{"name":"keyword.other.import.java"},"2":{"name":"storage.modifier.java"}},"contentName":"storage.modifier.import.java","end":"\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.import.java","patterns":[{"include":"#comments"},{"match":"(?<=\\.)\\s*\\.|\\.(?=\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!\\.)\\s*\\*","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\s*([.;]))|\\b\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\b(?<!\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\.","name":"punctuation.separator.java"},{"match":"\\*","name":"variable.language.wildcard.java"}]},{"include":"#comments-javadoc"},{"include":"#code"},{"include":"#module"}],"repository":{"all-types":{"patterns":[{"include":"#primitive-arrays"},{"include":"#primitive-types"},{"include":"#object-types"}]},"annotations":{"patterns":[{"begin":"((@)\\s*([^(\\s]+))(\\()","beginCaptures":{"2":{"name":"punctuation.definition.annotation.java"},"3":{"name":"storage.type.annotation.java"},"4":{"name":"punctuation.definition.annotation-arguments.begin.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.annotation-arguments.end.bracket.round.java"}},"name":"meta.declaration.annotation.java","patterns":[{"captures":{"1":{"name":"constant.other.key.java"},"2":{"name":"keyword.operator.assignment.java"}},"match":"(\\w*)\\s*(=)"},{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.annotation.java"},"2":{"name":"storage.modifier.java"},"3":{"name":"storage.type.annotation.java"},"5":{"name":"punctuation.definition.annotation.java"},"6":{"name":"storage.type.annotation.java"}},"match":"(@)(interface)\\s+(\\w*)|((@)\\s*(\\w+))","name":"meta.declaration.annotation.java"}]},"anonymous-block-and-instance-initializer":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.java"}},"patterns":[{"include":"#code"}]},"anonymous-classes-and-new":{"begin":"\\bnew\\b","beginCaptures":{"0":{"name":"keyword.control.new.java"}},"end":"(?=[])-.:;?}]|/(?![*/])|[!%\\&=^|])","patterns":[{"include":"#comments"},{"include":"#function-call"},{"include":"#all-types"},{"begin":"(?<=\\))","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.inner-class.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.inner-class.end.bracket.curly.java"}},"name":"meta.inner-class.java","patterns":[{"include":"#class-body"}]}]},{"begin":"(?<=])","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.array-initializer.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array-initializer.end.bracket.curly.java"}},"name":"meta.array-initializer.java","patterns":[{"include":"#code"}]}]},{"include":"#parens"}]},"assertions":{"patterns":[{"begin":"\\b(assert)\\s","beginCaptures":{"1":{"name":"keyword.control.assert.java"}},"end":"$","name":"meta.declaration.assertion.java","patterns":[{"match":":","name":"keyword.operator.assert.expression-separator.java"},{"include":"#code"}]}]},"class":{"begin":"(?=\\w?[-\\w\\s]*\\b(?:class|(?<!@)interface|enum)\\s+[$\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.class.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(class|(?<!@)interface|enum)\\s+([$\\w]+)","name":"meta.class.identifier.java"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.java"}},"end":"(?=\\{|implements|permits)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\s*extends|permits|\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(permits)\\s","beginCaptures":{"1":{"name":"storage.modifier.permits.java"}},"end":"(?=\\s*extends|implements|\\{)","name":"meta.definition.class.permits.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"contentName":"meta.class.body.java","end":"(?=})","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#generics"},{"include":"#static-initializer"},{"include":"#class-fields-and-methods"},{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#member-variables"},{"include":"#code"}]},"class-fields-and-methods":{"patterns":[{"begin":"(?==)","end":"(?=;)","patterns":[{"include":"#code"}]},{"include":"#methods"}]},"code":{"patterns":[{"include":"#annotations"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#record"},{"include":"#anonymous-block-and-instance-initializer"},{"include":"#try-catch-finally"},{"include":"#assertions"},{"include":"#parens"},{"include":"#constants-and-special-vars"},{"include":"#numbers"},{"include":"#anonymous-classes-and-new"},{"include":"#lambda-expression"},{"include":"#keywords"},{"include":"#storage-modifiers"},{"include":"#method-call"},{"include":"#function-call"},{"include":"#variables"},{"include":"#variables-local"},{"include":"#objects"},{"include":"#properties"},{"include":"#strings"},{"include":"#all-types"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\.","name":"punctuation.separator.period.java"},{"match":";","name":"punctuation.terminator.java"}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.java"}},"match":"/\\*\\*/","name":"comment.block.empty.java"},{"include":"#comments-inline"}]},"comments-inline":{"patterns":[{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\*/","name":"comment.block.java"},{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.java"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\n","name":"comment.line.double-slash.java"}]}]},"comments-javadoc":{"patterns":[{"begin":"^\\s*(/\\*\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.java"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"name":"comment.block.javadoc.java","patterns":[{"match":"@(author|deprecated|return|see|serial|since|version)\\b","name":"keyword.other.documentation.javadoc.java"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"variable.parameter.java"}},"match":"(@param)\\s+(\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(@(?:exception|throws))\\s+(\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"},"3":{"name":"variable.parameter.java"}},"match":"\\{(@link)\\s+(\\S+)?#([$\\w]+\\s*\\([^()]*\\)).*?}"}]}]},"constants-and-special-vars":{"patterns":[{"match":"\\b(true|false|null)\\b","name":"constant.language.java"},{"match":"\\bthis\\b","name":"variable.language.this.java"},{"match":"\\bsuper\\b","name":"variable.language.java"}]},"enums":{"begin":"^\\s*([\\w\\s]*)(enum)\\s+(\\w+)","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifiers"}]},"2":{"name":"storage.modifier.java"},"3":{"name":"entity.name.type.enum.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.enum.end.bracket.curly.java"}},"name":"meta.enum.java","patterns":[{"begin":"\\b(extends)\\b","beginCaptures":{"1":{"name":"storage.modifier.extends.java"}},"end":"(?=\\{|\\bimplements\\b)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\b(implements)\\b","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\{|\\bextends\\b)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.enum.begin.bracket.curly.java"}},"end":"(?=})","patterns":[{"begin":"(?<=\\{)","end":"(?=[;}])","patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\b(\\w+)\\b","beginCaptures":{"1":{"name":"constant.other.enum.java"}},"end":"(,)|(?=[;}])","endCaptures":{"1":{"name":"punctuation.separator.delimiter.java"}},"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#class-body"}]}]}]},{"include":"#class-body"}]}]},"function-call":{"begin":"([$A-Z_a-z][$\\w]*)\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.function-call.java","patterns":[{"include":"#code"}]},"generics":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"end":">","endCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"patterns":[{"match":"\\b(extends|super)\\b","name":"storage.modifier.$1.java"},{"captures":{"1":{"name":"storage.type.java"}},"match":"(?<!\\.)([$A-Z_a-z][$0-9A-Z_a-z]*)(?=\\s*<)"},{"include":"#primitive-arrays"},{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.generic.java"},{"match":"\\?","name":"storage.type.generic.wildcard.java"},{"match":"&","name":"punctuation.separator.types.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\.","name":"punctuation.separator.period.java"},{"include":"#parens"},{"include":"#generics"},{"include":"#comments"}]},"keywords":{"patterns":[{"match":"\\bthrow\\b","name":"keyword.control.throw.java"},{"match":"[:?]","name":"keyword.control.ternary.java"},{"match":"\\b(return|yield|break|case|continue|default|do|while|for|switch|if|else)\\b","name":"keyword.control.java"},{"match":"\\b(instanceof)\\b","name":"keyword.operator.instanceof.java"},{"match":"(<<|>>>?|[\\^~])","name":"keyword.operator.bitwise.java"},{"match":"(([\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.java"},{"match":"(===?|!=|<=|>=|<>|[<>])","name":"keyword.operator.comparison.java"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.java"},{"match":"(=)","name":"keyword.operator.assignment.java"},{"match":"(--|\\+\\+)","name":"keyword.operator.increment-decrement.java"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.java"},{"match":"(!|&&|\\|\\|)","name":"keyword.operator.logical.java"},{"match":"([\\&|])","name":"keyword.operator.bitwise.java"},{"match":"\\b(const|goto)\\b","name":"keyword.reserved.java"}]},"lambda-expression":{"patterns":[{"match":"->","name":"storage.type.function.arrow.java"}]},"member-variables":{"begin":"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)","end":"(?=[;=])","patterns":[{"include":"#storage-modifiers"},{"include":"#variables"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"method-call":{"begin":"(\\.)\\s*([$A-Z_a-z][$\\w]*)\\s*(\\()","beginCaptures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"entity.name.function.java"},"3":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method-call.java","patterns":[{"include":"#code"}]},"methods":{"begin":"(?!new)(?=[<\\w].*\\s+)(?=([^/=]|/(?!/))+\\()","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\w+)\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method.identifier.java","patterns":[{"include":"#parameters"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#generics"},{"begin":"(?=\\w.*\\s+\\w+\\s*\\()","end":"(?=\\s+\\w+\\s*\\()","name":"meta.method.return-type.java","patterns":[{"include":"#all-types"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#throws"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]},{"include":"#comments"}]},"module":{"begin":"((open)\\s)?(module)\\s+(\\w+)","beginCaptures":{"1":{"name":"storage.modifier.java"},"3":{"name":"storage.modifier.java"},"4":{"name":"entity.name.type.module.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.module.end.bracket.curly.java"}},"name":"meta.module.java","patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.module.begin.bracket.curly.java"}},"contentName":"meta.module.body.java","end":"(?=})","patterns":[{"include":"#comments"},{"include":"#comments-javadoc"},{"match":"\\b(requires|transitive|exports|opens|to|uses|provides|with)\\b","name":"keyword.module.java"}]}]},"numbers":{"patterns":[{"match":"\\b(?<!\\$)0([Xx])((?<!\\.)\\h([_\\h]*\\h)?[Ll]?(?!\\.)|(\\h([_\\h]*\\h)?\\.?|(\\h([_\\h]*\\h)?)?\\.\\h([_\\h]*\\h)?)[Pp][-+]?[0-9]([0-9_]*[0-9])?[DFdf]?)\\b(?!\\$)","name":"constant.numeric.hex.java"},{"match":"\\b(?<!\\$)0([Bb])[01]([01_]*[01])?[Ll]?\\b(?!\\$)","name":"constant.numeric.binary.java"},{"match":"\\b(?<!\\$)0[0-7]([0-7_]*[0-7])?[Ll]?\\b(?!\\$)","name":"constant.numeric.octal.java"},{"match":"(?<!\\$)(\\b[0-9]([0-9_]*[0-9])?\\.\\B(?!\\.)|\\b[0-9]([0-9_]*[0-9])?\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\b|\\b[0-9]([0-9_]*[0-9])?\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\b|\\b[0-9]([0-9_]*[0-9])?\\.([0-9]([0-9_]*[0-9])?)([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\b|(?<!\\.)\\B\\.[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\b|\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\b|\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\b|\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\.)[Ll]?\\b)(?!\\$)","name":"constant.numeric.decimal.java"}]},"object-types":{"patterns":[{"include":"#generics"},{"begin":"\\b((?:[A-Z_a-z]\\w*\\s*\\.\\s*)*)([A-Z_]\\w*)\\s*(?=\\[)","beginCaptures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\w*","name":"storage.type.java"},{"match":"\\.","name":"punctuation.separator.period.java"}]},"2":{"name":"storage.type.object.array.java"}},"end":"(?!\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\w*","name":"storage.type.java"},{"match":"\\.","name":"punctuation.separator.period.java"}]}},"match":"\\b((?:[A-Z_a-z]\\w*\\s*\\.\\s*)*[A-Z_]\\w*)\\s*(?=<)"},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\w*","name":"storage.type.java"},{"match":"\\.","name":"punctuation.separator.period.java"}]}},"match":"\\b((?:[A-Z_a-z]\\w*\\s*\\.\\s*)*[A-Z_]\\w*)\\b((?=\\s*[\\n$A-Z_a-z])|(?=\\s*\\.\\.\\.))"}]},"object-types-inherited":{"patterns":[{"include":"#generics"},{"captures":{"1":{"name":"punctuation.separator.period.java"}},"match":"\\b(?:[A-Z]\\w*\\s*(\\.)\\s*)*[A-Z]\\w*\\b","name":"entity.other.inherited-class.java"},{"match":",","name":"punctuation.separator.delimiter.java"}]},"objects":{"match":"(?<![$\\w])[$A-Z_a-z][$\\w]*(?=\\s*\\.\\s*[$\\w]+)","name":"variable.other.object.java"},"parameters":{"patterns":[{"match":"\\bfinal\\b","name":"storage.modifier.java"},{"include":"#annotations"},{"include":"#all-types"},{"include":"#strings"},{"match":"\\w+","name":"variable.parameter.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\.\\.\\.","name":"punctuation.definition.parameters.varargs.java"}]},"parens":{"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#code"}]}]},"primitive-arrays":{"patterns":[{"begin":"\\b(void|boolean|byte|char|short|int|float|long|double)\\b\\s*(?=\\[)","beginCaptures":{"1":{"name":"storage.type.primitive.array.java"}},"end":"(?!\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]}]},"primitive-types":{"match":"\\b(void|boolean|byte|char|short|int|float|long|double)\\b","name":"storage.type.primitive.java"},"properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"keyword.control.new.java"}},"match":"(\\.)\\s*(new)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\.)\\s*([$A-Z_a-z][$\\w]*)(?=\\s*\\.\\s*[$A-Z_a-z][$\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\.)\\s*([$A-Z_a-z][$\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"invalid.illegal.identifier.java"}},"match":"(\\.)\\s*([0-9][$\\w]*)"}]},"record":{"begin":"(?=\\w?[\\w\\s]*\\brecord\\s+[$\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.record.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"begin":"(record)\\s+([$\\w]+)(<[$\\w]+>)?(\\()","beginCaptures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.record.java"},"3":{"patterns":[{"include":"#generics"}]},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.record.identifier.java","patterns":[{"include":"#code"}]},{"begin":"(implements)\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\s*\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"include":"#record-body"}]},"record-body":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"end":"(?=})","name":"meta.record.body.java","patterns":[{"include":"#record-constructor"},{"include":"#class-body"}]},"record-constructor":{"begin":"(?!new)(?=[<\\w].*\\s+)(?=([^(/=]|/(?!/))+(?=\\{))","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\w+)","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"(?=\\s*\\{)","name":"meta.method.identifier.java","patterns":[{"include":"#comments"}]},{"include":"#comments"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},"static-initializer":{"patterns":[{"include":"#anonymous-block-and-instance-initializer"},{"match":"static","name":"storage.modifier.java"}]},"storage-modifiers":{"match":"\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\b","name":"storage.modifier.java"},"strings":{"patterns":[{"begin":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\"\"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.triple.java","patterns":[{"match":"(\\\\\"\"\")(?!\")|(\\\\.)","name":"constant.character.escape.java"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.double.java","patterns":[{"match":"\\\\.","name":"constant.character.escape.java"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.single.java","patterns":[{"match":"\\\\.","name":"constant.character.escape.java"}]}]},"throws":{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.java"}},"end":"(?=[;{])","name":"meta.throwables.java","patterns":[{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"[$A-Z_a-z][$.0-9A-Z_a-z]*","name":"storage.type.java"},{"include":"#comments"}]},"try-catch-finally":{"patterns":[{"begin":"\\btry\\b","beginCaptures":{"0":{"name":"keyword.control.try.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.try.end.bracket.curly.java"}},"name":"meta.try.java","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.section.try.resources.begin.bracket.round.java"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.try.resources.end.bracket.round.java"}},"name":"meta.try.resources.java","patterns":[{"include":"#code"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.try.begin.bracket.curly.java"}},"contentName":"meta.try.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\b(catch)\\b","beginCaptures":{"1":{"name":"keyword.control.catch.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.catch.end.bracket.curly.java"}},"name":"meta.catch.java","patterns":[{"include":"#comments"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"contentName":"meta.catch.parameters.java","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"patterns":[{"include":"#comments"},{"include":"#storage-modifiers"},{"begin":"[$A-Z_a-z][$.0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"storage.type.java"}},"end":"(\\|)|(?=\\))","endCaptures":{"1":{"name":"punctuation.catch.separator.java"}},"patterns":[{"include":"#comments"},{"captures":{"0":{"name":"variable.parameter.java"}},"match":"\\w+"}]}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.catch.begin.bracket.curly.java"}},"contentName":"meta.catch.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\bfinally\\b","beginCaptures":{"0":{"name":"keyword.control.finally.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.finally.end.bracket.curly.java"}},"name":"meta.finally.java","patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.finally.begin.bracket.curly.java"}},"contentName":"meta.finally.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]}]},"variables":{"begin":"(?=\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\w+\\.)*[A-Z_]+\\w*))\\b\\s*(<[],.<>?\\[\\w\\s]*>)?\\s*((\\[])*)?\\s+[$A-Z_a-z][$\\w]*([]$,\\[\\w][],\\[\\w\\s]*)?\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.java","patterns":[{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\w]*)(?=\\s*(\\[])*\\s*([,:;=]))"},{"include":"#all-types"},{"include":"#code"}]},"variables-local":{"begin":"(?=\\b(var)\\b\\s+[$A-Z_a-z][$\\w]*\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.local.java","patterns":[{"match":"\\bvar\\b","name":"storage.type.local.java"},{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\w]*)(?=\\s*(\\[])*\\s*([:;=]))"},{"include":"#code"}]}},"scopeName":"source.java"},{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\b([-.0-9A-Z_a-z]+)\\b\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini"},{"displayName":"GraphQL","fileTypes":["graphql","graphqls","gql","graphcool"],"name":"graphql","patterns":[{"include":"#graphql"}],"repository":{"graphql":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-fragment-definition"},{"include":"#graphql-directive-definition"},{"include":"#graphql-type-interface"},{"include":"#graphql-enum"},{"include":"#graphql-scalar"},{"include":"#graphql-union"},{"include":"#graphql-schema"},{"include":"#graphql-operation-def"},{"include":"#literal-quasi-embedded"}]},"graphql-ampersand":{"captures":{"1":{"name":"keyword.operator.logical.graphql"}},"match":"\\s*(&)"},"graphql-arguments":{"begin":"\\s*(\\()","beginCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}},"end":"\\s*(\\))","endCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}},"name":"meta.arguments.graphql","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"begin":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)","beginCaptures":{"1":{"name":"variable.parameter.graphql"},"2":{"name":"punctuation.colon.graphql"}},"end":"(?=\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)|\\)))|\\s*(,)","endCaptures":{"3":{"name":"punctuation.comma.graphql"}},"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-value"},{"include":"#graphql-skip-newlines"}]},{"include":"#literal-quasi-embedded"}]},"graphql-boolean-value":{"captures":{"1":{"name":"constant.language.boolean.graphql"}},"match":"\\s*\\b(true|false)\\b"},"graphql-colon":{"captures":{"1":{"name":"punctuation.colon.graphql"}},"match":"\\s*(:)"},"graphql-comma":{"captures":{"1":{"name":"punctuation.comma.graphql"}},"match":"\\s*(,)"},"graphql-comment":{"patterns":[{"captures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}},"match":"(\\s*)(#).*","name":"comment.line.graphql.js"},{"begin":"(\"\"\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}},"end":"(\"\"\")","name":"comment.line.graphql.js"},{"begin":"(\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}},"end":"(\")","name":"comment.line.graphql.js"}]},"graphql-description-docstring":{"begin":"\"\"\"","end":"\"\"\"","name":"comment.block.graphql"},"graphql-description-singleline":{"match":"#(?=([^\"]*\"[^\"]*\")*[^\"]*$).*$","name":"comment.line.number-sign.graphql"},"graphql-directive":{"applyEndPatternLast":1,"begin":"\\s*((@)\\s*([A-Z_a-z][0-9A-Z_a-z]*))","beginCaptures":{"1":{"name":"entity.name.function.directive.graphql"}},"end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-arguments"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-directive-definition":{"applyEndPatternLast":1,"begin":"\\s*\\b(directive)\\b\\s*(@[A-Z_a-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.directive.graphql"},"2":{"name":"entity.name.function.directive.graphql"},"3":{"name":"keyword.on.graphql"},"4":{"name":"support.type.graphql"}},"end":"(?=.)","patterns":[{"include":"#graphql-variable-definitions"},{"applyEndPatternLast":1,"begin":"\\s*\\b(on)\\b\\s*([A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.on.graphql"},"2":{"name":"support.type.location.graphql"}},"end":"(?=.)","patterns":[{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"},{"captures":{"2":{"name":"support.type.location.graphql"}},"match":"\\s*(\\|)\\s*([A-Z_a-z]*)"}]},{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"}]},"graphql-enum":{"begin":"\\s*+\\b(enum)\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.enum.graphql"},"2":{"name":"support.type.enum.graphql"}},"end":"(?<=})","name":"meta.enum.graphql","patterns":[{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.operation.graphql"}},"name":"meta.type.object.graphql","patterns":[{"include":"#graphql-object-type"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-enum-value"},{"include":"#literal-quasi-embedded"}]},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"}]},"graphql-enum-value":{"match":"\\s*(?!=\\b(true|false|null)\\b)([A-Z_a-z][0-9A-Z_a-z]*)","name":"constant.character.enum.graphql"},"graphql-field":{"patterns":[{"captures":{"1":{"name":"string.unquoted.alias.graphql"},"2":{"name":"punctuation.colon.graphql"}},"match":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)"},{"captures":{"1":{"name":"variable.graphql"}},"match":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)"},{"include":"#graphql-arguments"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-float-value":{"captures":{"1":{"name":"constant.numeric.float.graphql"}},"match":"\\s*(-?(0|[1-9][0-9]*)(\\.[0-9]+)?(([Ee])([-+])?[0-9]+)?)"},"graphql-fragment-definition":{"begin":"\\s*\\b(fragment)\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*)?\\s*\\b(on)\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*)","captures":{"1":{"name":"keyword.fragment.graphql"},"2":{"name":"entity.name.fragment.graphql"},"3":{"name":"keyword.on.graphql"},"4":{"name":"support.type.graphql"}},"end":"(?<=})","name":"meta.fragment.graphql","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}]},"graphql-fragment-spread":{"applyEndPatternLast":1,"begin":"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([A-Z_a-z][0-9A-Z_a-z]*)","captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"variable.fragment.graphql"}},"end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-ignore-spaces":{"match":"\\s*"},"graphql-inline-fragment":{"applyEndPatternLast":1,"begin":"\\s*(\\.\\.\\.)\\s*(?:\\b(on)\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*))?","captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"keyword.on.graphql"},"3":{"name":"support.type.graphql"}},"end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}]},"graphql-input-types":{"patterns":[{"include":"#graphql-scalar-type"},{"captures":{"1":{"name":"support.type.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}},"match":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)(?:\\s*(!))?"},{"begin":"\\s*(\\[)","captures":{"1":{"name":"meta.brace.square.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}},"end":"\\s*(])(?:\\s*(!))?","name":"meta.type.list.graphql","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-input-types"},{"include":"#graphql-comma"},{"include":"#literal-quasi-embedded"}]}]},"graphql-list-value":{"patterns":[{"begin":"\\s*+(\\[)","beginCaptures":{"1":{"name":"meta.brace.square.graphql"}},"end":"\\s*(])","endCaptures":{"1":{"name":"meta.brace.square.graphql"}},"name":"meta.listvalues.graphql","patterns":[{"include":"#graphql-value"}]}]},"graphql-name":{"captures":{"1":{"name":"entity.name.function.graphql"}},"match":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)"},"graphql-null-value":{"captures":{"1":{"name":"constant.language.null.graphql"}},"match":"\\s*\\b(null)\\b"},"graphql-object-field":{"captures":{"1":{"name":"constant.object.key.graphql"},"2":{"name":"string.unquoted.graphql"},"3":{"name":"punctuation.graphql"}},"match":"\\s*(([A-Z_a-z][0-9A-Z_a-z]*))\\s*(:)"},"graphql-object-value":{"patterns":[{"begin":"\\s*+(\\{)","beginCaptures":{"1":{"name":"meta.brace.curly.graphql"}},"end":"\\s*(})","endCaptures":{"1":{"name":"meta.brace.curly.graphql"}},"name":"meta.objectvalues.graphql","patterns":[{"include":"#graphql-object-field"},{"include":"#graphql-value"}]}]},"graphql-operation-def":{"patterns":[{"include":"#graphql-query-mutation"},{"include":"#graphql-name"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"}]},"graphql-query-mutation":{"captures":{"1":{"name":"keyword.operation.graphql"}},"match":"\\s*\\b(query|mutation)\\b"},"graphql-scalar":{"captures":{"1":{"name":"keyword.scalar.graphql"},"2":{"name":"entity.scalar.graphql"}},"match":"\\s*\\b(scalar)\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*)"},"graphql-scalar-type":{"captures":{"1":{"name":"support.type.builtin.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}},"match":"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?"},"graphql-schema":{"begin":"\\s*\\b(schema)\\b","beginCaptures":{"1":{"name":"keyword.schema.graphql"}},"end":"(?<=})","patterns":[{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.operation.graphql"}},"patterns":[{"begin":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)(?=\\s*\\(|:)","beginCaptures":{"1":{"name":"variable.arguments.graphql"}},"end":"(?=\\s*(([A-Z_a-z][0-9A-Z_a-z]*)\\s*([(:])|(})))|\\s*(,)","endCaptures":{"5":{"name":"punctuation.comma.graphql"}},"patterns":[{"captures":{"1":{"name":"support.type.graphql"}},"match":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-colon"},{"include":"#graphql-skip-newlines"}]},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"}]},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}]},"graphql-selection-set":{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.operation.graphql"}},"name":"meta.selectionset.graphql","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-field"},{"include":"#graphql-fragment-spread"},{"include":"#graphql-inline-fragment"},{"include":"#graphql-comma"},{"include":"#native-interpolation"},{"include":"#literal-quasi-embedded"}]},"graphql-skip-newlines":{"match":"\\s*\\n"},"graphql-string-content":{"patterns":[{"match":"\\\\[\"'/\\\\bfnrt]","name":"constant.character.escape.graphql"},{"match":"\\\\u(\\h{4})","name":"constant.character.escape.graphql"}]},"graphql-string-value":{"begin":"\\s*+((\"))","beginCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.begin.graphql"}},"contentName":"string.quoted.double.graphql","end":"\\s*+(?:((\"))|(\\n))","endCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.end.graphql"},"3":{"name":"invalid.illegal.newline.graphql"}},"patterns":[{"include":"#graphql-string-content"},{"include":"#literal-quasi-embedded"}]},"graphql-type-definition":{"begin":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)(?=\\s*\\(|:)","beginCaptures":{"1":{"name":"variable.graphql"}},"end":"(?=\\s*(([A-Z_a-z][0-9A-Z_a-z]*)\\s*([(:])|(})))|\\s*(,)","endCaptures":{"5":{"name":"punctuation.comma.graphql"}},"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-type-object"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#literal-quasi-embedded"}]},"graphql-type-interface":{"applyEndPatternLast":1,"begin":"\\s*\\b(?:(extends?)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*)?","captures":{"1":{"name":"keyword.type.graphql"},"2":{"name":"keyword.type.graphql"},"3":{"name":"keyword.interface.graphql"},"4":{"name":"keyword.input.graphql"},"5":{"name":"support.type.graphql"}},"end":"(?=.)","name":"meta.type.interface.graphql","patterns":[{"begin":"\\s*\\b(implements)\\b\\s*","beginCaptures":{"1":{"name":"keyword.implements.graphql"}},"end":"\\s*(?=\\{)","patterns":[{"captures":{"1":{"name":"support.type.graphql"}},"match":"\\s*([A-Z_a-z][0-9A-Z_a-z]*)"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-ampersand"},{"include":"#graphql-comma"}]},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-type-object"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-ignore-spaces"}]},"graphql-type-object":{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.operation.graphql"}},"name":"meta.type.object.graphql","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-object-type"},{"include":"#graphql-type-definition"},{"include":"#literal-quasi-embedded"}]},"graphql-union":{"applyEndPatternLast":1,"begin":"\\s*\\b(union)\\b\\s*([A-Z_a-z][0-9A-Z_a-z]*)","captures":{"1":{"name":"keyword.union.graphql"},"2":{"name":"support.type.graphql"}},"end":"(?=.)","patterns":[{"applyEndPatternLast":1,"begin":"\\s*(=)\\s*([A-Z_a-z][0-9A-Z_a-z]*)","captures":{"1":{"name":"punctuation.assignment.graphql"},"2":{"name":"support.type.graphql"}},"end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"},{"captures":{"1":{"name":"punctuation.or.graphql"},"2":{"name":"support.type.graphql"}},"match":"\\s*(\\|)\\s*([A-Z_a-z][0-9A-Z_a-z]*)"}]},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}]},"graphql-union-mark":{"captures":{"1":{"name":"punctuation.union.graphql"}},"match":"\\s*(\\|)"},"graphql-value":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-variable-name"},{"include":"#graphql-float-value"},{"include":"#graphql-string-value"},{"include":"#graphql-boolean-value"},{"include":"#graphql-null-value"},{"include":"#graphql-enum-value"},{"include":"#graphql-list-value"},{"include":"#graphql-object-value"},{"include":"#literal-quasi-embedded"}]},"graphql-variable-assignment":{"applyEndPatternLast":1,"begin":"\\s(=)","beginCaptures":{"1":{"name":"punctuation.assignment.graphql"}},"end":"(?=[\\n),])","patterns":[{"include":"#graphql-value"}]},"graphql-variable-definition":{"begin":"\\s*(\\$?[A-Z_a-z][0-9A-Z_a-z]*)(?=\\s*\\(|:)","beginCaptures":{"1":{"name":"variable.parameter.graphql"}},"end":"(?=\\s*((\\$?[A-Z_a-z][0-9A-Z_a-z]*)\\s*([(:])|([)}])))|\\s*(,)","endCaptures":{"5":{"name":"punctuation.comma.graphql"}},"name":"meta.variables.graphql","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#graphql-variable-assignment"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-variable-definitions":{"begin":"\\s*(\\()","captures":{"1":{"name":"meta.brace.round.graphql"}},"end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-variable-definition"},{"include":"#literal-quasi-embedded"}]},"graphql-variable-name":{"captures":{"1":{"name":"variable.graphql"}},"match":"\\s*(\\$[A-Z_a-z][0-9A-Z_a-z]*)"},"native-interpolation":{"begin":"\\s*(\\$\\{)","beginCaptures":{"1":{"name":"keyword.other.substitution.begin"}},"end":"(})","endCaptures":{"1":{"name":"keyword.other.substitution.end"}},"name":"native.interpolation","patterns":[{"include":"source.js"},{"include":"source.ts"},{"include":"source.js.jsx"},{"include":"source.tsx"}]}},"scopeName":"source.graphql"},{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\s*(\\[)([^]\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\s*(\\[\\[)([^]\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\S+(\\s*(?=\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\s*(=)\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"((\")(.*?)(\"))\\s*(=)\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.definition.variable.begin.toml"},"3":{"patterns":[{"match":"\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\[^\"\\\\bfnrt]","name":"invalid.illegal.escape.toml"},{"match":"\"","name":"invalid.illegal.not-allowed-here.toml"}]},"4":{"name":"punctuation.definition.variable.end.toml"},"5":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"((')([^']*)('))\\s*(=)\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.definition.variable.begin.toml"},"4":{"name":"punctuation.definition.variable.end.toml"},"5":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"(((?:[-0-9A-Z_a-z]+|\"(?:[^\"\\\\]|\\\\.)*\"|'[^']*')(?:\\s*\\.\\s*|(?=\\s*=))){2,})\\s*(=)\\s*","captures":{"1":{"name":"variable.other.key.toml","patterns":[{"match":"\\.","name":"punctuation.separator.variable.toml"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.toml"},"2":{"patterns":[{"match":"\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\[^\"\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},"3":{"name":"punctuation.definition.variable.end.toml"}},"match":"(\")((?:[^\"\\\\]|\\\\.)*)(\")"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.toml"},"2":{"name":"punctuation.definition.variable.end.toml"}},"match":"(')[^']*(')"}]},"3":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]}]},"primatives":{"patterns":[{"begin":"\\G\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"\"{3,5}","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.triple.double.toml","patterns":[{"match":"\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\[^\\n\"\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},{"begin":"\\G\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.double.toml","patterns":[{"match":"\\\\([\"\\\\bfnrt]|u\\h{4}|U\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\[^\"\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},{"begin":"\\G'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"'{3,5}","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.triple.single.toml"},{"begin":"\\G'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.single.toml"},{"match":"\\G[0-9]{4}-(0[1-9]|1[012])-(?!00|3[2-9])[0-3][0-9]([ Tt](?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\.[0-9]+)?(Z|[-+](?!2[5-9])[012][0-9]:[0-5][0-9])?)?","name":"constant.other.date.toml"},{"match":"\\G(?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\.[0-9]+)?","name":"constant.other.time.toml"},{"match":"\\G(true|false)","name":"constant.language.boolean.toml"},{"match":"\\G0x\\h(_??\\h)*","name":"constant.numeric.hex.toml"},{"match":"\\G0o[0-7]([0-7]|_[0-7])*","name":"constant.numeric.octal.toml"},{"match":"\\G0b[01]([01]|_[01])*","name":"constant.numeric.binary.toml"},{"match":"\\G[-+]?(inf|nan)","name":"constant.numeric.toml"},{"match":"\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?=[.Ee])(\\.([0-9](([0-9]|_[0-9])+)?))?([Ee]([-+]?[0-9](([0-9]|_[0-9])+)?))?","name":"constant.numeric.float.toml"},{"match":"\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))","name":"constant.numeric.integer.toml"},{"begin":"\\G\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.toml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.toml"}},"name":"meta.array.toml","patterns":[{"begin":"(?=[\"']|[-+]?[0-9]|[-+]?(inf|nan)|true|false|[\\[{])","end":",|(?=])","endCaptures":{"0":{"name":"punctuation.separator.array.toml"}},"patterns":[{"include":"#primatives"},{"include":"#comments"},{"include":"#invalid"}]},{"include":"#comments"},{"include":"#invalid"}]},{"begin":"\\G\\{","beginCaptures":{"0":{"name":"punctuation.definition.inline-table.begin.toml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.inline-table.end.toml"}},"name":"meta.inline-table.toml","patterns":[{"begin":"(?=\\S)","end":",|(?=})","endCaptures":{"0":{"name":"punctuation.separator.inline-table.toml"}},"patterns":[{"include":"#key_pair"}]},{"include":"#comments"}]}]}},"scopeName":"source.toml"},{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\]!\"#%\\&'*,:>?@\\[`{|}\\s]|[-:?]\\S)([^:\\s]|:\\S|\\s+(?![#\\s]))*\\s*:(\\s|$))","end":"(?=\\s*$|\\s+#|\\s*:(\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\]!\"#%\\&'*,:>?@\\[`{|}\\s]|[-:?]\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\s*$|\\s+#|\\s*:(\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\|)|(>))([1-9])?([-+])?(.*\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\S)|(?!\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\1|\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\t ]*)|[\\t ]+)(?=#\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\G(YAML)[\\t ]+(\\d+\\.\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\G(TAG)(?:[\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\t ]+(!(?:%\\h{2}|[]!#$\\&-;=?-\\[_a-z~])*|(?![]!,\\[{}])(?:%\\h{2}|[]!#$\\&-;=?-\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\G(\\w+)(?:[\\t ]+(\\w+)(?:[\\t ]+(\\w+))?)?"},{"match":"\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\*))([^],/\\[{}\\s]+)([^],}\\s]\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\s|$|[],\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\]!\"#%\\&'*,:>?@\\[`{|}\\s]|[-:?][^],\\[{}\\s])([^],:\\[{}\\s]|:[^],\\[{}\\s]|\\s+(?![#\\s]))*\\s*:(\\s|$))","end":"(?=\\s*$|\\s+#|\\s*:(\\s|$)|\\s*:[],\\[{}]|\\s*[],\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\]!\"#%\\&'*,:>?@\\[`{|}\\s]|[-:?][^],\\[{}\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\s*$|\\s+#|\\s*:(\\s|$)|\\s*:[],\\[{}]|\\s*[],\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\s|$|[],\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\([ \"/0LN\\\\_abefnprtv]|x\\d\\d|u\\d{4}|U\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\]!\"#%\\&'*,:>?@\\[`{|}\\s]|[-:?][^],\\[{}\\s]","end":"(?=\\s*$|\\s+#|\\s*:(\\s|$)|\\s*:[],\\[{}]|\\s*[],\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))|(\\d{4}-\\d{2}-\\d{2}|\\d{4}-\\d{1,2}-\\d{1,2}(?:[Tt]|[\\t ]+)\\d{1,2}:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[\\t ]*Z|[-+]\\d{1,2}(?::\\d{1,2})?)?)|(=)|(<<))(?=\\s*$|\\s+#|\\s*:(\\s|$)|\\s*:[],\\[{}]|\\s*[],\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\]!\"#%\\&'*,:>?@\\[`{|}\\s]|[-:?]\\S","end":"(?=\\s*$|\\s+#|\\s*:(\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))|(\\d{4}-\\d{2}-\\d{2}|\\d{4}-\\d{1,2}-\\d{1,2}(?:[Tt]|[\\t ]+)\\d{1,2}:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[\\t ]*Z|[-+]\\d{1,2}(?::\\d{1,2})?)?)|(=)|(<<))(?=\\s*$|\\s+#|\\s*:(\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\&])","end":"(?!\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\G((&))([^],/\\[{}\\s]+)(\\S+)?"},{"match":"\\G!(?:<(?:%\\h{2}|[]!#$\\&-;=?-\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\h{2}|[#$\\&-+\\--;=?-Z_a-z~])+|)(?=[\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml"},{"displayName":"JSON5","fileTypes":["json5"],"name":"json5","patterns":[{"include":"#comments"},{"include":"#value"}],"repository":{"array":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json5"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json5"}},"name":"meta.structure.array.json5","patterns":[{"include":"#comments"},{"include":"#value"},{"match":",","name":"punctuation.separator.array.json5"},{"match":"[^]\\s]","name":"invalid.illegal.expected-array-separator.json5"}]},"comments":{"patterns":[{"match":"/{2}.*","name":"comment.single.json5"},{"begin":"/\\*\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json5"}},"end":"\\*/","name":"comment.block.documentation.json5"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.json5"}},"end":"\\*/","name":"comment.block.json5"}]},"constant":{"match":"\\b(?:true|false|null|Infinity|NaN)\\b","name":"constant.language.json5"},"infinity":{"match":"(-)*\\b(?:Infinity|NaN)\\b","name":"constant.language.json5"},"key":{"name":"string.key.json5","patterns":[{"include":"#stringSingle"},{"include":"#stringDouble"},{"match":"[-0-9A-Z_a-z]","name":"string.key.json5"}]},"number":{"patterns":[{"match":"(0x)[0-9A-f]*","name":"constant.hex.numeric.json5"},{"match":"[+-.]?(?=[1-9]|0(?!\\d))\\d+(\\.\\d+)?([Ee][-+]?\\d+)?","name":"constant.dec.numeric.json5"}]},"object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json5"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json5"}},"name":"meta.structure.dictionary.json5","patterns":[{"include":"#comments"},{"include":"#key"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json5"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json5"}},"name":"meta.structure.dictionary.value.json5","patterns":[{"include":"#value"},{"match":"[^,\\s]","name":"invalid.illegal.expected-dictionary-separator.json5"}]},{"match":"[^}\\s]","name":"invalid.illegal.expected-dictionary-separator.json5"}]},"stringDouble":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json5"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json5"}},"name":"string.quoted.json5","patterns":[{"match":"\\\\(?:[\"/\\\\bfnrt]|u\\h{4})","name":"constant.character.escape.json5"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-string-escape.json5"}]},"stringSingle":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json5"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.json5"}},"name":"string.quoted.json5","patterns":[{"match":"\\\\(?:[\"/\\\\bfnrt]|u\\h{4})","name":"constant.character.escape.json5"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-string-escape.json5"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#infinity"},{"include":"#number"},{"include":"#stringSingle"},{"include":"#stringDouble"},{"include":"#array"},{"include":"#object"}]}},"scopeName":"source.json5"},{"displayName":"JSON with Comments","name":"jsonc","patterns":[{"include":"#value"}],"repository":{"array":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json.comments"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json.comments"}},"name":"meta.structure.array.json.comments","patterns":[{"include":"#value"},{"match":",","name":"punctuation.separator.array.json.comments"},{"match":"[^]\\s]","name":"invalid.illegal.expected-array-separator.json.comments"}]},"comments":{"patterns":[{"begin":"/\\*\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json.comments"}},"end":"\\*/","name":"comment.block.documentation.json.comments"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.json.comments"}},"end":"\\*/","name":"comment.block.json.comments"},{"captures":{"1":{"name":"punctuation.definition.comment.json.comments"}},"match":"(//).*$\\n?","name":"comment.line.double-slash.js"}]},"constant":{"match":"\\b(?:true|false|null)\\b","name":"constant.language.json.comments"},"number":{"match":"-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?)?","name":"constant.numeric.json.comments"},"object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json.comments"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json.comments"}},"name":"meta.structure.dictionary.json.comments","patterns":[{"include":"#objectkey"},{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json.comments"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json.comments"}},"name":"meta.structure.dictionary.value.json.comments","patterns":[{"include":"#value"},{"match":"[^,\\s]","name":"invalid.illegal.expected-dictionary-separator.json.comments"}]},{"match":"[^}\\s]","name":"invalid.illegal.expected-dictionary-separator.json.comments"}]},"objectkey":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.support.type.property-name.begin.json.comments"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.support.type.property-name.end.json.comments"}},"name":"string.json.comments support.type.property-name.json.comments","patterns":[{"include":"#stringcontent"}]},"string":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json.comments"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json.comments"}},"name":"string.quoted.double.json.comments","patterns":[{"include":"#stringcontent"}]},"stringcontent":{"patterns":[{"match":"\\\\(?:[\"/\\\\bfnrt]|u\\h{4})","name":"constant.character.escape.json.comments"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-string-escape.json.comments"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"},{"include":"#comments"}]}},"scopeName":"source.json.comments"},{"displayName":"JSON","name":"json","patterns":[{"include":"#value"}],"repository":{"array":{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json"}},"name":"meta.structure.array.json","patterns":[{"include":"#value"},{"match":",","name":"punctuation.separator.array.json"},{"match":"[^]\\s]","name":"invalid.illegal.expected-array-separator.json"}]},"comments":{"patterns":[{"begin":"/\\*\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json"}},"end":"\\*/","name":"comment.block.documentation.json"},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.json"}},"end":"\\*/","name":"comment.block.json"},{"captures":{"1":{"name":"punctuation.definition.comment.json"}},"match":"(//).*$\\n?","name":"comment.line.double-slash.js"}]},"constant":{"match":"\\b(?:true|false|null)\\b","name":"constant.language.json"},"number":{"match":"-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[Ee][-+]?\\d+)?)?","name":"constant.numeric.json"},"object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json"}},"name":"meta.structure.dictionary.json","patterns":[{"include":"#objectkey"},{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json"}},"name":"meta.structure.dictionary.value.json","patterns":[{"include":"#value"},{"match":"[^,\\s]","name":"invalid.illegal.expected-dictionary-separator.json"}]},{"match":"[^}\\s]","name":"invalid.illegal.expected-dictionary-separator.json"}]},"objectkey":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.support.type.property-name.begin.json"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.support.type.property-name.end.json"}},"name":"string.json support.type.property-name.json","patterns":[{"include":"#stringcontent"}]},"string":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json"}},"name":"string.quoted.double.json","patterns":[{"include":"#stringcontent"}]},"stringcontent":{"patterns":[{"match":"\\\\(?:[\"/\\\\bfnrt]|u\\h{4})","name":"constant.character.escape.json"},{"match":"\\\\.","name":"invalid.illegal.unrecognized-string-escape.json"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"},{"include":"#comments"}]}},"scopeName":"source.json"},{"displayName":"TSX","name":"tsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.tsx"},"after-operator-block-as-object-literal":{"begin":"(?<!\\+\\+|--)(?<=[!(+,:=>?\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\|\\||\\*)\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.objectliteral.tsx","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\s*(\\[)","beginCaptures":{"1":{"name":"meta.brace.square.tsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.tsx"}},"name":"meta.array.literal.tsx","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"variable.parameter.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async)\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\s*(?==>)","name":"meta.arrow.tsx"},{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async))?((?<![]!)}])\\s*(?=((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.arrow.tsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.tsx"}},"end":"((?<=[}\\S])(?<!=>)|((?!\\{)(?=\\S)))(?!/[*/])","name":"meta.arrow.tsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.return.type.arrow.tsx","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.async.tsx"},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"binding-element-const":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern-const"},{"include":"#array-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.true.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.false.tsx"}]},"brackets":{"patterns":[{"begin":"\\{","end":"}|(?=\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\[","end":"]|(?=\\*/)","patterns":[{"include":"#brackets"}]}]},"cast":{"patterns":[{"include":"#jsx"}]},"class-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.type.class.tsx"}},"end":"(?<=})","name":"meta.class.tsx","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{"patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.class.tsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"class-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|/[*/])","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.type.class.tsx"}},"end":"(?<=})","name":"meta.class.tsx","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"patterns":[{"include":"#comment"},{"include":"#decorator"},{"begin":"(?<=:)\\s*","end":"(?=[-\\])+,:;}\\s]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#string"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#async-modifier"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-or-interface-heritage":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(extends|implements)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.tsx"}},"end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"include":"#expressionWithoutIdentifiers"},{"captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))(?=\\s*[$_[:alpha:]][$_[:alnum:]]*(\\s*\\??\\.\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\s*)"},{"captures":{"1":{"name":"entity.other.inherited-class.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#expressionPunctuations"}]},"comment":{"patterns":[{"begin":"/\\*\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}},"name":"comment.block.documentation.tsx","patterns":[{"include":"#docblock"}]},{"begin":"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.tsx"},"2":{"name":"storage.type.internaldeclaration.tsx"},"3":{"name":"punctuation.decorator.internaldeclaration.tsx"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.tsx"}},"name":"comment.block.tsx"},{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tsx"},"2":{"name":"comment.line.double-slash.tsx"},"3":{"name":"punctuation.definition.comment.tsx"},"4":{"name":"storage.type.internaldeclaration.tsx"},"5":{"name":"punctuation.decorator.internaldeclaration.tsx"}},"contentName":"comment.line.double-slash.tsx","end":"(?=$)"}]},"control-statement":{"patterns":[{"include":"#switch-statement"},{"include":"#for-loop"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.trycatch.tsx"},{"captures":{"1":{"name":"keyword.control.loop.tsx"},"2":{"name":"entity.name.label.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.loop.tsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.tsx"}},"end":"(?=[;}]|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.switch.tsx"},{"include":"#if-statement"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.conditional.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.with.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.other.debugger.tsx"}]},"decl-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.block.tsx","patterns":[{"include":"#statements"}]},"declaration":{"patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#interface-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#type-alias-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.tsx"}]},"decorator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))@","beginCaptures":{"0":{"name":"punctuation.decorator.tsx"}},"end":"(?=\\s)","name":"meta.decorator.tsx","patterns":[{"include":"#expression"}]},"destructuring-const":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.tsx","patterns":[{"include":"#object-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.tsx","patterns":[{"include":"#array-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-parameter":{"patterns":[{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"name":"meta.parameter.object-binding-pattern.tsx","patterns":[{"include":"#parameter-object-binding-element"}]},{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"name":"meta.paramter.array-binding-pattern.tsx","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]}]},"destructuring-parameter-rest":{"captures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"variable.parameter.tsx"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.tsx","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.tsx","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"captures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"meta.definition.variable.tsx variable.other.readwrite.tsx"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable-rest-const":{"captures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"meta.definition.variable.tsx variable.other.constant.tsx"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"directives":{"begin":"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))+\\s*/>\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.tsx"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.tsx","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.tsx"},"2":{"name":"entity.name.tag.directive.tsx"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.tsx"}},"name":"meta.tag.tsx","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.tsx"},{"match":"=","name":"keyword.operator.assignment.tsx"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\s+(p(?:rivate|rotected|ublic))\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\s+([^*/<>@\\s](?:[^*/<>@]|\\*[^/])*)(?:\\s*(<)([^>\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\s+((?:[^*/@\\s]|\\*[^/])+)\\s+(as)\\s+((?:[^*/@\\s]|\\*[^/])+)"},{"begin":"((@)example)\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\s\\*\\s+"},{"begin":"\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"(</)caption(>)|(?=\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.tsx"}},"match":"[^*@\\s](?:[^*]|\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\s+(?:((?=https?://)(?:[^*\\s]|\\*[^/])+)|((?!https?://|(?:\\[[^]\\[]*])?\\{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^*/@\\s]|\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\s+([$A-Z_a-z][]$.\\[\\w]*(?:\\s*,\\s*[$A-Z_a-z][]$.\\[\\w]*)*)"},{"begin":"((@)template)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\s+([$A-Z_a-z][]$.\\[\\w]*)"},{"begin":"((@)typedef)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\s]|\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.tsx"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\[)\\s*[$\\w]+(?:(?:\\[])?\\.[$\\w]+)*(?:\\s*(=)\\s*((?>\"(?:\\*(?!/)|\\\\(?!\")|[^*\\\\])*?\"|'(?:\\*(?!/)|\\\\(?!')|[^*\\\\])*?'|\\[(?:\\*(?!/)|[^*])*?]|(?:\\*(?!/)|\\s(?!\\s*])|\\[.*?(?:]|(?=\\*/))|[^]*\\[\\s])*)*))?\\s*(?:(])((?:[^*\\s]|\\*[^/\\s])+)?|(?=\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\s+((?:[^*@{}\\s]|\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\s+(([\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\3)|(?=$|\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^*\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\s+)"}]},"enum-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.type.enum.tsx"},"5":{"name":"entity.name.type.enum.tsx"}},"end":"(?<=})","name":"meta.enum.declaration.tsx","patterns":[{"include":"#comment"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"patterns":[{"include":"#comment"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"variable.other.enummember.tsx"}},"end":"(?=[,}]|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+])))","end":"(?=[,}]|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"export-declaration":{"patterns":[{"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"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([$_[:alpha:]][$_[:alnum:]]*)"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:\\s*(=)|\\s+(default)(?=\\s+))","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.control.type.tsx"},"3":{"name":"keyword.operator.assignment.tsx"},"4":{"name":"keyword.control.default.tsx"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.default.tsx","patterns":[{"include":"#interface-declaration"},{"include":"#expression"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[*{])|((?=\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\s]))(?!\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)))","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"keyword.control.type.tsx"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.tsx","patterns":[{"include":"#import-export-declaration"}]}]},"expression":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"captures":{"1":{"name":"storage.modifier.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"entity.name.function.tsx variable.language.this.tsx"},"4":{"name":"entity.name.function.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx variable.language.this.tsx"},"4":{"name":"variable.parameter.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[,:]|$)"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.tsx"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-operators":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.flow.tsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*\\*)","beginCaptures":{"1":{"name":"keyword.control.flow.tsx"}},"end":"\\*","endCaptures":{"0":{"name":"keyword.generator.asterisk.tsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.control.flow.tsx"},"2":{"name":"keyword.generator.asterisk.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.delete.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.in.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.of.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.instanceof.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.new.tsx"},{"include":"#typeof-operator"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.void.tsx"},{"captures":{"1":{"name":"keyword.control.as.tsx"},"2":{"name":"storage.modifier.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[]),:;}]))"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.tsx"},"2":{"name":"keyword.control.satisfies.tsx"}},"end":"(?=^|[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+<))","patterns":[{"include":"#type"}]},{"match":"\\.\\.\\.","name":"keyword.operator.spread.tsx"},{"match":"(?:\\*|(?<!\\()/|[-%+])=","name":"keyword.operator.assignment.compound.tsx"},{"match":"(?:[\\&^]|<<|>>>??|\\|)=","name":"keyword.operator.assignment.compound.bitwise.tsx"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.tsx"},{"match":"[!=]==?","name":"keyword.operator.comparison.tsx"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.tsx"},{"captures":{"1":{"name":"keyword.operator.logical.tsx"},"2":{"name":"keyword.operator.assignment.compound.tsx"},"3":{"name":"keyword.operator.arithmetic.tsx"}},"match":"(?<=[$_[:alnum:]])(!)\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\|\\||\\?\\?","name":"keyword.operator.logical.tsx"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.tsx"},{"match":"=","name":"keyword.operator.assignment.tsx"},{"match":"--","name":"keyword.operator.decrement.tsx"},{"match":"\\+\\+","name":"keyword.operator.increment.tsx"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.tsx"},{"begin":"(?<=[]$)_[:alnum:]])\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\*([^*]|(\\*[^/]))*\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.tsx"},"2":{"name":"keyword.operator.arithmetic.tsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.tsx"},"2":{"name":"keyword.operator.arithmetic.tsx"}},"match":"(?<=[]$)_[:alnum:]])\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?<!\\()(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=}]|$))","beginCaptures":{"1":{"name":"storage.modifier.tsx"}},"end":"(?=[,;}]|$|^((?!\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=]|$))))|(?<=})","name":"meta.field.declaration.tsx","patterns":[{"include":"#variable-initializer"},{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"include":"#comment"},{"captures":{"1":{"name":"meta.definition.property.tsx entity.name.function.tsx"},"2":{"name":"keyword.operator.optional.tsx"},"3":{"name":"keyword.operator.definiteassignment.tsx"}},"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\?)|(!))?(?=\\s*\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.tsx variable.object.property.tsx"},{"match":"\\?","name":"keyword.operator.optional.tsx"},{"match":"!","name":"keyword.operator.definiteassignment.tsx"}]},"for-loop":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*))await)?\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)?(\\())","beginCaptures":{"0":{"name":"keyword.control.loop.tsx"}},"end":"(?<=\\))","patterns":[{"include":"#comment"},{"match":"await","name":"keyword.control.loop.tsx"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#type-function-return-type"},{"include":"#decl-block"},{"match":"\\*","name":"keyword.generator.asterisk.tsx"}]},"function-call":{"patterns":[{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","end":"(?<=\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","name":"meta.function-call.tsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*[(\\[{]\\s*)$)","name":"meta.function-call.tsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\?\\.","name":"meta.function-call.tsx punctuation.accessor.optional.tsx"},{"match":"!","name":"meta.function-call.tsx keyword.operator.definiteassignment.tsx"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tsx"}]},"function-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.async.tsx"},"4":{"name":"storage.type.function.tsx"},"5":{"name":"keyword.generator.asterisk.tsx"},"6":{"name":"meta.definition.function.tsx entity.name.function.tsx"}},"end":"(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|(?<=})","name":"meta.function.tsx","patterns":[{"include":"#function-name"},{"include":"#function-body"}]},"function-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.function.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"},"4":{"name":"meta.definition.function.tsx entity.name.function.tsx"}},"end":"(?=;)|(?<=})","name":"meta.function.expression.tsx","patterns":[{"include":"#function-name"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#function-body"}]},"function-name":{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.function.tsx entity.name.function.tsx"},"function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.tsx"}},"name":"meta.parameters.tsx","patterns":[{"include":"#function-parameters-body"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#parameter-type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.tsx"}]},"identifiers":{"patterns":[{"include":"#object-identifiers"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"entity.name.function.tsx"}},"match":"(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"variable.other.constant.property.tsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"variable.other.property.tsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.tsx"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.tsx"}]},"if-statement":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bif\\s*(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))\\s*(?!\\{))","end":"(?=;|$|})","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(if)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.tsx"},"2":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=\\))\\s*/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"keyword.other.tsx"}},"name":"string.regexp.tsx","patterns":[{"include":"#regexp"}]},{"include":"#statements"}]}]},"import-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type)(?!\\s+from))?(?!\\s*[(:])(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"keyword.control.import.tsx"},"4":{"name":"keyword.control.type.tsx"}},"end":"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)","name":"meta.import.tsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#string"},{"begin":"(?<=(?:^|[^$._[:alnum:]])import)(?!\\s*[\"'])","end":"\\bfrom\\b","endCaptures":{"0":{"name":"keyword.control.from.tsx"}},"patterns":[{"include":"#import-export-declaration"}]},{"include":"#import-export-declaration"}]},"import-equals-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(require)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"keyword.control.import.tsx"},"4":{"name":"keyword.control.type.tsx"},"5":{"name":"variable.other.readwrite.alias.tsx"},"6":{"name":"keyword.operator.assignment.tsx"},"7":{"name":"keyword.control.require.tsx"},"8":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"name":"meta.import-equals.external.tsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(?!require\\b)","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"keyword.control.import.tsx"},"4":{"name":"keyword.control.type.tsx"},"5":{"name":"variable.other.readwrite.alias.tsx"},"6":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=;|$|^)","name":"meta.import-equals.internal.tsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.readwrite.tsx"}]}]},"import-export-assert-clause":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(with)|(assert))\\s*(\\{)","beginCaptures":{"1":{"name":"keyword.control.with.tsx"},"2":{"name":"keyword.control.assert.tsx"},"3":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object-literal.key.tsx"},{"match":":","name":"punctuation.separator.key-value.tsx"}]},"import-export-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.block.tsx","patterns":[{"include":"#import-export-clause"}]},"import-export-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.type.tsx"},"2":{"name":"keyword.control.default.tsx"},"3":{"name":"constant.language.import-export-all.tsx"},"4":{"name":"variable.other.readwrite.tsx"},"5":{"name":"string.quoted.alias.tsx"},"12":{"name":"keyword.control.as.tsx"},"13":{"name":"keyword.control.default.tsx"},"14":{"name":"variable.other.readwrite.alias.tsx"},"15":{"name":"string.quoted.alias.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(type)\\s+)?(?:\\b(default)|(\\*)|\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))\\s+(as)\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"},{"include":"#punctuation-comma"},{"match":"\\*","name":"constant.language.import-export-all.tsx"},{"match":"\\b(default)\\b","name":"keyword.control.default.tsx"},{"captures":{"1":{"name":"keyword.control.type.tsx"},"2":{"name":"variable.other.readwrite.alias.tsx"},"3":{"name":"string.quoted.alias.tsx"}},"match":"(?:\\b(type)\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"match":"\\bfrom\\b","name":"keyword.control.from.tsx"},{"include":"#import-export-assert-clause"},{"include":"#import-export-clause"}]},"indexer-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=:)","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"meta.brace.square.tsx"},"3":{"name":"variable.parameter.tsx"}},"end":"(])\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.tsx"},"2":{"name":"keyword.operator.optional.tsx"}},"name":"meta.indexer.declaration.tsx","patterns":[{"include":"#type-annotation"}]},"indexer-mapped-type-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([-+])?(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s+(in)\\s+","beginCaptures":{"1":{"name":"keyword.operator.type.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"meta.brace.square.tsx"},"4":{"name":"entity.name.type.tsx"},"5":{"name":"keyword.operator.expression.in.tsx"}},"end":"(])([-+])?\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.tsx"},"2":{"name":"keyword.operator.type.modifier.tsx"},"3":{"name":"keyword.operator.optional.tsx"}},"name":"meta.indexer.mappedtype.declaration.tsx","patterns":[{"captures":{"1":{"name":"keyword.control.as.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+"},{"include":"#type"}]},"inline-tags":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}},"match":"(\\[)[^]]+(])(?=\\{@(?:link|linkcode|linkplain|tutorial))","name":"constant.other.description.jsdoc"},{"begin":"(\\{)((@)(?:link(?:code|plain)?|tutorial))\\s*","beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"end":"}|(?=\\*/)","endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"name":"entity.name.type.instance.jsdoc","patterns":[{"captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?=https?://)(?:[^*|}\\s]|\\*/)+)(\\|)?"},{"captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?:[^*@{|}\\s]|\\*[^/])+)(\\|)?"}]}]},"instanceof-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.expression.instanceof.tsx"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|([!=]==?)|(([\\&^|~]\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s+instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","patterns":[{"include":"#type"}]},"interface-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(interface)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.type.interface.tsx"}},"end":"(?<=})","name":"meta.interface.tsx","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.interface.tsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"jsdoctype":{"patterns":[{"begin":"\\G(\\{)","beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"contentName":"entity.name.type.instance.jsdoc","end":"((}))\\s*|(?=\\*/)","endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"patterns":[{"include":"#brackets"}]}]},"jsx":{"patterns":[{"include":"#jsx-tag-without-attributes-in-expression"},{"include":"#jsx-tag-in-expression"}]},"jsx-children":{"patterns":[{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-tag"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}]},"jsx-entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.tsx"},"3":{"name":"punctuation.definition.entity.tsx"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.tsx"}]},"jsx-evaluated-code":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.tsx"}},"contentName":"meta.embedded.expression.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.tsx"}},"patterns":[{"include":"#expression"}]},"jsx-string-double-quoted":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.tsx"}},"name":"string.quoted.double.tsx","patterns":[{"include":"#jsx-entities"}]},"jsx-string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.tsx"}},"name":"string.quoted.single.tsx","patterns":[{"include":"#jsx-entities"}]},"jsx-tag":{"begin":"(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","end":"(/>)|(</)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.tsx"},"2":{"name":"punctuation.definition.tag.begin.tsx"},"3":{"name":"entity.name.tag.namespace.tsx"},"4":{"name":"punctuation.separator.namespace.tsx"},"5":{"name":"entity.name.tag.tsx"},"6":{"name":"support.class.component.tsx"},"7":{"name":"punctuation.definition.tag.end.tsx"}},"name":"meta.tag.tsx","patterns":[{"begin":"(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.namespace.tsx"},"3":{"name":"punctuation.separator.namespace.tsx"},"4":{"name":"entity.name.tag.tsx"},"5":{"name":"support.class.component.tsx"}},"end":"(?=/?>)","patterns":[{"include":"#comment"},{"include":"#type-arguments"},{"include":"#jsx-tag-attributes"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.tsx"}},"contentName":"meta.jsx.children.tsx","end":"(?=</)","patterns":[{"include":"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{"match":"=(?=\\s*(?:[\"'{]|/\\*|//|\\n))","name":"keyword.operator.assignment.tsx"},"jsx-tag-attribute-name":{"captures":{"1":{"name":"entity.other.attribute-name.namespace.tsx"},"2":{"name":"punctuation.separator.namespace.tsx"},"3":{"name":"entity.other.attribute-name.tsx"}},"match":"\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\s]|/?>|/\\*|//)"},"jsx-tag-attributes":{"begin":"\\s+","end":"(?=/?>)","name":"meta.tag.attributes.tsx","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{"match":"\\S+","name":"invalid.illegal.attribute.tsx"},"jsx-tag-in-expression":{"begin":"(?<!\\+\\+|--)(?<=[(*,:=>?\\[{]|&&|\\|\\||\\?|\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\s*(?!<\\s*[$_[:alpha:]][$_[:alnum:]]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","end":"(?!(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.namespace.tsx"},"3":{"name":"punctuation.separator.namespace.tsx"},"4":{"name":"entity.name.tag.tsx"},"5":{"name":"support.class.component.tsx"},"6":{"name":"punctuation.definition.tag.end.tsx"}},"contentName":"meta.jsx.children.tsx","end":"(</)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.namespace.tsx"},"3":{"name":"punctuation.separator.namespace.tsx"},"4":{"name":"entity.name.tag.tsx"},"5":{"name":"support.class.component.tsx"},"6":{"name":"punctuation.definition.tag.end.tsx"}},"name":"meta.tag.without-attributes.tsx","patterns":[{"include":"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{"begin":"(?<!\\+\\+|--)(?<=[(*,:=>?\\[{]|&&|\\|\\||\\?|\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\s*(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>))","end":"(?!(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>))","patterns":[{"include":"#jsx-tag-without-attributes"}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)(?=\\s*\\{)","beginCaptures":{"1":{"name":"entity.name.label.tsx"},"2":{"name":"punctuation.separator.label.tsx"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.tsx"},"2":{"name":"punctuation.separator.label.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)"}]},"literal":{"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":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?\\s*\\b(constructor)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.modifier.async.tsx"},"5":{"name":"storage.type.tsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\s*\\b(new)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))|(?:(\\*)\\s*)?)(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.modifier.async.tsx"},"5":{"name":"keyword.operator.new.tsx"},"6":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.modifier.async.tsx"},"5":{"name":"storage.type.property.tsx"},"6":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??)\\s*[(<])","end":"(?=[(<])","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.method.tsx entity.name.function.tsx"},{"match":"\\?","name":"keyword.operator.optional.tsx"}]},"namespace-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(namespace|module)\\s+(?=[\"$'_`[:alpha:]])","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.namespace.tsx"}},"end":"(?<=})|(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.namespace.declaration.tsx","patterns":[{"include":"#comment"},{"include":"#string"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.type.module.tsx"},{"include":"#punctuation-accessor"},{"include":"#decl-block"}]},"new-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.new.tsx"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","name":"new.expr.tsx","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.null.tsx"},"numeric-literal":{"patterns":[{"captures":{"1":{"name":"storage.type.numeric.bigint.tsx"}},"match":"\\b(?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$)","name":"constant.numeric.hex.tsx"},{"captures":{"1":{"name":"storage.type.numeric.bigint.tsx"}},"match":"\\b(?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$)","name":"constant.numeric.binary.tsx"},{"captures":{"1":{"name":"storage.type.numeric.bigint.tsx"}},"match":"\\b(?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$)","name":"constant.numeric.octal.tsx"},{"captures":{"0":{"name":"constant.numeric.decimal.tsx"},"1":{"name":"meta.delimiter.decimal.period.tsx"},"2":{"name":"storage.type.numeric.bigint.tsx"},"3":{"name":"meta.delimiter.decimal.period.tsx"},"4":{"name":"storage.type.numeric.bigint.tsx"},"5":{"name":"meta.delimiter.decimal.period.tsx"},"6":{"name":"storage.type.numeric.bigint.tsx"},"7":{"name":"storage.type.numeric.bigint.tsx"},"8":{"name":"meta.delimiter.decimal.period.tsx"},"9":{"name":"storage.type.numeric.bigint.tsx"},"10":{"name":"meta.delimiter.decimal.period.tsx"},"11":{"name":"storage.type.numeric.bigint.tsx"},"12":{"name":"meta.delimiter.decimal.period.tsx"},"13":{"name":"storage.type.numeric.bigint.tsx"},"14":{"name":"storage.type.numeric.bigint.tsx"}},"match":"(?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)"}]},"numericConstant-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))NaN(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.nan.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Infinity(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.infinity.tsx"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[: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-const":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element-const"}]},{"include":"#object-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(:)","endCaptures":{"0":{"name":"punctuation.destructuring.tsx"}},"patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.object.property.tsx"}]},"object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"patterns":[{"include":"#object-binding-element"}]},"object-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"patterns":[{"include":"#object-binding-element-const"}]},"object-identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*\\??\\.\\s*prototype\\b(?!\\$))","name":"support.class.tsx"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"variable.other.constant.object.property.tsx"},"4":{"name":"variable.other.object.property.tsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(#?\\p{upper}[$_\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.constant.object.tsx"},"2":{"name":"variable.other.object.tsx"}},"match":"(?:(\\p{upper}[$_\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"}]},"object-literal":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.objectliteral.tsx","patterns":[{"include":"#object-member"}]},"object-literal-method-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.property.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.property.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\[)","end":"(?=:)|((?<=])(?=\\s*[(<]))","name":"meta.object.member.tsx meta.object-literal.key.tsx","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\"'`])","end":"(?=:)|((?<=[\"'`])(?=((\\s*[(,<}])|(\\s+(as|satisifies)\\s+))))","name":"meta.object.member.tsx meta.object-literal.key.tsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)))","end":"(?=:)|(?=\\s*([(,<}])|(\\s+as|satisifies\\s+))","name":"meta.object.member.tsx meta.object-literal.key.tsx","patterns":[{"include":"#comment"},{"include":"#numeric-literal"}]},{"begin":"(?<=[]\"'`])(?=\\s*[(<])","end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.tsx"},"1":{"name":"constant.numeric.decimal.tsx"}},"match":"(?![$_[:alpha:]])(\\d+)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.tsx"},{"captures":{"0":{"name":"meta.object-literal.key.tsx"},"1":{"name":"entity.name.function.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:(\\s*/\\*([^*]|(\\*[^/]))*\\*/)*\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))","name":"meta.object.member.tsx"},{"captures":{"0":{"name":"meta.object-literal.key.tsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.tsx"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.tsx"}},"end":"(?=[,}])","name":"meta.object.member.tsx","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=[,}]|$|//|/\\*)","name":"meta.object.member.tsx"},{"captures":{"1":{"name":"keyword.control.as.tsx"},"2":{"name":"storage.modifier.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*([,}]|$))","name":"meta.object.member.tsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.tsx"},"2":{"name":"keyword.control.satisfies.tsx"}},"end":"(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+))","name":"meta.object.member.tsx","patterns":[{"include":"#type"}]},{"begin":"(?=[$_[:alpha:]][$_[:alnum:]]*\\s*=)","end":"(?=[,}]|$|//|/\\*)","name":"meta.object.member.tsx","patterns":[{"include":"#expression"}]},{"begin":":","beginCaptures":{"0":{"name":"meta.object-literal.key.tsx punctuation.separator.key-value.tsx"}},"end":"(?=[,}])","name":"meta.object.member.tsx","patterns":[{"begin":"(?<=:)\\s*(async)?(?=\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\s*(async)?\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\s*(async)?\\s*(?=<\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"entity.name.function.tsx variable.language.this.tsx"},"4":{"name":"entity.name.function.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx variable.language.this.tsx"},"4":{"name":"variable.parameter.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)"}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"},{"include":"#paren-expression"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.tsx"}},"patterns":[{"include":"#parameter-object-binding-element"}]},"parameter-type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?=[),])|(?==[^>])","name":"meta.type.annotation.tsx","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)))\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\)|^)\\s*(:)(?=\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx"}},"contentName":"meta.arrow.tsx meta.return.type.arrow.tsx","end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.type.property.tsx"},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"}},"match":"(\\.)|(\\?\\.(?!\\s*\\d))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.tsx"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.tsx"},"qstring-double":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"end":"(\")|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"invalid.illegal.newline.tsx"}},"name":"string.quoted.double.tsx","patterns":[{"include":"#string-character-escape"}]},"qstring-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"end":"(')|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"invalid.illegal.newline.tsx"}},"name":"string.quoted.single.tsx","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?<!\\+\\+|--|})(?<=[!(+,:=?\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\|\\||\\*/)\\s*(/)(?![*/])(?=(?:[^()/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)+]|\\(([^)\\\\]|\\\\.)+\\))+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"keyword.other.tsx"}},"name":"string.regexp.tsx","patterns":[{"include":"#regexp"}]},{"begin":"((?<![]$)_[:alnum:]]|\\+\\+|--|}|\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\s*)/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"keyword.other.tsx"}},"name":"string.regexp.tsx","patterns":[{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\[DSWdfnrstvw]|\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\([0-7]{3}|x\\h{2}|u\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}},"match":"\\\\(?:[1-9]\\d*|k<([$A-Z_a-z][$\\w]*)>)"},{"match":"[*+?]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)}\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))","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"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\((?:(\\?:)|\\?<([$A-Z_a-z][$\\w]*)>)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\[)(\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"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"}},"match":"(?:.|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))-(?:[^]\\\\]|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\))\\s*(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?<![\\&:|])(?=$|^|[,;{}]|//)","name":"meta.return.type.tsx","patterns":[{"include":"#return-type-core"}]},{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?<![\\&:|])((?=[,;{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.return.type.tsx","patterns":[{"include":"#return-type-core"}]}]},"return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<=[\\&:|])(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.tsx"}},"match":"\\A(#!).*(?=$)","name":"comment.line.shebang.tsx"},"single-line-comment-consuming-line-ending":{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tsx"},"2":{"name":"comment.line.double-slash.tsx"},"3":{"name":"punctuation.definition.comment.tsx"},"4":{"name":"storage.type.internaldeclaration.tsx"},"5":{"name":"punctuation.decorator.internaldeclaration.tsx"}},"contentName":"comment.line.double-slash.tsx","end":"(?=^)"},"statements":{"patterns":[{"include":"#declaration"},{"include":"#control-statement"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#label"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\(x\\h{2}|u\\h{4}|u\\{\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.tsx"},"super-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))super\\b(?!\\$)","name":"variable.language.super.tsx"},"support-function-call-identifiers":{"patterns":[{"include":"#literal"},{"include":"#support-objects"},{"include":"#object-identifiers"},{"include":"#punctuation-accessor"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\(\\s*[\"'`])","name":"keyword.operator.expression.import.tsx"}]},"support-objects":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(arguments)\\b(?!\\$)","name":"variable.language.arguments.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(Promise)\\b(?!\\$)","name":"support.class.promise.tsx"},{"captures":{"1":{"name":"keyword.control.import.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"},"4":{"name":"support.variable.property.importmeta.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(import)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(meta)\\b(?!\\$)"},{"captures":{"1":{"name":"keyword.operator.new.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"},"4":{"name":"support.variable.property.target.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(target)\\b(?!\\$)"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"support.variable.property.tsx"},"4":{"name":"support.constant.tsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$))"},{"captures":{"1":{"name":"support.type.object.module.tsx"},"2":{"name":"support.type.object.module.tsx"},"3":{"name":"punctuation.accessor.tsx"},"4":{"name":"punctuation.accessor.optional.tsx"},"5":{"name":"support.type.object.module.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(exports)|(module)(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)"}]},"switch-statement":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bswitch\\s*\\()","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"switch-statement.expr.tsx","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(switch)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.switch.tsx"},"2":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"name":"switch-expression.expr.tsx","patterns":[{"include":"#expression"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"(?=})","name":"switch-block.expr.tsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.switch.tsx"}},"end":"(?=:)","name":"case-clause.expr.tsx","patterns":[{"include":"#expression"}]},{"begin":"(:)\\s*(\\{)","beginCaptures":{"1":{"name":"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx"},"2":{"name":"meta.block.tsx punctuation.definition.block.tsx"}},"contentName":"meta.block.tsx","end":"}","endCaptures":{"0":{"name":"meta.block.tsx punctuation.definition.block.tsx"}},"patterns":[{"include":"#statements"}]},{"captures":{"0":{"name":"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx"}},"match":"(:)"},{"include":"#statements"}]}]},"template":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.tsx"},"2":{"name":"string.template.tsx punctuation.definition.string.template.begin.tsx"}},"contentName":"string.template.tsx","end":"`","endCaptures":{"0":{"name":"string.template.tsx punctuation.definition.string.template.end.tsx"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-call":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.tsx"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.tsx"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsx"}},"contentName":"meta.embedded.line.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsx"}},"name":"meta.template.expression.tsx","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.tsx"},"2":{"name":"string.template.tsx punctuation.definition.string.template.begin.tsx"}},"contentName":"string.template.tsx","end":"`","endCaptures":{"0":{"name":"string.template.tsx punctuation.definition.string.template.end.tsx"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsx"}},"contentName":"meta.embedded.line.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsx"}},"name":"meta.template.expression.tsx","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\?\\.\\s*\\D)(\\?)(?!\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.tsx"}},"end":"\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.tsx"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))this\\b(?!\\$)","name":"variable.language.this.tsx"},"type":{"patterns":[{"include":"#comment"},{"include":"#type-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-conditional"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"captures":{"1":{"name":"storage.modifier.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*"},{"include":"#type-name"}]},"type-alias-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(type)\\b\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.type.tsx"},"4":{"name":"entity.name.type.alias.tsx"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.type.declaration.tsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"begin":"(=)\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"},"2":{"name":"keyword.control.intrinsic.tsx"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]},{"begin":"(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]}]},"type-annotation":{"patterns":[{"begin":"(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?<![\\&:|])(?!\\s*[\\&|]\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.tsx","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?<![\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\s*$)|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.tsx","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsx"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-builtin-literals":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.builtin.tsx"},"type-conditional":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends)\\s+","beginCaptures":{"1":{"name":"storage.modifier.tsx"}},"end":"(?<=:)","patterns":[{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.tsx"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.tsx"}},"patterns":[{"include":"#type"}]},{"include":"#type"}]}]},"type-fn-type-parameters":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b(?=\\s*<)","beginCaptures":{"1":{"name":"meta.type.constructor.tsx storage.modifier.tsx"},"2":{"name":"meta.type.constructor.tsx keyword.control.new.tsx"}},"end":"(?<=>)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.control.new.tsx"}},"end":"(?<=\\))","name":"meta.type.constructor.tsx","patterns":[{"include":"#function-parameters"}]},{"begin":"((?=\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>))))))","end":"(?<=\\))","name":"meta.type.function.tsx","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\s*\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.tsx"}},"end":"(?<!=>)(?<![\\&|])(?=[]),:;=>?{}]|//|$)","name":"meta.type.function.return.tsx","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.tsx"}},"end":"(?<!=>)(?<![\\&|])((?=[]),:;=>?{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.type.function.return.tsx","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.tsx"},"2":{"name":"entity.name.type.tsx"},"3":{"name":"keyword.operator.expression.extends.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(infer)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s+(extends)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))?","name":"meta.type.infer.tsx"}]},"type-name":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(<)","captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"},"4":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"}},"contentName":"meta.type.parameters.tsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.tsx"},"2":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"}},"contentName":"meta.type.parameters.tsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.tsx"}]},"type-object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.object.type.tsx","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.tsx"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\&|])(?=\\s*\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.tsx"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.tsx"}},"end":"(?=\\S)"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))keyof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.keyof.tsx"},{"match":"([:?])","name":"keyword.operator.ternary.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\()","name":"keyword.operator.expression.import.tsx"}]},"type-parameters":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.tsx"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.tsx"},{"include":"#type"},{"include":"#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.tsx"}]},"type-paren-or-function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"name":"meta.type.paren.cover.tsx","patterns":[{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"entity.name.function.tsx variable.language.this.tsx"},"4":{"name":"entity.name.function.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=\\s*(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx variable.language.this.tsx"},"4":{"name":"variable.parameter.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=:)"},{"include":"#type-annotation"},{"match":",","name":"punctuation.separator.parameter.tsx"},{"include":"#type"}]},"type-predicate-operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.asserts.tsx"},"2":{"name":"variable.parameter.tsx variable.language.this.tsx"},"3":{"name":"variable.parameter.tsx"},"4":{"name":"keyword.operator.expression.is.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(asserts)\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s(is)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"captures":{"1":{"name":"keyword.operator.type.asserts.tsx"},"2":{"name":"variable.parameter.tsx variable.language.this.tsx"},"3":{"name":"variable.parameter.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(asserts)\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))asserts(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.type.asserts.tsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))is(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.is.tsx"}]},"type-primitive":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.primitive.tsx"},"type-string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template-type"}]},"type-tuple":{"begin":"\\[","beginCaptures":{"0":{"name":"meta.brace.square.tsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.tsx"}},"name":"meta.type.tuple.tsx","patterns":[{"match":"\\.\\.\\.","name":"keyword.operator.rest.tsx"},{"captures":{"1":{"name":"entity.name.label.tsx"},"2":{"name":"keyword.operator.optional.tsx"},"3":{"name":"punctuation.separator.label.tsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([$_[:alpha:]][$_[:alnum:]]*)\\s*(\\?)?\\s*(:)"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeof-operator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))typeof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.operator.expression.typeof.tsx"}},"end":"(?=[]\\&),:;=>?{|}]|(extends\\s+)|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))undefined(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.undefined.tsx"},"var-expr":{"patterns":[{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\s*$)))","name":"meta.var.expr.tsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.tsx"}},"end":"(?=\\S)"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.tsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.tsx"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\s*$)))","name":"meta.var.expr.tsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.tsx"}},"end":"(?=\\S)"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.tsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.tsx"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\s+|[^$._[:alnum:]]await\\s+)using)(?=\\s*$)))","name":"meta.var.expr.tsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.type.tsx"}},"end":"(?=\\S)"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*((?!\\S)|(?=//))","beginCaptures":{"1":{"name":"punctuation.separator.comma.tsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]}]},"var-single-const":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.tsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"meta.definition.variable.tsx variable.other.constant.tsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.tsx","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.tsx entity.name.function.tsx"},"2":{"name":"keyword.operator.definiteassignment.tsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.tsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.tsx variable.other.constant.tsx"},"2":{"name":"keyword.operator.definiteassignment.tsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.tsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.tsx variable.other.readwrite.tsx"},"2":{"name":"keyword.operator.definiteassignment.tsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.tsx","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{"patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}]},"variable-initializer":{"patterns":[{"begin":"(?<![!=])(=)(?!=)(?=\\s*\\S)(?!\\s*.*=>\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","patterns":[{"include":"#expression"}]},{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![-\\&*+/|])(?<=\\S)(?<!=)(?=\\s*$)","patterns":[{"include":"#expression"}]}]}},"scopeName":"source.tsx"},{"displayName":"JSX","name":"jsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.js.jsx"},"after-operator-block-as-object-literal":{"begin":"(?<!\\+\\+|--)(?<=[!(+,:=>?\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\|\\||\\*)\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.objectliteral.js.jsx","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\s*(\\[)","beginCaptures":{"1":{"name":"meta.brace.square.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js.jsx"}},"name":"meta.array.literal.js.jsx","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"variable.parameter.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async)\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\s*(?==>)","name":"meta.arrow.js.jsx"},{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async))?((?<![]!)}])\\s*(?=((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.arrow.js.jsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js.jsx"}},"end":"((?<=[}\\S])(?<!=>)|((?!\\{)(?=\\S)))(?!/[*/])","name":"meta.arrow.js.jsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.return.type.arrow.js.jsx","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.async.js.jsx"},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"binding-element-const":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern-const"},{"include":"#array-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.true.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.false.js.jsx"}]},"brackets":{"patterns":[{"begin":"\\{","end":"}|(?=\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\[","end":"]|(?=\\*/)","patterns":[{"include":"#brackets"}]}]},"cast":{"patterns":[{"include":"#jsx"}]},"class-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.type.class.js.jsx"}},"end":"(?<=})","name":"meta.class.js.jsx","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{"patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.class.js.jsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"class-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|/[*/])","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.type.class.js.jsx"}},"end":"(?<=})","name":"meta.class.js.jsx","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#comment"},{"include":"#decorator"},{"begin":"(?<=:)\\s*","end":"(?=[-\\])+,:;}\\s]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#string"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#async-modifier"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-or-interface-heritage":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(extends|implements)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"}},"end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"include":"#expressionWithoutIdentifiers"},{"captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))(?=\\s*[$_[:alpha:]][$_[:alnum:]]*(\\s*\\??\\.\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\s*)"},{"captures":{"1":{"name":"entity.other.inherited-class.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#expressionPunctuations"}]},"comment":{"patterns":[{"begin":"/\\*\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.js.jsx"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.js.jsx"}},"name":"comment.block.documentation.js.jsx","patterns":[{"include":"#docblock"}]},{"begin":"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.js.jsx"},"2":{"name":"storage.type.internaldeclaration.js.jsx"},"3":{"name":"punctuation.decorator.internaldeclaration.js.jsx"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.js.jsx"}},"name":"comment.block.js.jsx"},{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js.jsx"},"2":{"name":"comment.line.double-slash.js.jsx"},"3":{"name":"punctuation.definition.comment.js.jsx"},"4":{"name":"storage.type.internaldeclaration.js.jsx"},"5":{"name":"punctuation.decorator.internaldeclaration.js.jsx"}},"contentName":"comment.line.double-slash.js.jsx","end":"(?=$)"}]},"control-statement":{"patterns":[{"include":"#switch-statement"},{"include":"#for-loop"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.trycatch.js.jsx"},{"captures":{"1":{"name":"keyword.control.loop.js.jsx"},"2":{"name":"entity.name.label.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.loop.js.jsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.js.jsx"}},"end":"(?=[;}]|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.switch.js.jsx"},{"include":"#if-statement"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.conditional.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.with.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.other.debugger.js.jsx"}]},"decl-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.block.js.jsx","patterns":[{"include":"#statements"}]},"declaration":{"patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#interface-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#type-alias-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.js.jsx"}]},"decorator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))@","beginCaptures":{"0":{"name":"punctuation.decorator.js.jsx"}},"end":"(?=\\s)","name":"meta.decorator.js.jsx","patterns":[{"include":"#expression"}]},"destructuring-const":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.js.jsx","patterns":[{"include":"#object-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.js.jsx","patterns":[{"include":"#array-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-parameter":{"patterns":[{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"name":"meta.parameter.object-binding-pattern.js.jsx","patterns":[{"include":"#parameter-object-binding-element"}]},{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"name":"meta.paramter.array-binding-pattern.js.jsx","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]}]},"destructuring-parameter-rest":{"captures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"variable.parameter.js.jsx"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.js.jsx","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.js.jsx","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"captures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable-rest-const":{"captures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"directives":{"begin":"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))+\\s*/>\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.js.jsx"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.js.jsx","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.js.jsx"},"2":{"name":"entity.name.tag.directive.js.jsx"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.js.jsx"}},"name":"meta.tag.js.jsx","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.js.jsx"},{"match":"=","name":"keyword.operator.assignment.js.jsx"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\s+(p(?:rivate|rotected|ublic))\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\s+([^*/<>@\\s](?:[^*/<>@]|\\*[^/])*)(?:\\s*(<)([^>\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\s+((?:[^*/@\\s]|\\*[^/])+)\\s+(as)\\s+((?:[^*/@\\s]|\\*[^/])+)"},{"begin":"((@)example)\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\s\\*\\s+"},{"begin":"\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"(</)caption(>)|(?=\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.js.jsx"}},"match":"[^*@\\s](?:[^*]|\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\s+(?:((?=https?://)(?:[^*\\s]|\\*[^/])+)|((?!https?://|(?:\\[[^]\\[]*])?\\{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^*/@\\s]|\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\s+([$A-Z_a-z][]$.\\[\\w]*(?:\\s*,\\s*[$A-Z_a-z][]$.\\[\\w]*)*)"},{"begin":"((@)template)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\s+([$A-Z_a-z][]$.\\[\\w]*)"},{"begin":"((@)typedef)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\s]|\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.js.jsx"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\[)\\s*[$\\w]+(?:(?:\\[])?\\.[$\\w]+)*(?:\\s*(=)\\s*((?>\"(?:\\*(?!/)|\\\\(?!\")|[^*\\\\])*?\"|'(?:\\*(?!/)|\\\\(?!')|[^*\\\\])*?'|\\[(?:\\*(?!/)|[^*])*?]|(?:\\*(?!/)|\\s(?!\\s*])|\\[.*?(?:]|(?=\\*/))|[^]*\\[\\s])*)*))?\\s*(?:(])((?:[^*\\s]|\\*[^/\\s])+)?|(?=\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\s+((?:[^*@{}\\s]|\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\s+(([\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\3)|(?=$|\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^*\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\s+)"}]},"enum-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.type.enum.js.jsx"},"5":{"name":"entity.name.type.enum.js.jsx"}},"end":"(?<=})","name":"meta.enum.declaration.js.jsx","patterns":[{"include":"#comment"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#comment"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"variable.other.enummember.js.jsx"}},"end":"(?=[,}]|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+])))","end":"(?=[,}]|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"export-declaration":{"patterns":[{"captures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"keyword.control.as.js.jsx"},"3":{"name":"storage.type.namespace.js.jsx"},"4":{"name":"entity.name.type.module.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([$_[:alpha:]][$_[:alnum:]]*)"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:\\s*(=)|\\s+(default)(?=\\s+))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"keyword.control.type.js.jsx"},"3":{"name":"keyword.operator.assignment.js.jsx"},"4":{"name":"keyword.control.default.js.jsx"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.default.js.jsx","patterns":[{"include":"#interface-declaration"},{"include":"#expression"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[*{])|((?=\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\s]))(?!\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"keyword.control.type.js.jsx"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.js.jsx","patterns":[{"include":"#import-export-declaration"}]}]},"expression":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"captures":{"1":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"entity.name.function.js.jsx variable.language.this.js.jsx"},"4":{"name":"entity.name.function.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"4":{"name":"variable.parameter.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[,:]|$)"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.js.jsx"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-operators":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.flow.js.jsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*\\*)","beginCaptures":{"1":{"name":"keyword.control.flow.js.jsx"}},"end":"\\*","endCaptures":{"0":{"name":"keyword.generator.asterisk.js.jsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.control.flow.js.jsx"},"2":{"name":"keyword.generator.asterisk.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.delete.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.in.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.of.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.instanceof.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.new.js.jsx"},{"include":"#typeof-operator"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.void.js.jsx"},{"captures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[]),:;}]))"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"keyword.control.satisfies.js.jsx"}},"end":"(?=^|[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+<))","patterns":[{"include":"#type"}]},{"match":"\\.\\.\\.","name":"keyword.operator.spread.js.jsx"},{"match":"(?:\\*|(?<!\\()/|[-%+])=","name":"keyword.operator.assignment.compound.js.jsx"},{"match":"(?:[\\&^]|<<|>>>??|\\|)=","name":"keyword.operator.assignment.compound.bitwise.js.jsx"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.js.jsx"},{"match":"[!=]==?","name":"keyword.operator.comparison.js.jsx"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.js.jsx"},{"captures":{"1":{"name":"keyword.operator.logical.js.jsx"},"2":{"name":"keyword.operator.assignment.compound.js.jsx"},"3":{"name":"keyword.operator.arithmetic.js.jsx"}},"match":"(?<=[$_[:alnum:]])(!)\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\|\\||\\?\\?","name":"keyword.operator.logical.js.jsx"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.js.jsx"},{"match":"=","name":"keyword.operator.assignment.js.jsx"},{"match":"--","name":"keyword.operator.decrement.js.jsx"},{"match":"\\+\\+","name":"keyword.operator.increment.js.jsx"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.js.jsx"},{"begin":"(?<=[]$)_[:alnum:]])\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\*([^*]|(\\*[^/]))*\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.js.jsx"},"2":{"name":"keyword.operator.arithmetic.js.jsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.js.jsx"},"2":{"name":"keyword.operator.arithmetic.js.jsx"}},"match":"(?<=[]$)_[:alnum:]])\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?<!\\()(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=}]|$))","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"}},"end":"(?=[,;}]|$|^((?!\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=]|$))))|(?<=})","name":"meta.field.declaration.js.jsx","patterns":[{"include":"#variable-initializer"},{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"include":"#comment"},{"captures":{"1":{"name":"meta.definition.property.js.jsx entity.name.function.js.jsx"},"2":{"name":"keyword.operator.optional.js.jsx"},"3":{"name":"keyword.operator.definiteassignment.js.jsx"}},"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\?)|(!))?(?=\\s*\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.js.jsx variable.object.property.js.jsx"},{"match":"\\?","name":"keyword.operator.optional.js.jsx"},{"match":"!","name":"keyword.operator.definiteassignment.js.jsx"}]},"for-loop":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*))await)?\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)?(\\())","beginCaptures":{"0":{"name":"keyword.control.loop.js.jsx"}},"end":"(?<=\\))","patterns":[{"include":"#comment"},{"match":"await","name":"keyword.control.loop.js.jsx"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#type-function-return-type"},{"include":"#decl-block"},{"match":"\\*","name":"keyword.generator.asterisk.js.jsx"}]},"function-call":{"patterns":[{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","end":"(?<=\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","name":"meta.function-call.js.jsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*[(\\[{]\\s*)$)","name":"meta.function-call.js.jsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\?\\.","name":"meta.function-call.js.jsx punctuation.accessor.optional.js.jsx"},{"match":"!","name":"meta.function-call.js.jsx keyword.operator.definiteassignment.js.jsx"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.js.jsx"}]},"function-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.async.js.jsx"},"4":{"name":"storage.type.function.js.jsx"},"5":{"name":"keyword.generator.asterisk.js.jsx"},"6":{"name":"meta.definition.function.js.jsx entity.name.function.js.jsx"}},"end":"(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|(?<=})","name":"meta.function.js.jsx","patterns":[{"include":"#function-name"},{"include":"#function-body"}]},"function-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"storage.type.function.js.jsx"},"3":{"name":"keyword.generator.asterisk.js.jsx"},"4":{"name":"meta.definition.function.js.jsx entity.name.function.js.jsx"}},"end":"(?=;)|(?<=})","name":"meta.function.expression.js.jsx","patterns":[{"include":"#function-name"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#function-body"}]},"function-name":{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.function.js.jsx entity.name.function.js.jsx"},"function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.js.jsx"}},"name":"meta.parameters.js.jsx","patterns":[{"include":"#function-parameters-body"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#parameter-type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.js.jsx"}]},"identifiers":{"patterns":[{"include":"#object-identifiers"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"entity.name.function.js.jsx"}},"match":"(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"variable.other.constant.property.js.jsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"variable.other.property.js.jsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.js.jsx"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.js.jsx"}]},"if-statement":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bif\\s*(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))\\s*(?!\\{))","end":"(?=;|$|})","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(if)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.js.jsx"},"2":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=\\))\\s*/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"keyword.other.js.jsx"}},"name":"string.regexp.js.jsx","patterns":[{"include":"#regexp"}]},{"include":"#statements"}]}]},"import-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type)(?!\\s+from))?(?!\\s*[(:])(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"keyword.control.import.js.jsx"},"4":{"name":"keyword.control.type.js.jsx"}},"end":"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)","name":"meta.import.js.jsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#string"},{"begin":"(?<=(?:^|[^$._[:alnum:]])import)(?!\\s*[\"'])","end":"\\bfrom\\b","endCaptures":{"0":{"name":"keyword.control.from.js.jsx"}},"patterns":[{"include":"#import-export-declaration"}]},{"include":"#import-export-declaration"}]},"import-equals-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(require)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"keyword.control.import.js.jsx"},"4":{"name":"keyword.control.type.js.jsx"},"5":{"name":"variable.other.readwrite.alias.js.jsx"},"6":{"name":"keyword.operator.assignment.js.jsx"},"7":{"name":"keyword.control.require.js.jsx"},"8":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"name":"meta.import-equals.external.js.jsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(?!require\\b)","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"keyword.control.import.js.jsx"},"4":{"name":"keyword.control.type.js.jsx"},"5":{"name":"variable.other.readwrite.alias.js.jsx"},"6":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=;|$|^)","name":"meta.import-equals.internal.js.jsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.readwrite.js.jsx"}]}]},"import-export-assert-clause":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(with)|(assert))\\s*(\\{)","beginCaptures":{"1":{"name":"keyword.control.with.js.jsx"},"2":{"name":"keyword.control.assert.js.jsx"},"3":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object-literal.key.js.jsx"},{"match":":","name":"punctuation.separator.key-value.js.jsx"}]},"import-export-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.block.js.jsx","patterns":[{"include":"#import-export-clause"}]},"import-export-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.type.js.jsx"},"2":{"name":"keyword.control.default.js.jsx"},"3":{"name":"constant.language.import-export-all.js.jsx"},"4":{"name":"variable.other.readwrite.js.jsx"},"5":{"name":"string.quoted.alias.js.jsx"},"12":{"name":"keyword.control.as.js.jsx"},"13":{"name":"keyword.control.default.js.jsx"},"14":{"name":"variable.other.readwrite.alias.js.jsx"},"15":{"name":"string.quoted.alias.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(type)\\s+)?(?:\\b(default)|(\\*)|\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))\\s+(as)\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"},{"include":"#punctuation-comma"},{"match":"\\*","name":"constant.language.import-export-all.js.jsx"},{"match":"\\b(default)\\b","name":"keyword.control.default.js.jsx"},{"captures":{"1":{"name":"keyword.control.type.js.jsx"},"2":{"name":"variable.other.readwrite.alias.js.jsx"},"3":{"name":"string.quoted.alias.js.jsx"}},"match":"(?:\\b(type)\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"match":"\\bfrom\\b","name":"keyword.control.from.js.jsx"},{"include":"#import-export-assert-clause"},{"include":"#import-export-clause"}]},"indexer-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=:)","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"meta.brace.square.js.jsx"},"3":{"name":"variable.parameter.js.jsx"}},"end":"(])\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.js.jsx"},"2":{"name":"keyword.operator.optional.js.jsx"}},"name":"meta.indexer.declaration.js.jsx","patterns":[{"include":"#type-annotation"}]},"indexer-mapped-type-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([-+])?(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s+(in)\\s+","beginCaptures":{"1":{"name":"keyword.operator.type.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"meta.brace.square.js.jsx"},"4":{"name":"entity.name.type.js.jsx"},"5":{"name":"keyword.operator.expression.in.js.jsx"}},"end":"(])([-+])?\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.js.jsx"},"2":{"name":"keyword.operator.type.modifier.js.jsx"},"3":{"name":"keyword.operator.optional.js.jsx"}},"name":"meta.indexer.mappedtype.declaration.js.jsx","patterns":[{"captures":{"1":{"name":"keyword.control.as.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+"},{"include":"#type"}]},"inline-tags":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}},"match":"(\\[)[^]]+(])(?=\\{@(?:link|linkcode|linkplain|tutorial))","name":"constant.other.description.jsdoc"},{"begin":"(\\{)((@)(?:link(?:code|plain)?|tutorial))\\s*","beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"end":"}|(?=\\*/)","endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"name":"entity.name.type.instance.jsdoc","patterns":[{"captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?=https?://)(?:[^*|}\\s]|\\*/)+)(\\|)?"},{"captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?:[^*@{|}\\s]|\\*[^/])+)(\\|)?"}]}]},"instanceof-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.expression.instanceof.js.jsx"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|([!=]==?)|(([\\&^|~]\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s+instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","patterns":[{"include":"#type"}]},"interface-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(interface)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.type.interface.js.jsx"}},"end":"(?<=})","name":"meta.interface.js.jsx","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.interface.js.jsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"jsdoctype":{"patterns":[{"begin":"\\G(\\{)","beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"contentName":"entity.name.type.instance.jsdoc","end":"((}))\\s*|(?=\\*/)","endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"patterns":[{"include":"#brackets"}]}]},"jsx":{"patterns":[{"include":"#jsx-tag-without-attributes-in-expression"},{"include":"#jsx-tag-in-expression"}]},"jsx-children":{"patterns":[{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-tag"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}]},"jsx-entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.js.jsx"},"3":{"name":"punctuation.definition.entity.js.jsx"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.js.jsx"}]},"jsx-evaluated-code":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.js.jsx"}},"contentName":"meta.embedded.expression.js.jsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.js.jsx"}},"patterns":[{"include":"#expression"}]},"jsx-string-double-quoted":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.js.jsx"}},"name":"string.quoted.double.js.jsx","patterns":[{"include":"#jsx-entities"}]},"jsx-string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.js.jsx"}},"name":"string.quoted.single.js.jsx","patterns":[{"include":"#jsx-entities"}]},"jsx-tag":{"begin":"(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","end":"(/>)|(</)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.js.jsx"},"2":{"name":"punctuation.definition.tag.begin.js.jsx"},"3":{"name":"entity.name.tag.namespace.js.jsx"},"4":{"name":"punctuation.separator.namespace.js.jsx"},"5":{"name":"entity.name.tag.js.jsx"},"6":{"name":"support.class.component.js.jsx"},"7":{"name":"punctuation.definition.tag.end.js.jsx"}},"name":"meta.tag.js.jsx","patterns":[{"begin":"(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js.jsx"},"2":{"name":"entity.name.tag.namespace.js.jsx"},"3":{"name":"punctuation.separator.namespace.js.jsx"},"4":{"name":"entity.name.tag.js.jsx"},"5":{"name":"support.class.component.js.jsx"}},"end":"(?=/?>)","patterns":[{"include":"#comment"},{"include":"#type-arguments"},{"include":"#jsx-tag-attributes"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js.jsx"}},"contentName":"meta.jsx.children.js.jsx","end":"(?=</)","patterns":[{"include":"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{"match":"=(?=\\s*(?:[\"'{]|/\\*|//|\\n))","name":"keyword.operator.assignment.js.jsx"},"jsx-tag-attribute-name":{"captures":{"1":{"name":"entity.other.attribute-name.namespace.js.jsx"},"2":{"name":"punctuation.separator.namespace.js.jsx"},"3":{"name":"entity.other.attribute-name.js.jsx"}},"match":"\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\s]|/?>|/\\*|//)"},"jsx-tag-attributes":{"begin":"\\s+","end":"(?=/?>)","name":"meta.tag.attributes.js.jsx","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{"match":"\\S+","name":"invalid.illegal.attribute.js.jsx"},"jsx-tag-in-expression":{"begin":"(?<!\\+\\+|--)(?<=[(*,:=>?\\[{]|&&|\\|\\||\\?|\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\s*(?!<\\s*[$_[:alpha:]][$_[:alnum:]]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","end":"(?!(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js.jsx"},"2":{"name":"entity.name.tag.namespace.js.jsx"},"3":{"name":"punctuation.separator.namespace.js.jsx"},"4":{"name":"entity.name.tag.js.jsx"},"5":{"name":"support.class.component.js.jsx"},"6":{"name":"punctuation.definition.tag.end.js.jsx"}},"contentName":"meta.jsx.children.js.jsx","end":"(</)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.js.jsx"},"2":{"name":"entity.name.tag.namespace.js.jsx"},"3":{"name":"punctuation.separator.namespace.js.jsx"},"4":{"name":"entity.name.tag.js.jsx"},"5":{"name":"support.class.component.js.jsx"},"6":{"name":"punctuation.definition.tag.end.js.jsx"}},"name":"meta.tag.without-attributes.js.jsx","patterns":[{"include":"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{"begin":"(?<!\\+\\+|--)(?<=[(*,:=>?\\[{]|&&|\\|\\||\\?|\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\s*(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>))","end":"(?!(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>))","patterns":[{"include":"#jsx-tag-without-attributes"}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)(?=\\s*\\{)","beginCaptures":{"1":{"name":"entity.name.label.js.jsx"},"2":{"name":"punctuation.separator.label.js.jsx"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.js.jsx"},"2":{"name":"punctuation.separator.label.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)"}]},"literal":{"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":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?\\s*\\b(constructor)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.modifier.async.js.jsx"},"5":{"name":"storage.type.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\s*\\b(new)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))|(?:(\\*)\\s*)?)(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.modifier.async.js.jsx"},"5":{"name":"keyword.operator.new.js.jsx"},"6":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.modifier.async.js.jsx"},"5":{"name":"storage.type.property.js.jsx"},"6":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??)\\s*[(<])","end":"(?=[(<])","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.method.js.jsx entity.name.function.js.jsx"},{"match":"\\?","name":"keyword.operator.optional.js.jsx"}]},"namespace-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(namespace|module)\\s+(?=[\"$'_`[:alpha:]])","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.namespace.js.jsx"}},"end":"(?<=})|(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.namespace.declaration.js.jsx","patterns":[{"include":"#comment"},{"include":"#string"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.type.module.js.jsx"},{"include":"#punctuation-accessor"},{"include":"#decl-block"}]},"new-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.new.js.jsx"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","name":"new.expr.js.jsx","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.null.js.jsx"},"numeric-literal":{"patterns":[{"captures":{"1":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"\\b(?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$)","name":"constant.numeric.hex.js.jsx"},{"captures":{"1":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"\\b(?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$)","name":"constant.numeric.binary.js.jsx"},{"captures":{"1":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"\\b(?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$)","name":"constant.numeric.octal.js.jsx"},{"captures":{"0":{"name":"constant.numeric.decimal.js.jsx"},"1":{"name":"meta.delimiter.decimal.period.js.jsx"},"2":{"name":"storage.type.numeric.bigint.js.jsx"},"3":{"name":"meta.delimiter.decimal.period.js.jsx"},"4":{"name":"storage.type.numeric.bigint.js.jsx"},"5":{"name":"meta.delimiter.decimal.period.js.jsx"},"6":{"name":"storage.type.numeric.bigint.js.jsx"},"7":{"name":"storage.type.numeric.bigint.js.jsx"},"8":{"name":"meta.delimiter.decimal.period.js.jsx"},"9":{"name":"storage.type.numeric.bigint.js.jsx"},"10":{"name":"meta.delimiter.decimal.period.js.jsx"},"11":{"name":"storage.type.numeric.bigint.js.jsx"},"12":{"name":"meta.delimiter.decimal.period.js.jsx"},"13":{"name":"storage.type.numeric.bigint.js.jsx"},"14":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"(?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)"}]},"numericConstant-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))NaN(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.nan.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Infinity(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.infinity.js.jsx"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[: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-const":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element-const"}]},{"include":"#object-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(:)","endCaptures":{"0":{"name":"punctuation.destructuring.js.jsx"}},"patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.object.property.js.jsx"}]},"object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"patterns":[{"include":"#object-binding-element"}]},"object-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"patterns":[{"include":"#object-binding-element-const"}]},"object-identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*\\??\\.\\s*prototype\\b(?!\\$))","name":"support.class.js.jsx"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"variable.other.constant.object.property.js.jsx"},"4":{"name":"variable.other.object.property.js.jsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(#?\\p{upper}[$_\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.constant.object.js.jsx"},"2":{"name":"variable.other.object.js.jsx"}},"match":"(?:(\\p{upper}[$_\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"}]},"object-literal":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.objectliteral.js.jsx","patterns":[{"include":"#object-member"}]},"object-literal-method-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"storage.type.property.js.jsx"},"3":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"storage.type.property.js.jsx"},"3":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\[)","end":"(?=:)|((?<=])(?=\\s*[(<]))","name":"meta.object.member.js.jsx meta.object-literal.key.js.jsx","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\"'`])","end":"(?=:)|((?<=[\"'`])(?=((\\s*[(,<}])|(\\s+(as|satisifies)\\s+))))","name":"meta.object.member.js.jsx meta.object-literal.key.js.jsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)))","end":"(?=:)|(?=\\s*([(,<}])|(\\s+as|satisifies\\s+))","name":"meta.object.member.js.jsx meta.object-literal.key.js.jsx","patterns":[{"include":"#comment"},{"include":"#numeric-literal"}]},{"begin":"(?<=[]\"'`])(?=\\s*[(<])","end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.js.jsx"},"1":{"name":"constant.numeric.decimal.js.jsx"}},"match":"(?![$_[:alpha:]])(\\d+)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.js.jsx"},{"captures":{"0":{"name":"meta.object-literal.key.js.jsx"},"1":{"name":"entity.name.function.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:(\\s*/\\*([^*]|(\\*[^/]))*\\*/)*\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))","name":"meta.object.member.js.jsx"},{"captures":{"0":{"name":"meta.object-literal.key.js.jsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.js.jsx"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js.jsx"}},"end":"(?=[,}])","name":"meta.object.member.js.jsx","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=[,}]|$|//|/\\*)","name":"meta.object.member.js.jsx"},{"captures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*([,}]|$))","name":"meta.object.member.js.jsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"keyword.control.satisfies.js.jsx"}},"end":"(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+))","name":"meta.object.member.js.jsx","patterns":[{"include":"#type"}]},{"begin":"(?=[$_[:alpha:]][$_[:alnum:]]*\\s*=)","end":"(?=[,}]|$|//|/\\*)","name":"meta.object.member.js.jsx","patterns":[{"include":"#expression"}]},{"begin":":","beginCaptures":{"0":{"name":"meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx"}},"end":"(?=[,}])","name":"meta.object.member.js.jsx","patterns":[{"begin":"(?<=:)\\s*(async)?(?=\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\s*(async)?\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\s*(async)?\\s*(?=<\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"entity.name.function.js.jsx variable.language.this.js.jsx"},"4":{"name":"entity.name.function.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"4":{"name":"variable.parameter.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)"}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"},{"include":"#paren-expression"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"patterns":[{"include":"#parameter-object-binding-element"}]},"parameter-type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?=[),])|(?==[^>])","name":"meta.type.annotation.js.jsx","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)))\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\)|^)\\s*(:)(?=\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.js.jsx meta.return.type.arrow.js.jsx keyword.operator.type.annotation.js.jsx"}},"contentName":"meta.arrow.js.jsx meta.return.type.arrow.js.jsx","end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.type.property.js.jsx"},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"(\\.)|(\\?\\.(?!\\s*\\d))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.js.jsx"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.js.jsx"},"qstring-double":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(\")|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"invalid.illegal.newline.js.jsx"}},"name":"string.quoted.double.js.jsx","patterns":[{"include":"#string-character-escape"}]},"qstring-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(')|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"invalid.illegal.newline.js.jsx"}},"name":"string.quoted.single.js.jsx","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?<!\\+\\+|--|})(?<=[!(+,:=?\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\|\\||\\*/)\\s*(/)(?![*/])(?=(?:[^()/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)+]|\\(([^)\\\\]|\\\\.)+\\))+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"keyword.other.js.jsx"}},"name":"string.regexp.js.jsx","patterns":[{"include":"#regexp"}]},{"begin":"((?<![]$)_[:alnum:]]|\\+\\+|--|}|\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\s*)/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"keyword.other.js.jsx"}},"name":"string.regexp.js.jsx","patterns":[{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\[DSWdfnrstvw]|\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\([0-7]{3}|x\\h{2}|u\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}},"match":"\\\\(?:[1-9]\\d*|k<([$A-Z_a-z][$\\w]*)>)"},{"match":"[*+?]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)}\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))","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"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\((?:(\\?:)|\\?<([$A-Z_a-z][$\\w]*)>)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\[)(\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"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"}},"match":"(?:.|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))-(?:[^]\\\\]|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\))\\s*(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\&:|])(?=$|^|[,;{}]|//)","name":"meta.return.type.js.jsx","patterns":[{"include":"#return-type-core"}]},{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\&:|])((?=[,;{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.return.type.js.jsx","patterns":[{"include":"#return-type-core"}]}]},"return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<=[\\&:|])(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.js.jsx"}},"match":"\\A(#!).*(?=$)","name":"comment.line.shebang.js.jsx"},"single-line-comment-consuming-line-ending":{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js.jsx"},"2":{"name":"comment.line.double-slash.js.jsx"},"3":{"name":"punctuation.definition.comment.js.jsx"},"4":{"name":"storage.type.internaldeclaration.js.jsx"},"5":{"name":"punctuation.decorator.internaldeclaration.js.jsx"}},"contentName":"comment.line.double-slash.js.jsx","end":"(?=^)"},"statements":{"patterns":[{"include":"#declaration"},{"include":"#control-statement"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#label"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\(x\\h{2}|u\\h{4}|u\\{\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.js.jsx"},"super-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))super\\b(?!\\$)","name":"variable.language.super.js.jsx"},"support-function-call-identifiers":{"patterns":[{"include":"#literal"},{"include":"#support-objects"},{"include":"#object-identifiers"},{"include":"#punctuation-accessor"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\(\\s*[\"'`])","name":"keyword.operator.expression.import.js.jsx"}]},"support-objects":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(arguments)\\b(?!\\$)","name":"variable.language.arguments.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(Promise)\\b(?!\\$)","name":"support.class.promise.js.jsx"},{"captures":{"1":{"name":"keyword.control.import.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"},"4":{"name":"support.variable.property.importmeta.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(import)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(meta)\\b(?!\\$)"},{"captures":{"1":{"name":"keyword.operator.new.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"},"4":{"name":"support.variable.property.target.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(target)\\b(?!\\$)"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"support.variable.property.js.jsx"},"4":{"name":"support.constant.js.jsx"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$))"},{"captures":{"1":{"name":"support.type.object.module.js.jsx"},"2":{"name":"support.type.object.module.js.jsx"},"3":{"name":"punctuation.accessor.js.jsx"},"4":{"name":"punctuation.accessor.optional.js.jsx"},"5":{"name":"support.type.object.module.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(exports)|(module)(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)"}]},"switch-statement":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bswitch\\s*\\()","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"switch-statement.expr.js.jsx","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(switch)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.switch.js.jsx"},"2":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"name":"switch-expression.expr.js.jsx","patterns":[{"include":"#expression"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"(?=})","name":"switch-block.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.switch.js.jsx"}},"end":"(?=:)","name":"case-clause.expr.js.jsx","patterns":[{"include":"#expression"}]},{"begin":"(:)\\s*(\\{)","beginCaptures":{"1":{"name":"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx"},"2":{"name":"meta.block.js.jsx punctuation.definition.block.js.jsx"}},"contentName":"meta.block.js.jsx","end":"}","endCaptures":{"0":{"name":"meta.block.js.jsx punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#statements"}]},{"captures":{"0":{"name":"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx"}},"match":"(:)"},{"include":"#statements"}]}]},"template":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js.jsx"},"2":{"name":"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"}},"contentName":"string.template.js.jsx","end":"`","endCaptures":{"0":{"name":"string.template.js.jsx punctuation.definition.string.template.end.js.jsx"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-call":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.js.jsx"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js.jsx"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js.jsx"}},"contentName":"meta.embedded.line.js.jsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js.jsx"}},"name":"meta.template.expression.js.jsx","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js.jsx"},"2":{"name":"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"}},"contentName":"string.template.js.jsx","end":"`","endCaptures":{"0":{"name":"string.template.js.jsx punctuation.definition.string.template.end.js.jsx"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js.jsx"}},"contentName":"meta.embedded.line.js.jsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js.jsx"}},"name":"meta.template.expression.js.jsx","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\?\\.\\s*\\D)(\\?)(?!\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.js.jsx"}},"end":"\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.js.jsx"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))this\\b(?!\\$)","name":"variable.language.this.js.jsx"},"type":{"patterns":[{"include":"#comment"},{"include":"#type-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-conditional"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"captures":{"1":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*"},{"include":"#type-name"}]},"type-alias-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(type)\\b\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.type.js.jsx"},"4":{"name":"entity.name.type.alias.js.jsx"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.type.declaration.js.jsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"begin":"(=)\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"},"2":{"name":"keyword.control.intrinsic.js.jsx"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]},{"begin":"(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]}]},"type-annotation":{"patterns":[{"begin":"(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\&:|])(?!\\s*[\\&|]\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.js.jsx","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\s*$)|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.js.jsx","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.js.jsx"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-builtin-literals":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.builtin.js.jsx"},"type-conditional":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends)\\s+","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"}},"end":"(?<=:)","patterns":[{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.js.jsx"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.js.jsx"}},"patterns":[{"include":"#type"}]},{"include":"#type"}]}]},"type-fn-type-parameters":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b(?=\\s*<)","beginCaptures":{"1":{"name":"meta.type.constructor.js.jsx storage.modifier.js.jsx"},"2":{"name":"meta.type.constructor.js.jsx keyword.control.new.js.jsx"}},"end":"(?<=>)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.control.new.js.jsx"}},"end":"(?<=\\))","name":"meta.type.constructor.js.jsx","patterns":[{"include":"#function-parameters"}]},{"begin":"((?=\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>))))))","end":"(?<=\\))","name":"meta.type.function.js.jsx","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\s*\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.js.jsx"}},"end":"(?<!=>)(?<![\\&|])(?=[]),:;=>?{}]|//|$)","name":"meta.type.function.return.js.jsx","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js.jsx"}},"end":"(?<!=>)(?<![\\&|])((?=[]),:;=>?{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.type.function.return.js.jsx","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.js.jsx"},"2":{"name":"entity.name.type.js.jsx"},"3":{"name":"keyword.operator.expression.extends.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(infer)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s+(extends)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))?","name":"meta.type.infer.js.jsx"}]},"type-name":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(<)","captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"},"4":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"}},"contentName":"meta.type.parameters.js.jsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.js.jsx"},"2":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"}},"contentName":"meta.type.parameters.js.jsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.js.jsx"}]},"type-object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.object.type.js.jsx","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\&|])(?=\\s*\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.js.jsx"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.js.jsx"}},"end":"(?=\\S)"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))keyof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.keyof.js.jsx"},{"match":"([:?])","name":"keyword.operator.ternary.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\()","name":"keyword.operator.expression.import.js.jsx"}]},"type-parameters":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.js.jsx"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.js.jsx"},{"include":"#type"},{"include":"#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.js.jsx"}]},"type-paren-or-function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"name":"meta.type.paren.cover.js.jsx","patterns":[{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"entity.name.function.js.jsx variable.language.this.js.jsx"},"4":{"name":"entity.name.function.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=\\s*(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"4":{"name":"variable.parameter.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=:)"},{"include":"#type-annotation"},{"match":",","name":"punctuation.separator.parameter.js.jsx"},{"include":"#type"}]},"type-predicate-operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.asserts.js.jsx"},"2":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"3":{"name":"variable.parameter.js.jsx"},"4":{"name":"keyword.operator.expression.is.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(asserts)\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s(is)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"captures":{"1":{"name":"keyword.operator.type.asserts.js.jsx"},"2":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"3":{"name":"variable.parameter.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(asserts)\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))asserts(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.type.asserts.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))is(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.is.js.jsx"}]},"type-primitive":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.primitive.js.jsx"},"type-string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template-type"}]},"type-tuple":{"begin":"\\[","beginCaptures":{"0":{"name":"meta.brace.square.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js.jsx"}},"name":"meta.type.tuple.js.jsx","patterns":[{"match":"\\.\\.\\.","name":"keyword.operator.rest.js.jsx"},{"captures":{"1":{"name":"entity.name.label.js.jsx"},"2":{"name":"keyword.operator.optional.js.jsx"},"3":{"name":"punctuation.separator.label.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([$_[:alpha:]][$_[:alnum:]]*)\\s*(\\?)?\\s*(:)"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeof-operator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))typeof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.operator.expression.typeof.js.jsx"}},"end":"(?=[]\\&),:;=>?{|}]|(extends\\s+)|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))undefined(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.undefined.js.jsx"},"var-expr":{"patterns":[{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\s*$)))","name":"meta.var.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?=\\S)"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.js.jsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\s*$)))","name":"meta.var.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?=\\S)"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.js.jsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\s+|[^$._[:alnum:]]await\\s+)using)(?=\\s*$)))","name":"meta.var.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?=\\S)"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*((?!\\S)|(?=//))","beginCaptures":{"1":{"name":"punctuation.separator.comma.js.jsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]}]},"var-single-const":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx entity.name.function.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx entity.name.function.js.jsx"},"2":{"name":"keyword.operator.definiteassignment.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx"},"2":{"name":"keyword.operator.definiteassignment.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx"},"2":{"name":"keyword.operator.definiteassignment.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{"patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}]},"variable-initializer":{"patterns":[{"begin":"(?<![!=])(=)(?!=)(?=\\s*\\S)(?!\\s*.*=>\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","patterns":[{"include":"#expression"}]},{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![-\\&*+/|])(?<=\\S)(?<!=)(?=\\s*$)","patterns":[{"include":"#expression"}]}]}},"scopeName":"source.js.jsx"},{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.ts"},"after-operator-block-as-object-literal":{"begin":"(?<!\\+\\+|--)(?<=[!(+,:=>?\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\|\\||\\*)\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\s*(\\[)","beginCaptures":{"1":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async)\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\s*(?==>)","name":"meta.arrow.ts"},{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async))?((?<![]!)}])\\s*(?=((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.arrow.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"((?<=[}\\S])(?<!=>)|((?!\\{)(?=\\S)))(?!/[*/])","name":"meta.arrow.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.return.type.arrow.ts","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.async.ts"},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"binding-element-const":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern-const"},{"include":"#array-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.true.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.false.ts"}]},"brackets":{"patterns":[{"begin":"\\{","end":"}|(?=\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\[","end":"]|(?=\\*/)","patterns":[{"include":"#brackets"}]}]},"cast":{"patterns":[{"captures":{"1":{"name":"meta.brace.angle.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"meta.brace.angle.ts"}},"match":"\\s*(<)\\s*(const)\\s*(>)","name":"cast.expr.ts"},{"begin":"(?<!\\+\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\+\\+|--)|[^+]\\+|[^-]-)\\s*(<)(?!<?=)(?!\\s*$)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]},{"begin":"(?<=^)\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\s*>)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]}]},"class-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.type.class.ts"}},"end":"(?<=})","name":"meta.class.ts","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{"patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.class.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"class-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|/[*/])","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.type.class.ts"}},"end":"(?<=})","name":"meta.class.ts","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"#comment"},{"include":"#decorator"},{"begin":"(?<=:)\\s*","end":"(?=[-\\])+,:;}\\s]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#string"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#async-modifier"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-or-interface-heritage":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(extends|implements)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.ts"}},"end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"include":"#expressionWithoutIdentifiers"},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))(?=\\s*[$_[:alpha:]][$_[:alnum:]]*(\\s*\\??\\.\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\s*)"},{"captures":{"1":{"name":"entity.other.inherited-class.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#expressionPunctuations"}]},"comment":{"patterns":[{"begin":"/\\*\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.ts"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.ts"}},"name":"comment.block.documentation.ts","patterns":[{"include":"#docblock"}]},{"begin":"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"},"2":{"name":"storage.type.internaldeclaration.ts"},"3":{"name":"punctuation.decorator.internaldeclaration.ts"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.ts"}},"name":"comment.block.ts"},{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ts"},"2":{"name":"comment.line.double-slash.ts"},"3":{"name":"punctuation.definition.comment.ts"},"4":{"name":"storage.type.internaldeclaration.ts"},"5":{"name":"punctuation.decorator.internaldeclaration.ts"}},"contentName":"comment.line.double-slash.ts","end":"(?=$)"}]},"control-statement":{"patterns":[{"include":"#switch-statement"},{"include":"#for-loop"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.trycatch.ts"},{"captures":{"1":{"name":"keyword.control.loop.ts"},"2":{"name":"entity.name.label.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.loop.ts"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.ts"}},"end":"(?=[;}]|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.switch.ts"},{"include":"#if-statement"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.conditional.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.with.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.other.debugger.ts"}]},"decl-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.block.ts","patterns":[{"include":"#statements"}]},"declaration":{"patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#interface-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#type-alias-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.ts"}]},"decorator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))@","beginCaptures":{"0":{"name":"punctuation.decorator.ts"}},"end":"(?=\\s)","name":"meta.decorator.ts","patterns":[{"include":"#expression"}]},"destructuring-const":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.ts","patterns":[{"include":"#object-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.ts","patterns":[{"include":"#array-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-parameter":{"patterns":[{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"name":"meta.parameter.object-binding-pattern.ts","patterns":[{"include":"#parameter-object-binding-element"}]},{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"name":"meta.paramter.array-binding-pattern.ts","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]}]},"destructuring-parameter-rest":{"captures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.ts","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.ts","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"captures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"meta.definition.variable.ts variable.other.readwrite.ts"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable-rest-const":{"captures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"meta.definition.variable.ts variable.other.constant.ts"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"directives":{"begin":"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))+\\s*/>\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.ts","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.ts"},"2":{"name":"entity.name.tag.directive.ts"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.ts"}},"name":"meta.tag.ts","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\s+(p(?:rivate|rotected|ublic))\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\s+([^*/<>@\\s](?:[^*/<>@]|\\*[^/])*)(?:\\s*(<)([^>\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\s+((?:[^*/@\\s]|\\*[^/])+)\\s+(as)\\s+((?:[^*/@\\s]|\\*[^/])+)"},{"begin":"((@)example)\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\s\\*\\s+"},{"begin":"\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"(</)caption(>)|(?=\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.ts"}},"match":"[^*@\\s](?:[^*]|\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\s+(?:((?=https?://)(?:[^*\\s]|\\*[^/])+)|((?!https?://|(?:\\[[^]\\[]*])?\\{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^*/@\\s]|\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\s+([$A-Z_a-z][]$.\\[\\w]*(?:\\s*,\\s*[$A-Z_a-z][]$.\\[\\w]*)*)"},{"begin":"((@)template)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\s+([$A-Z_a-z][]$.\\[\\w]*)"},{"begin":"((@)typedef)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\s]|\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.ts"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\[)\\s*[$\\w]+(?:(?:\\[])?\\.[$\\w]+)*(?:\\s*(=)\\s*((?>\"(?:\\*(?!/)|\\\\(?!\")|[^*\\\\])*?\"|'(?:\\*(?!/)|\\\\(?!')|[^*\\\\])*?'|\\[(?:\\*(?!/)|[^*])*?]|(?:\\*(?!/)|\\s(?!\\s*])|\\[.*?(?:]|(?=\\*/))|[^]*\\[\\s])*)*))?\\s*(?:(])((?:[^*\\s]|\\*[^/\\s])+)?|(?=\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\s+((?:[^*@{}\\s]|\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\s+(([\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\3)|(?=$|\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^*\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\s+)"}]},"enum-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.type.enum.ts"},"5":{"name":"entity.name.type.enum.ts"}},"end":"(?<=})","name":"meta.enum.declaration.ts","patterns":[{"include":"#comment"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"#comment"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"variable.other.enummember.ts"}},"end":"(?=[,}]|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+])))","end":"(?=[,}]|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"export-declaration":{"patterns":[{"captures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"keyword.control.as.ts"},"3":{"name":"storage.type.namespace.ts"},"4":{"name":"entity.name.type.module.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([$_[:alpha:]][$_[:alnum:]]*)"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:\\s*(=)|\\s+(default)(?=\\s+))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"keyword.control.type.ts"},"3":{"name":"keyword.operator.assignment.ts"},"4":{"name":"keyword.control.default.ts"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.default.ts","patterns":[{"include":"#interface-declaration"},{"include":"#expression"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[*{])|((?=\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\s]))(?!\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"keyword.control.type.ts"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.ts","patterns":[{"include":"#import-export-declaration"}]}]},"expression":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[,:]|$)"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.ts"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-operators":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.flow.ts"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*\\*)","beginCaptures":{"1":{"name":"keyword.control.flow.ts"}},"end":"\\*","endCaptures":{"0":{"name":"keyword.generator.asterisk.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.control.flow.ts"},"2":{"name":"keyword.generator.asterisk.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.new.ts"},{"include":"#typeof-operator"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.void.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[]),:;}]))"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"keyword.control.satisfies.ts"}},"end":"(?=^|[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+<))","patterns":[{"include":"#type"}]},{"match":"\\.\\.\\.","name":"keyword.operator.spread.ts"},{"match":"(?:\\*|(?<!\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\&^]|<<|>>>??|\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"keyword.operator.assignment.compound.ts"},"3":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])(!)\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\|\\||\\?\\?","name":"keyword.operator.logical.ts"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\+\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"begin":"(?<=[]$)_[:alnum:]])\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\*([^*]|(\\*[^/]))*\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[]$)_[:alnum:]])\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?<!\\()(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=}]|$))","beginCaptures":{"1":{"name":"storage.modifier.ts"}},"end":"(?=[,;}]|$|^((?!\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=]|$))))|(?<=})","name":"meta.field.declaration.ts","patterns":[{"include":"#variable-initializer"},{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"include":"#comment"},{"captures":{"1":{"name":"meta.definition.property.ts entity.name.function.ts"},"2":{"name":"keyword.operator.optional.ts"},"3":{"name":"keyword.operator.definiteassignment.ts"}},"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\?)|(!))?(?=\\s*\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.ts variable.object.property.ts"},{"match":"\\?","name":"keyword.operator.optional.ts"},{"match":"!","name":"keyword.operator.definiteassignment.ts"}]},"for-loop":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*))await)?\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)?(\\())","beginCaptures":{"0":{"name":"keyword.control.loop.ts"}},"end":"(?<=\\))","patterns":[{"include":"#comment"},{"match":"await","name":"keyword.control.loop.ts"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#type-function-return-type"},{"include":"#decl-block"},{"match":"\\*","name":"keyword.generator.asterisk.ts"}]},"function-call":{"patterns":[{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","end":"(?<=\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*[(\\[{]\\s*)$)","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\?\\.","name":"meta.function-call.ts punctuation.accessor.optional.ts"},{"match":"!","name":"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"}]},"function-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.async.ts"},"4":{"name":"storage.type.function.ts"},"5":{"name":"keyword.generator.asterisk.ts"},"6":{"name":"meta.definition.function.ts entity.name.function.ts"}},"end":"(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|(?<=})","name":"meta.function.ts","patterns":[{"include":"#function-name"},{"include":"#function-body"}]},"function-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.function.ts"},"3":{"name":"keyword.generator.asterisk.ts"},"4":{"name":"meta.definition.function.ts entity.name.function.ts"}},"end":"(?=;)|(?<=})","name":"meta.function.expression.ts","patterns":[{"include":"#function-name"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#function-body"}]},"function-name":{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.function.ts entity.name.function.ts"},"function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#function-parameters-body"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#parameter-type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"include":"#object-identifiers"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"entity.name.function.ts"}},"match":"(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.property.ts"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.property.ts"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.ts"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"if-statement":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bif\\s*(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))\\s*(?!\\{))","end":"(?=;|$|})","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(if)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=\\))\\s*/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"include":"#statements"}]}]},"import-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type)(?!\\s+from))?(?!\\s*[(:])(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.control.import.ts"},"4":{"name":"keyword.control.type.ts"}},"end":"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)","name":"meta.import.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#string"},{"begin":"(?<=(?:^|[^$._[:alnum:]])import)(?!\\s*[\"'])","end":"\\bfrom\\b","endCaptures":{"0":{"name":"keyword.control.from.ts"}},"patterns":[{"include":"#import-export-declaration"}]},{"include":"#import-export-declaration"}]},"import-equals-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(require)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.control.import.ts"},"4":{"name":"keyword.control.type.ts"},"5":{"name":"variable.other.readwrite.alias.ts"},"6":{"name":"keyword.operator.assignment.ts"},"7":{"name":"keyword.control.require.ts"},"8":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.import-equals.external.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(?!require\\b)","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.control.import.ts"},"4":{"name":"keyword.control.type.ts"},"5":{"name":"variable.other.readwrite.alias.ts"},"6":{"name":"keyword.operator.assignment.ts"}},"end":"(?=;|$|^)","name":"meta.import-equals.internal.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.readwrite.ts"}]}]},"import-export-assert-clause":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(with)|(assert))\\s*(\\{)","beginCaptures":{"1":{"name":"keyword.control.with.ts"},"2":{"name":"keyword.control.assert.ts"},"3":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object-literal.key.ts"},{"match":":","name":"punctuation.separator.key-value.ts"}]},"import-export-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.block.ts","patterns":[{"include":"#import-export-clause"}]},"import-export-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.type.ts"},"2":{"name":"keyword.control.default.ts"},"3":{"name":"constant.language.import-export-all.ts"},"4":{"name":"variable.other.readwrite.ts"},"5":{"name":"string.quoted.alias.ts"},"12":{"name":"keyword.control.as.ts"},"13":{"name":"keyword.control.default.ts"},"14":{"name":"variable.other.readwrite.alias.ts"},"15":{"name":"string.quoted.alias.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(type)\\s+)?(?:\\b(default)|(\\*)|\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))\\s+(as)\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"},{"include":"#punctuation-comma"},{"match":"\\*","name":"constant.language.import-export-all.ts"},{"match":"\\b(default)\\b","name":"keyword.control.default.ts"},{"captures":{"1":{"name":"keyword.control.type.ts"},"2":{"name":"variable.other.readwrite.alias.ts"},"3":{"name":"string.quoted.alias.ts"}},"match":"(?:\\b(type)\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"match":"\\bfrom\\b","name":"keyword.control.from.ts"},{"include":"#import-export-assert-clause"},{"include":"#import-export-clause"}]},"indexer-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=:)","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"meta.brace.square.ts"},"3":{"name":"variable.parameter.ts"}},"end":"(])\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.ts"},"2":{"name":"keyword.operator.optional.ts"}},"name":"meta.indexer.declaration.ts","patterns":[{"include":"#type-annotation"}]},"indexer-mapped-type-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([-+])?(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s+(in)\\s+","beginCaptures":{"1":{"name":"keyword.operator.type.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"meta.brace.square.ts"},"4":{"name":"entity.name.type.ts"},"5":{"name":"keyword.operator.expression.in.ts"}},"end":"(])([-+])?\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.ts"},"2":{"name":"keyword.operator.type.modifier.ts"},"3":{"name":"keyword.operator.optional.ts"}},"name":"meta.indexer.mappedtype.declaration.ts","patterns":[{"captures":{"1":{"name":"keyword.control.as.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+"},{"include":"#type"}]},"inline-tags":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}},"match":"(\\[)[^]]+(])(?=\\{@(?:link|linkcode|linkplain|tutorial))","name":"constant.other.description.jsdoc"},{"begin":"(\\{)((@)(?:link(?:code|plain)?|tutorial))\\s*","beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"end":"}|(?=\\*/)","endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"name":"entity.name.type.instance.jsdoc","patterns":[{"captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?=https?://)(?:[^*|}\\s]|\\*/)+)(\\|)?"},{"captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?:[^*@{|}\\s]|\\*[^/])+)(\\|)?"}]}]},"instanceof-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.expression.instanceof.ts"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|([!=]==?)|(([\\&^|~]\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s+instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","patterns":[{"include":"#type"}]},"interface-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(interface)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.type.interface.ts"}},"end":"(?<=})","name":"meta.interface.ts","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.interface.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"jsdoctype":{"patterns":[{"begin":"\\G(\\{)","beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"contentName":"entity.name.type.instance.jsdoc","end":"((}))\\s*|(?=\\*/)","endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"patterns":[{"include":"#brackets"}]}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)(?=\\s*\\{)","beginCaptures":{"1":{"name":"entity.name.label.ts"},"2":{"name":"punctuation.separator.label.ts"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.ts"},"2":{"name":"punctuation.separator.label.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)"}]},"literal":{"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":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?\\s*\\b(constructor)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\s*\\b(new)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))|(?:(\\*)\\s*)?)(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"keyword.operator.new.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.property.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??)\\s*[(<])","end":"(?=[(<])","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.method.ts entity.name.function.ts"},{"match":"\\?","name":"keyword.operator.optional.ts"}]},"namespace-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(namespace|module)\\s+(?=[\"$'_`[:alpha:]])","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.namespace.ts"}},"end":"(?<=})|(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.namespace.declaration.ts","patterns":[{"include":"#comment"},{"include":"#string"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.type.module.ts"},{"include":"#punctuation-accessor"},{"include":"#decl-block"}]},"new-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.new.ts"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","name":"new.expr.ts","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.null.ts"},"numeric-literal":{"patterns":[{"captures":{"1":{"name":"storage.type.numeric.bigint.ts"}},"match":"\\b(?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$)","name":"constant.numeric.hex.ts"},{"captures":{"1":{"name":"storage.type.numeric.bigint.ts"}},"match":"\\b(?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$)","name":"constant.numeric.binary.ts"},{"captures":{"1":{"name":"storage.type.numeric.bigint.ts"}},"match":"\\b(?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"storage.type.numeric.bigint.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"storage.type.numeric.bigint.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"storage.type.numeric.bigint.ts"},"7":{"name":"storage.type.numeric.bigint.ts"},"8":{"name":"meta.delimiter.decimal.period.ts"},"9":{"name":"storage.type.numeric.bigint.ts"},"10":{"name":"meta.delimiter.decimal.period.ts"},"11":{"name":"storage.type.numeric.bigint.ts"},"12":{"name":"meta.delimiter.decimal.period.ts"},"13":{"name":"storage.type.numeric.bigint.ts"},"14":{"name":"storage.type.numeric.bigint.ts"}},"match":"(?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)"}]},"numericConstant-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))NaN(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.nan.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Infinity(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.infinity.ts"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[: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-const":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element-const"}]},{"include":"#object-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(:)","endCaptures":{"0":{"name":"punctuation.destructuring.ts"}},"patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.object.property.ts"}]},"object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"patterns":[{"include":"#object-binding-element"}]},"object-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"patterns":[{"include":"#object-binding-element-const"}]},"object-identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*\\??\\.\\s*prototype\\b(?!\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.object.property.ts"},"4":{"name":"variable.other.object.property.ts"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(#?\\p{upper}[$_\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.constant.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\p{upper}[$_\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"}]},"object-literal":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"object-literal-method-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\[)","end":"(?=:)|((?<=])(?=\\s*[(<]))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\"'`])","end":"(?=:)|((?<=[\"'`])(?=((\\s*[(,<}])|(\\s+(as|satisifies)\\s+))))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)))","end":"(?=:)|(?=\\s*([(,<}])|(\\s+as|satisifies\\s+))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#numeric-literal"}]},{"begin":"(?<=[]\"'`])(?=\\s*[(<])","end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.ts"},"1":{"name":"constant.numeric.decimal.ts"}},"match":"(?![$_[:alpha:]])(\\d+)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"},"1":{"name":"entity.name.function.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:(\\s*/\\*([^*]|(\\*[^/]))*\\*/)*\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.ts"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=[,}]|$|//|/\\*)","name":"meta.object.member.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*([,}]|$))","name":"meta.object.member.ts"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"keyword.control.satisfies.ts"}},"end":"(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+))","name":"meta.object.member.ts","patterns":[{"include":"#type"}]},{"begin":"(?=[$_[:alpha:]][$_[:alnum:]]*\\s*=)","end":"(?=[,}]|$|//|/\\*)","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"begin":":","beginCaptures":{"0":{"name":"meta.object-literal.key.ts punctuation.separator.key-value.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"begin":"(?<=:)\\s*(async)?(?=\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\s*(async)?\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\s*(async)?\\s*(?=<\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)"}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"},{"include":"#paren-expression"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"patterns":[{"include":"#parameter-object-binding-element"}]},"parameter-type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=[),])|(?==[^>])","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)))\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\)|^)\\s*(:)(?=\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts"}},"contentName":"meta.arrow.ts meta.return.type.arrow.ts","end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.type.property.ts"},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"}},"match":"(\\.)|(\\?\\.(?!\\s*\\d))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstring-double":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\")|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#string-character-escape"}]},"qstring-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(')|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?<!\\+\\+|--|})(?<=[!(+,:=?\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\|\\||\\*/)\\s*(/)(?![*/])(?=(?:[^()/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)+]|\\(([^)\\\\]|\\\\.)+\\))+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"begin":"((?<![]$)_[:alnum:]]|\\+\\+|--|}|\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\s*)/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\[DSWdfnrstvw]|\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\([0-7]{3}|x\\h{2}|u\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}},"match":"\\\\(?:[1-9]\\d*|k<([$A-Z_a-z][$\\w]*)>)"},{"match":"[*+?]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)}\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))","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"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\((?:(\\?:)|\\?<([$A-Z_a-z][$\\w]*)>)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\[)(\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"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"}},"match":"(?:.|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))-(?:[^]\\\\]|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\))\\s*(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\&:|])(?=$|^|[,;{}]|//)","name":"meta.return.type.ts","patterns":[{"include":"#return-type-core"}]},{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\&:|])((?=[,;{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.return.type.ts","patterns":[{"include":"#return-type-core"}]}]},"return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<=[\\&:|])(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.ts"}},"match":"\\A(#!).*(?=$)","name":"comment.line.shebang.ts"},"single-line-comment-consuming-line-ending":{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ts"},"2":{"name":"comment.line.double-slash.ts"},"3":{"name":"punctuation.definition.comment.ts"},"4":{"name":"storage.type.internaldeclaration.ts"},"5":{"name":"punctuation.decorator.internaldeclaration.ts"}},"contentName":"comment.line.double-slash.ts","end":"(?=^)"},"statements":{"patterns":[{"include":"#declaration"},{"include":"#control-statement"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#label"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\(x\\h{2}|u\\h{4}|u\\{\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"super-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))super\\b(?!\\$)","name":"variable.language.super.ts"},"support-function-call-identifiers":{"patterns":[{"include":"#literal"},{"include":"#support-objects"},{"include":"#object-identifiers"},{"include":"#punctuation-accessor"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\(\\s*[\"'`])","name":"keyword.operator.expression.import.ts"}]},"support-objects":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(arguments)\\b(?!\\$)","name":"variable.language.arguments.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(Promise)\\b(?!\\$)","name":"support.class.promise.ts"},{"captures":{"1":{"name":"keyword.control.import.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"},"4":{"name":"support.variable.property.importmeta.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(import)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(meta)\\b(?!\\$)"},{"captures":{"1":{"name":"keyword.operator.new.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"},"4":{"name":"support.variable.property.target.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(target)\\b(?!\\$)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"support.variable.property.ts"},"4":{"name":"support.constant.ts"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$))"},{"captures":{"1":{"name":"support.type.object.module.ts"},"2":{"name":"support.type.object.module.ts"},"3":{"name":"punctuation.accessor.ts"},"4":{"name":"punctuation.accessor.optional.ts"},"5":{"name":"support.type.object.module.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(exports)|(module)(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)"}]},"switch-statement":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bswitch\\s*\\()","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"switch-statement.expr.ts","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(switch)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.switch.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"switch-expression.expr.ts","patterns":[{"include":"#expression"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"(?=})","name":"switch-block.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.switch.ts"}},"end":"(?=:)","name":"case-clause.expr.ts","patterns":[{"include":"#expression"}]},{"begin":"(:)\\s*(\\{)","beginCaptures":{"1":{"name":"case-clause.expr.ts punctuation.definition.section.case-statement.ts"},"2":{"name":"meta.block.ts punctuation.definition.block.ts"}},"contentName":"meta.block.ts","end":"}","endCaptures":{"0":{"name":"meta.block.ts punctuation.definition.block.ts"}},"patterns":[{"include":"#statements"}]},{"captures":{"0":{"name":"case-clause.expr.ts punctuation.definition.section.case-statement.ts"}},"match":"(:)"},{"include":"#statements"}]}]},"template":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-call":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\?\\.\\s*\\D)(\\?)(?!\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))this\\b(?!\\$)","name":"variable.language.this.ts"},"type":{"patterns":[{"include":"#comment"},{"include":"#type-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-conditional"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*"},{"include":"#type-name"}]},"type-alias-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(type)\\b\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.type.ts"},"4":{"name":"entity.name.type.alias.ts"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.type.declaration.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"begin":"(=)\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"},"2":{"name":"keyword.control.intrinsic.ts"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]},{"begin":"(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]}]},"type-annotation":{"patterns":[{"begin":"(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\&:|])(?!\\s*[\\&|]\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\s*$)|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-builtin-literals":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.builtin.ts"},"type-conditional":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends)\\s+","beginCaptures":{"1":{"name":"storage.modifier.ts"}},"end":"(?<=:)","patterns":[{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.ts"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#type"}]},{"include":"#type"}]}]},"type-fn-type-parameters":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b(?=\\s*<)","beginCaptures":{"1":{"name":"meta.type.constructor.ts storage.modifier.ts"},"2":{"name":"meta.type.constructor.ts keyword.control.new.ts"}},"end":"(?<=>)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.control.new.ts"}},"end":"(?<=\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#function-parameters"}]},{"begin":"((?=\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>))))))","end":"(?<=\\))","name":"meta.type.function.ts","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\s*\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.ts"}},"end":"(?<!=>)(?<![\\&|])(?=[]),:;=>?{}]|//|$)","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"(?<!=>)(?<![\\&|])((?=[]),:;=>?{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.ts"},"2":{"name":"entity.name.type.ts"},"3":{"name":"keyword.operator.expression.extends.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(infer)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s+(extends)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))?","name":"meta.type.infer.ts"}]},"type-name":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(<)","captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"},"4":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.ts"},"2":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"type-object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\&|])(?=\\s*\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?=\\S)"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))keyof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.keyof.ts"},{"match":"([:?])","name":"keyword.operator.ternary.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\()","name":"keyword.operator.expression.import.ts"}]},"type-parameters":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.ts"},{"include":"#type"},{"include":"#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=\\s*(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=:)"},{"include":"#type-annotation"},{"match":",","name":"punctuation.separator.parameter.ts"},{"include":"#type"}]},"type-predicate-operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.asserts.ts"},"2":{"name":"variable.parameter.ts variable.language.this.ts"},"3":{"name":"variable.parameter.ts"},"4":{"name":"keyword.operator.expression.is.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(asserts)\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s(is)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"captures":{"1":{"name":"keyword.operator.type.asserts.ts"},"2":{"name":"variable.parameter.ts variable.language.this.ts"},"3":{"name":"variable.parameter.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(asserts)\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))asserts(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.type.asserts.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))is(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.is.ts"}]},"type-primitive":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.primitive.ts"},"type-string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template-type"}]},"type-tuple":{"begin":"\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"match":"\\.\\.\\.","name":"keyword.operator.rest.ts"},{"captures":{"1":{"name":"entity.name.label.ts"},"2":{"name":"keyword.operator.optional.ts"},"3":{"name":"punctuation.separator.label.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([$_[:alpha:]][$_[:alnum:]]*)\\s*(\\?)?\\s*(:)"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeof-operator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))typeof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.operator.expression.typeof.ts"}},"end":"(?=[]\\&),:;=>?{|}]|(extends\\s+)|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))undefined(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.undefined.ts"},"var-expr":{"patterns":[{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\s*$)))","name":"meta.var.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?=\\S)"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.ts"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\s*$)))","name":"meta.var.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?=\\S)"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.ts"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\s+|[^$._[:alnum:]]await\\s+)using)(?=\\s*$)))","name":"meta.var.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?=\\S)"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*((?!\\S)|(?=//))","beginCaptures":{"1":{"name":"punctuation.separator.comma.ts"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]}]},"var-single-const":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts entity.name.function.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.readwrite.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{"patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}]},"variable-initializer":{"patterns":[{"begin":"(?<![!=])(=)(?!=)(?=\\s*\\S)(?!\\s*.*=>\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","patterns":[{"include":"#expression"}]},{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![-\\&*+/|])(?<=\\S)(?<!=)(?=\\s*$)","patterns":[{"include":"#expression"}]}]}},"scopeName":"source.ts"},{"displayName":"JavaScript","name":"javascript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.js"},"after-operator-block-as-object-literal":{"begin":"(?<!\\+\\+|--)(?<=[!(+,:=>?\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\|\\||\\*)\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.objectliteral.js","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\s*(\\[)","beginCaptures":{"1":{"name":"meta.brace.square.js"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js"}},"name":"meta.array.literal.js","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"variable.parameter.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async)\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\s*(?==>)","name":"meta.arrow.js"},{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(async))?((?<![]!)}])\\s*(?=((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.arrow.js","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js"}},"end":"((?<=[}\\S])(?<!=>)|((?!\\{)(?=\\S)))(?!/[*/])","name":"meta.arrow.js","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","name":"meta.return.type.arrow.js","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.async.js"},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"binding-element-const":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern-const"},{"include":"#array-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.true.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.boolean.false.js"}]},"brackets":{"patterns":[{"begin":"\\{","end":"}|(?=\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\[","end":"]|(?=\\*/)","patterns":[{"include":"#brackets"}]}]},"cast":{"patterns":[{"include":"#jsx"}]},"class-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.type.class.js"}},"end":"(?<=})","name":"meta.class.js","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{"patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.class.js"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"class-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|/[*/])","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"storage.type.class.js"}},"end":"(?<=})","name":"meta.class.js","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"patterns":[{"include":"#comment"},{"include":"#decorator"},{"begin":"(?<=:)\\s*","end":"(?=[-\\])+,:;}\\s]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#string"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#async-modifier"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-or-interface-heritage":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(extends|implements)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.js"}},"end":"(?=\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"include":"#expressionWithoutIdentifiers"},{"captures":{"1":{"name":"entity.name.type.module.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))(?=\\s*[$_[:alpha:]][$_[:alnum:]]*(\\s*\\??\\.\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\s*)"},{"captures":{"1":{"name":"entity.other.inherited-class.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#expressionPunctuations"}]},"comment":{"patterns":[{"begin":"/\\*\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"name":"comment.block.documentation.js","patterns":[{"include":"#docblock"}]},{"begin":"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.js"},"2":{"name":"storage.type.internaldeclaration.js"},"3":{"name":"punctuation.decorator.internaldeclaration.js"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"name":"comment.block.js"},{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"},"2":{"name":"comment.line.double-slash.js"},"3":{"name":"punctuation.definition.comment.js"},"4":{"name":"storage.type.internaldeclaration.js"},"5":{"name":"punctuation.decorator.internaldeclaration.js"}},"contentName":"comment.line.double-slash.js","end":"(?=$)"}]},"control-statement":{"patterns":[{"include":"#switch-statement"},{"include":"#for-loop"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.trycatch.js"},{"captures":{"1":{"name":"keyword.control.loop.js"},"2":{"name":"entity.name.label.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.loop.js"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.js"}},"end":"(?=[;}]|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#expression"}]},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.switch.js"},{"include":"#if-statement"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.conditional.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.with.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.other.debugger.js"}]},"decl-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.block.js","patterns":[{"include":"#statements"}]},"declaration":{"patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#interface-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#type-alias-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.js"}]},"decorator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))@","beginCaptures":{"0":{"name":"punctuation.decorator.js"}},"end":"(?=\\s)","name":"meta.decorator.js","patterns":[{"include":"#expression"}]},"destructuring-const":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.js","patterns":[{"include":"#object-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.js","patterns":[{"include":"#array-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-parameter":{"patterns":[{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.object.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js"}},"name":"meta.parameter.object-binding-pattern.js","patterns":[{"include":"#parameter-object-binding-element"}]},{"begin":"(?<![:=])\\s*(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"name":"meta.paramter.array-binding-pattern.js","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]}]},"destructuring-parameter-rest":{"captures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"variable.parameter.js"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.object-binding-pattern-variable.js","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\s*(?=\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","name":"meta.array-binding-pattern-variable.js","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"captures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"meta.definition.variable.js variable.other.readwrite.js"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable-rest-const":{"captures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"meta.definition.variable.js variable.other.constant.js"}},"match":"(?:(\\.\\.\\.)\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"directives":{"begin":"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))+\\s*/>\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.js"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.js","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.js"},"2":{"name":"entity.name.tag.directive.js"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.js"}},"name":"meta.tag.js","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.js"},{"match":"=","name":"keyword.operator.assignment.js"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\s+(p(?:rivate|rotected|ublic))\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\s+([^*/<>@\\s](?:[^*/<>@]|\\*[^/])*)(?:\\s*(<)([^>\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\s+((?:[^*/@\\s]|\\*[^/])+)\\s+(as)\\s+((?:[^*/@\\s]|\\*[^/])+)"},{"begin":"((@)example)\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\s\\*\\s+"},{"begin":"\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"(</)caption(>)|(?=\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.js"}},"match":"[^*@\\s](?:[^*]|\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\s+(?:((?=https?://)(?:[^*\\s]|\\*[^/])+)|((?!https?://|(?:\\[[^]\\[]*])?\\{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^*/@\\s]|\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\s+([$A-Z_a-z][]$.\\[\\w]*(?:\\s*,\\s*[$A-Z_a-z][]$.\\[\\w]*)*)"},{"begin":"((@)template)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\s+([$A-Z_a-z][]$.\\[\\w]*)"},{"begin":"((@)typedef)\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\s]|\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\[\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.js"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\[)\\s*[$\\w]+(?:(?:\\[])?\\.[$\\w]+)*(?:\\s*(=)\\s*((?>\"(?:\\*(?!/)|\\\\(?!\")|[^*\\\\])*?\"|'(?:\\*(?!/)|\\\\(?!')|[^*\\\\])*?'|\\[(?:\\*(?!/)|[^*])*?]|(?:\\*(?!/)|\\s(?!\\s*])|\\[.*?(?:]|(?=\\*/))|[^]*\\[\\s])*)*))?\\s*(?:(])((?:[^*\\s]|\\*[^/\\s])+)?|(?=\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\s+(?=\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\s|\\*/|[^]$A-\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\s+((?:[^*@{}\\s]|\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\s+(([\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\3)|(?=$|\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^*\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\s+)"}]},"enum-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.type.enum.js"},"5":{"name":"entity.name.type.enum.js"}},"end":"(?<=})","name":"meta.enum.declaration.js","patterns":[{"include":"#comment"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"patterns":[{"include":"#comment"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"variable.other.enummember.js"}},"end":"(?=[,}]|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+])))","end":"(?=[,}]|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"export-declaration":{"patterns":[{"captures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"keyword.control.as.js"},"3":{"name":"storage.type.namespace.js"},"4":{"name":"entity.name.type.module.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([$_[:alpha:]][$_[:alnum:]]*)"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:\\s*(=)|\\s+(default)(?=\\s+))","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"keyword.control.type.js"},"3":{"name":"keyword.operator.assignment.js"},"4":{"name":"keyword.control.default.js"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.default.js","patterns":[{"include":"#interface-declaration"},{"include":"#expression"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[*{])|((?=\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\s]))(?!\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)))","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"keyword.control.type.js"}},"end":"(?=$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.export.js","patterns":[{"include":"#import-export-declaration"}]}]},"expression":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"captures":{"1":{"name":"storage.modifier.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"entity.name.function.js variable.language.this.js"},"4":{"name":"entity.name.function.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"variable.parameter.js variable.language.this.js"},"4":{"name":"variable.parameter.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[,:]|$)"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.js"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-operators":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.control.flow.js"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*\\*)","beginCaptures":{"1":{"name":"keyword.control.flow.js"}},"end":"\\*","endCaptures":{"0":{"name":"keyword.generator.asterisk.js"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.control.flow.js"},"2":{"name":"keyword.generator.asterisk.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.delete.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.in.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","name":"keyword.operator.expression.of.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.instanceof.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.new.js"},{"include":"#typeof-operator"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.void.js"},{"captures":{"1":{"name":"keyword.control.as.js"},"2":{"name":"storage.modifier.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[]),:;}]))"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.js"},"2":{"name":"keyword.control.satisfies.js"}},"end":"(?=^|[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+<))","patterns":[{"include":"#type"}]},{"match":"\\.\\.\\.","name":"keyword.operator.spread.js"},{"match":"(?:\\*|(?<!\\()/|[-%+])=","name":"keyword.operator.assignment.compound.js"},{"match":"(?:[\\&^]|<<|>>>??|\\|)=","name":"keyword.operator.assignment.compound.bitwise.js"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.js"},{"match":"[!=]==?","name":"keyword.operator.comparison.js"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.js"},{"captures":{"1":{"name":"keyword.operator.logical.js"},"2":{"name":"keyword.operator.assignment.compound.js"},"3":{"name":"keyword.operator.arithmetic.js"}},"match":"(?<=[$_[:alnum:]])(!)\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\|\\||\\?\\?","name":"keyword.operator.logical.js"},{"match":"[\\&^|~]","name":"keyword.operator.bitwise.js"},{"match":"=","name":"keyword.operator.assignment.js"},{"match":"--","name":"keyword.operator.decrement.js"},{"match":"\\+\\+","name":"keyword.operator.increment.js"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.js"},{"begin":"(?<=[]$)_[:alnum:]])\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\*([^*]|(\\*[^/]))*\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.js"},"2":{"name":"keyword.operator.arithmetic.js"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.js"},"2":{"name":"keyword.operator.arithmetic.js"}},"match":"(?<=[]$)_[:alnum:]])\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?<!\\()(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=}]|$))","beginCaptures":{"1":{"name":"storage.modifier.js"}},"end":"(?=[,;}]|$|^((?!\\s*(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(?:(?:(\\?)|(!))\\s*)?([,:;=]|$))))|(?<=})","name":"meta.field.declaration.js","patterns":[{"include":"#variable-initializer"},{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"include":"#comment"},{"captures":{"1":{"name":"meta.definition.property.js entity.name.function.js"},"2":{"name":"keyword.operator.optional.js"},"3":{"name":"keyword.operator.definiteassignment.js"}},"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\?)|(!))?(?=\\s*\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.js variable.object.property.js"},{"match":"\\?","name":"keyword.operator.optional.js"},{"match":"!","name":"keyword.operator.definiteassignment.js"}]},"for-loop":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*/\\*([^*]|(\\*[^/]))*\\*/\\s*))await)?\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)?(\\())","beginCaptures":{"0":{"name":"keyword.control.loop.js"}},"end":"(?<=\\))","patterns":[{"include":"#comment"},{"match":"await","name":"keyword.control.loop.js"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#type-function-return-type"},{"include":"#decl-block"},{"match":"\\*","name":"keyword.generator.asterisk.js"}]},"function-call":{"patterns":[{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","end":"(?<=\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?\\())","name":"meta.function-call.js","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\)))(<\\s*[(\\[{]\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\s*\\??\\.\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*[(\\[{]\\s*)$)","name":"meta.function-call.js","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\?\\.","name":"meta.function-call.js punctuation.accessor.optional.js"},{"match":"!","name":"meta.function-call.js keyword.operator.definiteassignment.js"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.js"}]},"function-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.async.js"},"4":{"name":"storage.type.function.js"},"5":{"name":"keyword.generator.asterisk.js"},"6":{"name":"meta.definition.function.js entity.name.function.js"}},"end":"(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|(?<=})","name":"meta.function.js","patterns":[{"include":"#function-name"},{"include":"#function-body"}]},"function-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(async)\\s+)?(function)\\b(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\s*","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"storage.type.function.js"},"3":{"name":"keyword.generator.asterisk.js"},"4":{"name":"meta.definition.function.js entity.name.function.js"}},"end":"(?=;)|(?<=})","name":"meta.function.expression.js","patterns":[{"include":"#function-name"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#function-body"}]},"function-name":{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.function.js entity.name.function.js"},"function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.js"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.js"}},"name":"meta.parameters.js","patterns":[{"include":"#function-parameters-body"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#parameter-type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.js"}]},"identifiers":{"patterns":[{"include":"#object-identifiers"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"entity.name.function.js"}},"match":"(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"variable.other.constant.property.js"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"variable.other.property.js"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.js"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.js"}]},"if-statement":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bif\\s*(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))\\s*(?!\\{))","end":"(?=;|$|})","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(if)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.js"},"2":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=\\))\\s*/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"keyword.other.js"}},"name":"string.regexp.js","patterns":[{"include":"#regexp"}]},{"include":"#statements"}]}]},"import-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type)(?!\\s+from))?(?!\\s*[(:])(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"keyword.control.import.js"},"4":{"name":"keyword.control.type.js"}},"end":"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)","name":"meta.import.js","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#string"},{"begin":"(?<=(?:^|[^$._[:alnum:]])import)(?!\\s*[\"'])","end":"\\bfrom\\b","endCaptures":{"0":{"name":"keyword.control.from.js"}},"patterns":[{"include":"#import-export-declaration"}]},{"include":"#import-export-declaration"}]},"import-equals-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(require)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"keyword.control.import.js"},"4":{"name":"keyword.control.type.js"},"5":{"name":"variable.other.readwrite.alias.js"},"6":{"name":"keyword.operator.assignment.js"},"7":{"name":"keyword.control.require.js"},"8":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"name":"meta.import-equals.external.js","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*(=)\\s*(?!require\\b)","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"keyword.control.import.js"},"4":{"name":"keyword.control.type.js"},"5":{"name":"variable.other.readwrite.alias.js"},"6":{"name":"keyword.operator.assignment.js"}},"end":"(?=;|$|^)","name":"meta.import-equals.internal.js","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"captures":{"1":{"name":"entity.name.type.module.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.readwrite.js"}]}]},"import-export-assert-clause":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(with)|(assert))\\s*(\\{)","beginCaptures":{"1":{"name":"keyword.control.with.js"},"2":{"name":"keyword.control.assert.js"},"3":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object-literal.key.js"},{"match":":","name":"punctuation.separator.key-value.js"}]},"import-export-block":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.block.js","patterns":[{"include":"#import-export-clause"}]},"import-export-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.type.js"},"2":{"name":"keyword.control.default.js"},"3":{"name":"constant.language.import-export-all.js"},"4":{"name":"variable.other.readwrite.js"},"5":{"name":"string.quoted.alias.js"},"12":{"name":"keyword.control.as.js"},"13":{"name":"keyword.control.default.js"},"14":{"name":"variable.other.readwrite.alias.js"},"15":{"name":"string.quoted.alias.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(type)\\s+)?(?:\\b(default)|(\\*)|\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))\\s+(as)\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"},{"include":"#punctuation-comma"},{"match":"\\*","name":"constant.language.import-export-all.js"},{"match":"\\b(default)\\b","name":"keyword.control.default.js"},{"captures":{"1":{"name":"keyword.control.type.js"},"2":{"name":"variable.other.readwrite.alias.js"},"3":{"name":"string.quoted.alias.js"}},"match":"(?:\\b(type)\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)))"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"match":"\\bfrom\\b","name":"keyword.control.from.js"},{"include":"#import-export-assert-clause"},{"include":"#import-export-clause"}]},"indexer-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=:)","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"meta.brace.square.js"},"3":{"name":"variable.parameter.js"}},"end":"(])\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.js"},"2":{"name":"keyword.operator.optional.js"}},"name":"meta.indexer.declaration.js","patterns":[{"include":"#type-annotation"}]},"indexer-mapped-type-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([-+])?(readonly)\\s*)?\\s*(\\[)\\s*([$_[:alpha:]][$_[:alnum:]]*)\\s+(in)\\s+","beginCaptures":{"1":{"name":"keyword.operator.type.modifier.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"meta.brace.square.js"},"4":{"name":"entity.name.type.js"},"5":{"name":"keyword.operator.expression.in.js"}},"end":"(])([-+])?\\s*(\\?\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.js"},"2":{"name":"keyword.operator.type.modifier.js"},"3":{"name":"keyword.operator.optional.js"}},"name":"meta.indexer.mappedtype.declaration.js","patterns":[{"captures":{"1":{"name":"keyword.control.as.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+"},{"include":"#type"}]},"inline-tags":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}},"match":"(\\[)[^]]+(])(?=\\{@(?:link|linkcode|linkplain|tutorial))","name":"constant.other.description.jsdoc"},{"begin":"(\\{)((@)(?:link(?:code|plain)?|tutorial))\\s*","beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"end":"}|(?=\\*/)","endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"name":"entity.name.type.instance.jsdoc","patterns":[{"captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?=https?://)(?:[^*|}\\s]|\\*/)+)(\\|)?"},{"captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\G((?:[^*@{|}\\s]|\\*[^/])+)(\\|)?"}]}]},"instanceof-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.expression.instanceof.js"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|([!=]==?)|(([\\&^|~]\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s+instanceof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","patterns":[{"include":"#type"}]},"interface-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(?:(abstract)\\s+)?\\b(interface)\\b(?=\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.type.interface.js"}},"end":"(?<=})","name":"meta.interface.js","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.interface.js"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"jsdoctype":{"patterns":[{"begin":"\\G(\\{)","beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"contentName":"entity.name.type.instance.jsdoc","end":"((}))\\s*|(?=\\*/)","endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"patterns":[{"include":"#brackets"}]}]},"jsx":{"patterns":[{"include":"#jsx-tag-without-attributes-in-expression"},{"include":"#jsx-tag-in-expression"}]},"jsx-children":{"patterns":[{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-tag"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}]},"jsx-entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.js"},"3":{"name":"punctuation.definition.entity.js"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.js"}]},"jsx-evaluated-code":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.js"}},"contentName":"meta.embedded.expression.js","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.js"}},"patterns":[{"include":"#expression"}]},"jsx-string-double-quoted":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.js"}},"name":"string.quoted.double.js","patterns":[{"include":"#jsx-entities"}]},"jsx-string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.js"}},"name":"string.quoted.single.js","patterns":[{"include":"#jsx-entities"}]},"jsx-tag":{"begin":"(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","end":"(/>)|(</)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.js"},"2":{"name":"punctuation.definition.tag.begin.js"},"3":{"name":"entity.name.tag.namespace.js"},"4":{"name":"punctuation.separator.namespace.js"},"5":{"name":"entity.name.tag.js"},"6":{"name":"support.class.component.js"},"7":{"name":"punctuation.definition.tag.end.js"}},"name":"meta.tag.js","patterns":[{"begin":"(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js"},"2":{"name":"entity.name.tag.namespace.js"},"3":{"name":"punctuation.separator.namespace.js"},"4":{"name":"entity.name.tag.js"},"5":{"name":"support.class.component.js"}},"end":"(?=/?>)","patterns":[{"include":"#comment"},{"include":"#type-arguments"},{"include":"#jsx-tag-attributes"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}},"contentName":"meta.jsx.children.js","end":"(?=</)","patterns":[{"include":"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{"match":"=(?=\\s*(?:[\"'{]|/\\*|//|\\n))","name":"keyword.operator.assignment.js"},"jsx-tag-attribute-name":{"captures":{"1":{"name":"entity.other.attribute-name.namespace.js"},"2":{"name":"punctuation.separator.namespace.js"},"3":{"name":"entity.other.attribute-name.js"}},"match":"\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\s]|/?>|/\\*|//)"},"jsx-tag-attributes":{"begin":"\\s+","end":"(?=/?>)","name":"meta.tag.attributes.js","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{"match":"\\S+","name":"invalid.illegal.attribute.js"},"jsx-tag-in-expression":{"begin":"(?<!\\+\\+|--)(?<=[(*,:=>?\\[{]|&&|\\|\\||\\?|\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\s*(?!<\\s*[$_[:alpha:]][$_[:alnum:]]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","end":"(?!(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\s*)|(\\s+))(?!\\?)|/?>))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js"},"2":{"name":"entity.name.tag.namespace.js"},"3":{"name":"punctuation.separator.namespace.js"},"4":{"name":"entity.name.tag.js"},"5":{"name":"support.class.component.js"},"6":{"name":"punctuation.definition.tag.end.js"}},"contentName":"meta.jsx.children.js","end":"(</)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.js"},"2":{"name":"entity.name.tag.namespace.js"},"3":{"name":"punctuation.separator.namespace.js"},"4":{"name":"entity.name.tag.js"},"5":{"name":"support.class.component.js"},"6":{"name":"punctuation.definition.tag.end.js"}},"name":"meta.tag.without-attributes.js","patterns":[{"include":"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{"begin":"(?<!\\+\\+|--)(?<=[(*,:=>?\\[{]|&&|\\|\\||\\?|\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\s*(?=(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>))","end":"(?!(<)\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\s*(>))","patterns":[{"include":"#jsx-tag-without-attributes"}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)(?=\\s*\\{)","beginCaptures":{"1":{"name":"entity.name.label.js"},"2":{"name":"punctuation.separator.label.js"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.js"},"2":{"name":"punctuation.separator.label.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(:)"}]},"literal":{"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":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?\\s*\\b(constructor)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.modifier.async.js"},"5":{"name":"storage.type.js"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\s*\\b(new)\\b(?!:)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))|(?:(\\*)\\s*)?)(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.modifier.async.js"},"5":{"name":"keyword.operator.new.js"},"6":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(p(?:ublic|rivate|rotected))\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.modifier.async.js"},"5":{"name":"storage.type.property.js"},"6":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??)\\s*[(<])","end":"(?=[(<])","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.method.js entity.name.function.js"},{"match":"\\?","name":"keyword.operator.optional.js"}]},"namespace-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(namespace|module)\\s+(?=[\"$'_`[:alpha:]])","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.namespace.js"}},"end":"(?<=})|(?=;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.namespace.declaration.js","patterns":[{"include":"#comment"},{"include":"#string"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.type.module.js"},{"include":"#punctuation-accessor"},{"include":"#decl-block"}]},"new-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.new.js"}},"end":"(?<=\\))|(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\s*\\())))","name":"new.expr.js","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.null.js"},"numeric-literal":{"patterns":[{"captures":{"1":{"name":"storage.type.numeric.bigint.js"}},"match":"\\b(?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$)","name":"constant.numeric.hex.js"},{"captures":{"1":{"name":"storage.type.numeric.bigint.js"}},"match":"\\b(?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$)","name":"constant.numeric.binary.js"},{"captures":{"1":{"name":"storage.type.numeric.bigint.js"}},"match":"\\b(?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$)","name":"constant.numeric.octal.js"},{"captures":{"0":{"name":"constant.numeric.decimal.js"},"1":{"name":"meta.delimiter.decimal.period.js"},"2":{"name":"storage.type.numeric.bigint.js"},"3":{"name":"meta.delimiter.decimal.period.js"},"4":{"name":"storage.type.numeric.bigint.js"},"5":{"name":"meta.delimiter.decimal.period.js"},"6":{"name":"storage.type.numeric.bigint.js"},"7":{"name":"storage.type.numeric.bigint.js"},"8":{"name":"meta.delimiter.decimal.period.js"},"9":{"name":"storage.type.numeric.bigint.js"},"10":{"name":"meta.delimiter.decimal.period.js"},"11":{"name":"storage.type.numeric.bigint.js"},"12":{"name":"meta.delimiter.decimal.period.js"},"13":{"name":"storage.type.numeric.bigint.js"},"14":{"name":"storage.type.numeric.bigint.js"}},"match":"(?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)"}]},"numericConstant-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))NaN(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.nan.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Infinity(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.infinity.js"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[: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-const":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element-const"}]},{"include":"#object-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(:)","endCaptures":{"0":{"name":"punctuation.destructuring.js"}},"patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.object.property.js"}]},"object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.object.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js"}},"patterns":[{"include":"#object-binding-element"}]},"object-binding-pattern-const":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.object.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js"}},"patterns":[{"include":"#object-binding-element-const"}]},"object-identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*\\??\\.\\s*prototype\\b(?!\\$))","name":"support.class.js"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"variable.other.constant.object.property.js"},"4":{"name":"variable.other.object.property.js"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(#?\\p{upper}[$_\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.constant.object.js"},"2":{"name":"variable.other.object.js"}},"match":"(?:(\\p{upper}[$_\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\s*\\??\\.\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"}]},"object-literal":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.objectliteral.js","patterns":[{"include":"#object-member"}]},"object-literal-method-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"storage.type.property.js"},"3":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b([gs]et)\\s+)?(?:(\\*)\\s*)?(?=\\s*((\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"storage.type.property.js"},"3":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\[)","end":"(?=:)|((?<=])(?=\\s*[(<]))","name":"meta.object.member.js meta.object-literal.key.js","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\"'`])","end":"(?=:)|((?<=[\"'`])(?=((\\s*[(,<}])|(\\s+(as|satisifies)\\s+))))","name":"meta.object.member.js meta.object-literal.key.js","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$)))","end":"(?=:)|(?=\\s*([(,<}])|(\\s+as|satisifies\\s+))","name":"meta.object.member.js meta.object-literal.key.js","patterns":[{"include":"#comment"},{"include":"#numeric-literal"}]},{"begin":"(?<=[]\"'`])(?=\\s*[(<])","end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.js"},"1":{"name":"constant.numeric.decimal.js"}},"match":"(?![$_[:alpha:]])(\\d+)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.js"},{"captures":{"0":{"name":"meta.object-literal.key.js"},"1":{"name":"entity.name.function.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:(\\s*/\\*([^*]|(\\*[^/]))*\\*/)*\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))","name":"meta.object.member.js"},{"captures":{"0":{"name":"meta.object-literal.key.js"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\s*(?=(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*:)","name":"meta.object.member.js"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js"}},"end":"(?=[,}])","name":"meta.object.member.js","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?=[,}]|$|//|/\\*)","name":"meta.object.member.js"},{"captures":{"1":{"name":"keyword.control.as.js"},"2":{"name":"storage.modifier.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*([,}]|$))","name":"meta.object.member.js"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+","beginCaptures":{"1":{"name":"keyword.control.as.js"},"2":{"name":"keyword.control.satisfies.js"}},"end":"(?=[-\\])+,:;>?}]|\\|\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+))","name":"meta.object.member.js","patterns":[{"include":"#type"}]},{"begin":"(?=[$_[:alpha:]][$_[:alnum:]]*\\s*=)","end":"(?=[,}]|$|//|/\\*)","name":"meta.object.member.js","patterns":[{"include":"#expression"}]},{"begin":":","beginCaptures":{"0":{"name":"meta.object-literal.key.js punctuation.separator.key-value.js"}},"end":"(?=[,}])","name":"meta.object.member.js","patterns":[{"begin":"(?<=:)\\s*(async)?(?=\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\s*(async)?\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\s*(async)?\\s*(?=<\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\s*(\\()(?=\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"entity.name.function.js variable.language.this.js"},"4":{"name":"entity.name.function.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"variable.parameter.js variable.language.this.js"},"4":{"name":"variable.parameter.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)"}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\b((?<!\\$)0[Xx]\\h[_\\h]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Bb][01][01_]*(n)?\\b(?!\\$))|\\b((?<!\\$)0[Oo]?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\B(\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(\\.)(n)?\\B|\\B(\\.)[0-9][0-9_]*(n)?\\b|\\b[0-9][0-9_]*(n)?\\b(?!\\.))(?!\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`)|(\\[([^]\\[]|\\[[^]\\[]*])+]))\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"},{"include":"#paren-expression"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\.\\.\\.)\\s*)?(\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.object.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js"}},"patterns":[{"include":"#parameter-object-binding-element"}]},"parameter-type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?=[),])|(?==[^>])","name":"meta.type.annotation.js","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)))\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\)|^)\\s*(:)(?=\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js"}},"contentName":"meta.arrow.js meta.return.type.arrow.js","end":"(?==>|\\{|^(\\s*(export|function|class|interface|let|var|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.type.property.js"},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"}},"match":"(\\.)|(\\?\\.(?!\\s*\\d))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.js"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.js"},"qstring-double":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"end":"(\")|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"invalid.illegal.newline.js"}},"name":"string.quoted.double.js","patterns":[{"include":"#string-character-escape"}]},"qstring-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"end":"(')|([^\\n\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"invalid.illegal.newline.js"}},"name":"string.quoted.single.js","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?<!\\+\\+|--|})(?<=[!(+,:=?\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\|\\||\\*/)\\s*(/)(?![*/])(?=(?:[^()/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)+]|\\(([^)\\\\]|\\\\.)+\\))+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.js"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"keyword.other.js"}},"name":"string.regexp.js","patterns":[{"include":"#regexp"}]},{"begin":"((?<![]$)_[:alnum:]]|\\+\\+|--|}|\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\s*)/(?![*/])(?=(?:[^/\\[\\\\]|\\\\.|\\[([^]\\\\]|\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\*))(?!\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"keyword.other.js"}},"name":"string.regexp.js","patterns":[{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\[DSWdfnrstvw]|\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\([0-7]{3}|x\\h{2}|u\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}},"match":"\\\\(?:[1-9]\\d*|k<([$A-Z_a-z][$\\w]*)>)"},{"match":"[*+?]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)}\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))","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"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\((?:(\\?:)|\\?<([$A-Z_a-z][$\\w]*)>)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\[)(\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"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"}},"match":"(?:.|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))-(?:[^]\\\\]|(\\\\(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\c[A-Z])|(\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\))\\s*(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?<![\\&:|])(?=$|^|[,;{}]|//)","name":"meta.return.type.js","patterns":[{"include":"#return-type-core"}]},{"begin":"(?<=\\))\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?<![\\&:|])((?=[,;{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.return.type.js","patterns":[{"include":"#return-type-core"}]}]},"return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<=[\\&:|])(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.js"}},"match":"\\A(#!).*(?=$)","name":"comment.line.shebang.js"},"single-line-comment-consuming-line-ending":{"begin":"(^[\\t ]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"},"2":{"name":"comment.line.double-slash.js"},"3":{"name":"punctuation.definition.comment.js"},"4":{"name":"storage.type.internaldeclaration.js"},"5":{"name":"punctuation.decorator.internaldeclaration.js"}},"contentName":"comment.line.double-slash.js","end":"(?=^)"},"statements":{"patterns":[{"include":"#declaration"},{"include":"#control-statement"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#label"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\(x\\h{2}|u\\h{4}|u\\{\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.js"},"super-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))super\\b(?!\\$)","name":"variable.language.super.js"},"support-function-call-identifiers":{"patterns":[{"include":"#literal"},{"include":"#support-objects"},{"include":"#object-identifiers"},{"include":"#punctuation-accessor"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\(\\s*[\"'`])","name":"keyword.operator.expression.import.js"}]},"support-objects":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(arguments)\\b(?!\\$)","name":"variable.language.arguments.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(Promise)\\b(?!\\$)","name":"support.class.promise.js"},{"captures":{"1":{"name":"keyword.control.import.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"},"4":{"name":"support.variable.property.importmeta.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(import)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(meta)\\b(?!\\$)"},{"captures":{"1":{"name":"keyword.operator.new.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"},"4":{"name":"support.variable.property.target.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(target)\\b(?!\\$)"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"support.variable.property.js"},"4":{"name":"support.constant.js"}},"match":"(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$))"},{"captures":{"1":{"name":"support.type.object.module.js"},"2":{"name":"support.type.object.module.js"},"3":{"name":"punctuation.accessor.js"},"4":{"name":"punctuation.accessor.optional.js"},"5":{"name":"support.type.object.module.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(exports)|(module)(?:(?:(\\.)|(\\?\\.(?!\\s*\\d)))(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)"}]},"switch-statement":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bswitch\\s*\\()","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"switch-statement.expr.js","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(switch)\\s*(\\()","beginCaptures":{"1":{"name":"keyword.control.switch.js"},"2":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"name":"switch-expression.expr.js","patterns":[{"include":"#expression"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"(?=})","name":"switch-block.expr.js","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.control.switch.js"}},"end":"(?=:)","name":"case-clause.expr.js","patterns":[{"include":"#expression"}]},{"begin":"(:)\\s*(\\{)","beginCaptures":{"1":{"name":"case-clause.expr.js punctuation.definition.section.case-statement.js"},"2":{"name":"meta.block.js punctuation.definition.block.js"}},"contentName":"meta.block.js","end":"}","endCaptures":{"0":{"name":"meta.block.js punctuation.definition.block.js"}},"patterns":[{"include":"#statements"}]},{"captures":{"0":{"name":"case-clause.expr.js punctuation.definition.section.case-statement.js"}},"match":"(:)"},{"include":"#statements"}]}]},"template":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"string.template.js punctuation.definition.string.template.begin.js"}},"contentName":"string.template.js","end":"`","endCaptures":{"0":{"name":"string.template.js punctuation.definition.string.template.end.js"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-call":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.js"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))(?=\\s*([,.<>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^(<>]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js"}},"contentName":"meta.embedded.line.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js"}},"name":"meta.template.expression.js","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"string.template.js punctuation.definition.string.template.begin.js"}},"contentName":"string.template.js","end":"`","endCaptures":{"0":{"name":"string.template.js punctuation.definition.string.template.end.js"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\$\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js"}},"contentName":"meta.embedded.line.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js"}},"name":"meta.template.expression.js","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\?\\.\\s*\\D)(\\?)(?!\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.js"}},"end":"\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.js"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))this\\b(?!\\$)","name":"variable.language.this.js"},"type":{"patterns":[{"include":"#comment"},{"include":"#type-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-conditional"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"captures":{"1":{"name":"storage.modifier.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*"},{"include":"#type-name"}]},"type-alias-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(type)\\b\\s+([$_[:alpha:]][$_[:alnum:]]*)\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.type.js"},"4":{"name":"entity.name.type.alias.js"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","name":"meta.type.declaration.js","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"begin":"(=)\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"},"2":{"name":"keyword.control.intrinsic.js"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]},{"begin":"(=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=[;}]|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type"}]}]},"type-annotation":{"patterns":[{"begin":"(:)(?=\\s*\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?<![\\&:|])(?!\\s*[\\&|]\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.js","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?<![\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\s*$)|((?<=[]$)>_}[:alpha:]])\\s*(?=\\{)))","name":"meta.type.annotation.js","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.js"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-builtin-literals":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.builtin.js"},"type-conditional":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends)\\s+","beginCaptures":{"1":{"name":"storage.modifier.js"}},"end":"(?<=:)","patterns":[{"begin":"\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.js"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.js"}},"patterns":[{"include":"#type"}]},{"include":"#type"}]}]},"type-fn-type-parameters":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b(?=\\s*<)","beginCaptures":{"1":{"name":"meta.type.constructor.js storage.modifier.js"},"2":{"name":"meta.type.constructor.js keyword.control.new.js"}},"end":"(?<=>)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b\\s*(?=\\()","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.control.new.js"}},"end":"(?<=\\))","name":"meta.type.constructor.js","patterns":[{"include":"#function-parameters"}]},{"begin":"((?=\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>))))))","end":"(?<=\\))","name":"meta.type.function.js","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\s*\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.js"}},"end":"(?<!=>)(?<![\\&|])(?=[]),:;=>?{}]|//|$)","name":"meta.type.function.return.js","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js"}},"end":"(?<!=>)(?<![\\&|])((?=[]),:;=>?{}]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))","name":"meta.type.function.return.js","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\s*\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.js"},"2":{"name":"entity.name.type.js"},"3":{"name":"keyword.operator.expression.extends.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(infer)\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s+(extends)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))?","name":"meta.type.infer.js"}]},"type-name":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))\\s*(<)","captures":{"1":{"name":"entity.name.type.module.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"},"4":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},"contentName":"meta.type.parameters.js","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.js"},"2":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},"contentName":"meta.type.parameters.js","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.js"}]},"type-object":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.object.type.js","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\.\\.\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\&|])(?=\\s*\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.js"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.js"}},"end":"(?=\\S)"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))keyof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.keyof.js"},{"match":"([:?])","name":"keyword.operator.ternary.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\()","name":"keyword.operator.expression.import.js"}]},"type-parameters":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.js"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"storage.modifier.js"},{"include":"#type"},{"include":"#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.js"}]},"type-paren-or-function-parameters":{"begin":"\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"name":"meta.type.paren.cover.js","patterns":[{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"entity.name.function.js variable.language.this.js"},"4":{"name":"entity.name.function.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=\\s*(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"variable.parameter.js variable.language.this.js"},"4":{"name":"variable.parameter.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s*(\\??)(?=:)"},{"include":"#type-annotation"},{"match":",","name":"punctuation.separator.parameter.js"},{"include":"#type"}]},"type-predicate-operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.asserts.js"},"2":{"name":"variable.parameter.js variable.language.this.js"},"3":{"name":"variable.parameter.js"},"4":{"name":"keyword.operator.expression.is.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(asserts)\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\s(is)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"captures":{"1":{"name":"keyword.operator.type.asserts.js"},"2":{"name":"variable.parameter.js variable.language.this.js"},"3":{"name":"variable.parameter.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(asserts)\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))asserts(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.type.asserts.js"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))is(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"keyword.operator.expression.is.js"}]},"type-primitive":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"support.type.primitive.js"},"type-string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template-type"}]},"type-tuple":{"begin":"\\[","beginCaptures":{"0":{"name":"meta.brace.square.js"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js"}},"name":"meta.type.tuple.js","patterns":[{"match":"\\.\\.\\.","name":"keyword.operator.rest.js"},{"captures":{"1":{"name":"entity.name.label.js"},"2":{"name":"keyword.operator.optional.js"},"3":{"name":"punctuation.separator.label.js"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))([$_[:alpha:]][$_[:alnum:]]*)\\s*(\\?)?\\s*(:)"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeof-operator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))typeof(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","beginCaptures":{"0":{"name":"keyword.operator.expression.typeof.js"}},"end":"(?=[]\\&),:;=>?{|}]|(extends\\s+)|$|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))undefined(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","name":"constant.language.undefined.js"},"var-expr":{"patterns":[{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\s*$)))","name":"meta.var.expr.js","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(var|let)(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.js"}},"end":"(?=\\S)"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.js"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.js"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\s*$)))","name":"meta.var.expr.js","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b(const(?!\\s+enum\\b))(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.js"}},"end":"(?=\\S)"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.js"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.js"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\s+|[^$._[:alnum:]]await\\s+)using)(?=\\s*$)))","name":"meta.var.expr.js","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(export)\\s+)?(?:\\b(declare)\\s+)?\\b\\b(using(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])|await\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b)\\b(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.type.js"}},"end":"(?=\\S)"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\s*((?!\\S)|(?=//))","beginCaptures":{"1":{"name":"punctuation.separator.comma.js"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]}]},"var-single-const":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js variable.other.constant.js entity.name.function.js"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"meta.definition.variable.js variable.other.constant.js"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>)))))|(:\\s*((<)|(\\(\\s*((\\))|(\\.\\.\\.)|([$_[:alnum:]]+\\s*(([,:=?])|(\\)\\s*=>)))))))|(:\\s*(?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![$_[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^(),<=>])+=\\s*(((async\\s+)?((function\\s*[(*<])|(function\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\s*=>)))|((async\\s*)?(((<\\s*)$|(\\(\\s*((([\\[{]\\s*)?)$|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})\\s*((:\\s*\\{?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*)))|((\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])\\s*((:\\s*\\[?)$|((\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*((\\)\\s*:)|((\\.\\.\\.\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\s*:)))|(<\\s*[$_[:alpha:]][$_[:alnum:]]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<]|<\\s*(((const\\s+)?[$_[:alpha:]])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(/\\*([^*]|(\\*[^/]))*\\*/\\s*)*(([$_[:alpha:]]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*})*}))*})|(\\[([^]\\[]|(\\[([^]\\[]|\\[[^]\\[]*])*]))*])|(\\.\\.\\.\\s*[$_[:alpha:]]))([^\"'()`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|('([^'\\\\]|\\\\.)*')|(\"([^\"\\\\]|\\\\.)*\")|(`([^\\\\`]|\\\\.)*`))*)?\\)(\\s*:\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+})+)?\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js entity.name.function.js"},"2":{"name":"keyword.operator.definiteassignment.js"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"(\\p{upper}[$_\\d[:upper:]]*)(?![$_[:alnum:]])(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.js variable.other.constant.js"},"2":{"name":"keyword.operator.definiteassignment.js"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.js variable.other.readwrite.js"},"2":{"name":"keyword.operator.definiteassignment.js"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|^\\s*(?:abstract|async|\\bawait\\s+\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[$_[:alpha:]])\\b|var|while)\\b))","name":"meta.var-single-variable.expr.js","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{"patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}]},"variable-initializer":{"patterns":[{"begin":"(?<![!=])(=)(?!=)(?=\\s*\\S)(?!\\s*.*=>\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))","patterns":[{"include":"#expression"}]},{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![-\\&*+/|])(?<=\\S)(?<!=)(?=\\s*$)","patterns":[{"include":"#expression"}]}]}},"scopeName":"source.js"},{"displayName":"Less","name":"less","patterns":[{"include":"#comment-block"},{"include":"#less-namespace-accessors"},{"include":"#less-extend"},{"include":"#at-rules"},{"include":"#less-variable-assignment"},{"include":"#property-list"},{"include":"#selector"}],"repository":{"angle-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"(?i:[-+]?(?:\\d*\\.\\d+(?:[Ee][-+]?\\d+)*|[-+]?\\d+)(deg|grad|rad|turn))\\b","name":"constant.numeric.less"},"arbitrary-repetition":{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.less"}},"match":"\\s*(,)"},"at-charset":{"begin":"\\s*((@)charset)\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.charset.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":"\\s*((?=;|$))","name":"meta.at-rule.charset.less","patterns":[{"include":"#literal-string"}]},"at-container":{"begin":"(?=\\s*@container)","end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"((@)container)","beginCaptures":{"1":{"name":"keyword.control.at-rule.container.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.container.less"}},"end":"(?=\\{)","name":"meta.at-rule.container.less","patterns":[{"begin":"\\s*(?=[^;{])","end":"\\s*(?=[;{])","patterns":[{"match":"\\b(not|and|or)\\b","name":"keyword.operator.comparison.less"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.at-rule.container-query.less","patterns":[{"captures":{"1":{"name":"support.type.property-name.less"}},"match":"\\b(aspect-ratio|block-size|height|inline-size|orientation|width)\\b","name":"support.constant.size-feature.less"},{"match":"(([<>])=?)|[/=]","name":"keyword.operator.comparison.less"},{"match":":","name":"punctuation.separator.key-value.less"},{"match":"portrait|landscape","name":"support.constant.property-value.less"},{"include":"#numeric-values"},{"match":"/","name":"keyword.operator.arithmetic.less"},{"include":"#var-function"},{"include":"#less-variables"},{"include":"#less-variable-interpolation"}]},{"include":"#style-function"},{"match":"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*","name":"variable.parameter.container-name.css"},{"include":"#arbitrary-repetition"},{"include":"#less-variables"}]}]},{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=})","patterns":[{"include":"#rule-list-body"},{"include":"$self"}]}]},"at-counter-style":{"begin":"\\s*((@)counter-style)\\b\\s+(?:(?i:\\b(decimal|none)\\b)|(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*))\\s*(?=\\{|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.counter-style.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"invalid.illegal.counter-style-name.less"},"4":{"name":"entity.other.counter-style-name.css"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"name":"meta.at-rule.counter-style.less","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}]},"at-custom-media":{"begin":"(?=\\s*@custom-media\\b)","end":"\\s*(?=;)","name":"meta.at-rule.custom-media.less","patterns":[{"captures":{"0":{"name":"punctuation.section.property-list.less"}},"match":"\\s*;"},{"captures":{"1":{"name":"keyword.control.at-rule.custom-media.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.custom-media.less"}},"match":"\\s*((@)custom-media)(?=.*?)"},{"include":"#media-query-list"}]},"at-font-face":{"begin":"\\s*((@)font-face)\\s*(?=\\{|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.font-face.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"name":"meta.at-rule.font-face.less","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}]},"at-import":{"begin":"\\s*((@)import)\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.import.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.less"}},"name":"meta.at-rule.import.less","patterns":[{"include":"#url-function"},{"include":"#less-variables"},{"begin":"(?<=([\"'])|([\"']\\)))\\s*","end":"\\s*(?=;)","patterns":[{"include":"#media-query"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"match":"reference|inline|less|css|once|multiple|optional","name":"constant.language.import-directive.less"},{"include":"#comma-delimiter"}]},{"include":"#literal-string"}]},"at-keyframes":{"begin":"\\s*((@)keyframes)(?=.*?\\{)","beginCaptures":{"1":{"name":"keyword.control.at-rule.keyframe.less"},"2":{"name":"punctuation.definition.keyword.less"},"4":{"name":"support.constant.keyframe.less"}},"end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=})","patterns":[{"captures":{"1":{"name":"keyword.other.keyframe-selector.less"},"2":{"name":"constant.numeric.less"},"3":{"name":"keyword.other.unit.less"}},"match":"\\s*(?:(from|to)|((?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)(%)))\\s*,?\\s*"},{"include":"$self"}]},{"begin":"\\s*(?=[^;{])","end":"\\s*(?=\\{)","name":"meta.at-rule.keyframe.less","patterns":[{"include":"#keyframe-name"},{"include":"#arbitrary-repetition"}]}]},"at-media":{"begin":"(?=\\s*@media\\b)","end":"\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"\\s*((@)media)","beginCaptures":{"1":{"name":"keyword.control.at-rule.media.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.media.less"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.media.less","patterns":[{"include":"#media-query-list"}]},{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=})","patterns":[{"include":"#rule-list-body"},{"include":"$self"}]}]},"at-namespace":{"begin":"\\s*((@)namespace)\\s+","beginCaptures":{"1":{"name":"keyword.control.at-rule.namespace.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.less"}},"name":"meta.at-rule.namespace.less","patterns":[{"include":"#url-function"},{"include":"#literal-string"},{"match":"(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)","name":"entity.name.constant.namespace-prefix.less"}]},"at-page":{"captures":{"1":{"name":"keyword.control.at-rule.page.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"punctuation.definition.entity.less"},"4":{"name":"entity.other.attribute-name.pseudo-class.less"}},"match":"\\s*((@)page)\\s*(?:(:)(first|left|right))?\\s*(?=\\{|$)","name":"meta.at-rule.page.less","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}]},"at-rules":{"patterns":[{"include":"#at-charset"},{"include":"#at-container"},{"include":"#at-counter-style"},{"include":"#at-custom-media"},{"include":"#at-font-face"},{"include":"#at-media"},{"include":"#at-import"},{"include":"#at-keyframes"},{"include":"#at-namespace"},{"include":"#at-page"},{"include":"#at-supports"},{"include":"#at-viewport"}]},"at-supports":{"begin":"(?=\\s*@supports\\b)","end":"(?=\\s*)(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"\\s*((@)supports)","beginCaptures":{"1":{"name":"keyword.control.at-rule.supports.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.supports.less"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.supports.less","patterns":[{"include":"#at-supports-operators"},{"include":"#at-supports-parens"}]},{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.section.property-list.begin.less"}},"end":"(?=})","patterns":[{"include":"#rule-list-body"},{"include":"$self"}]}]},"at-supports-operators":{"match":"\\b(?:and|or|not)\\b","name":"keyword.operator.logic.less"},"at-supports-parens":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"include":"#at-supports-operators"},{"include":"#at-supports-parens"},{"include":"#rule-list-body"}]},"attr-function":{"begin":"\\b(attr)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#qualified-name"},{"include":"#literal-string"},{"begin":"(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)","end":"(?=\\))","name":"entity.other.attribute-name.less","patterns":[{"match":"\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\b","name":"keyword.other.unit.less"},{"include":"#comma-delimiter"},{"include":"#property-value-constants"},{"include":"#numeric-values"}]},{"include":"#color-values"}]}]},"builtin-functions":{"patterns":[{"include":"#attr-function"},{"include":"#calc-function"},{"include":"#color-functions"},{"include":"#counter-functions"},{"include":"#cross-fade-function"},{"include":"#cubic-bezier-function"},{"include":"#filter-function"},{"include":"#fit-content-function"},{"include":"#format-function"},{"include":"#gradient-functions"},{"include":"#grid-repeat-function"},{"include":"#image-function"},{"include":"#less-functions"},{"include":"#local-function"},{"include":"#minmax-function"},{"include":"#regexp-function"},{"include":"#shape-functions"},{"include":"#steps-function"},{"include":"#symbols-function"},{"include":"#transform-functions"},{"include":"#url-function"},{"include":"#var-function"}]},"calc-function":{"begin":"\\b(calc)(?=\\()","beginCaptures":{"1":{"name":"support.function.calc.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-strings"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#attr-function"},{"include":"#less-math"},{"include":"#relative-color"}]}]},"color-adjuster-operators":{"match":"[-*+](?=\\s+)","name":"keyword.operator.less"},"color-functions":{"patterns":[{"begin":"\\b(rgba?)(?=\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#value-separator"},{"include":"#percentage-type"},{"include":"#number-type"}]}]},{"begin":"\\b(hsla?|hwb|oklab|oklch|lab|lch)(?=\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#angle-type"},{"include":"#percentage-type"},{"include":"#number-type"},{"include":"#calc-function"},{"include":"#value-separator"}]}]},{"begin":"\\b(light-dark)(?=\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"}]}]},{"include":"#less-color-functions"}]},"color-values":{"patterns":[{"include":"#color-functions"},{"include":"#less-functions"},{"include":"#less-variables"},{"include":"#var-function"},{"match":"\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b","name":"support.constant.color.w3c-standard-color-name.less"},{"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|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b","name":"support.constant.color.w3c-extended-color-keywords.less"},{"match":"\\b((?i)currentColor|transparent)\\b","name":"support.constant.color.w3c-special-color-keyword.less"},{"captures":{"1":{"name":"punctuation.definition.constant.less"}},"match":"(#)(\\h{3}|\\h{4}|\\h{6}|\\h{8})\\b","name":"constant.other.color.rgb-value.less"},{"include":"#relative-color"}]},"comma-delimiter":{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"\\s*(,)\\s*"},"comment-block":{"patterns":[{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.less"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.less"}},"name":"comment.block.less"},{"include":"#comment-line"}]},"comment-line":{"captures":{"1":{"name":"punctuation.definition.comment.less"}},"match":"(//).*$\\n?","name":"comment.line.double-slash.less"},"counter-functions":{"patterns":[{"begin":"\\b(counter)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"match":"--(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))+|-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*","name":"entity.other.counter-name.less"},{"begin":"(?=,)","end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"match":"\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\b","name":"support.constant.property-value.counter-style.less"}]}]}]},{"begin":"\\b(counters)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)","name":"entity.other.counter-name.less string.unquoted.less"},{"begin":"(?=,)","end":"(?=\\))","patterns":[{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#literal-string"},{"include":"#comma-delimiter"},{"match":"\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\b","name":"support.constant.property-value.counter-style.less"}]}]}]}]},"cross-fade-function":{"patterns":[{"begin":"\\b(cross-fade)(?=\\()","beginCaptures":{"1":{"name":"support.function.image.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#percentage-type"},{"include":"#color-values"},{"include":"#image-type"},{"include":"#literal-string"},{"include":"#unquoted-string"}]}]}]},"cubic-bezier-function":{"begin":"\\b(cubic-bezier)(\\()","beginCaptures":{"1":{"name":"support.function.timing.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"contentName":"meta.group.less","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"include":"#less-functions"},{"include":"#calc-function"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#number-type"}]},"custom-property-name":{"captures":{"1":{"name":"punctuation.definition.custom-property.less"},"2":{"name":"support.type.custom-property.name.less"}},"match":"\\s*(--)((?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))+)","name":"support.type.custom-property.less"},"dimensions":{"patterns":[{"include":"#angle-type"},{"include":"#frequency-type"},{"include":"#time-type"},{"include":"#percentage-type"},{"include":"#length-type"}]},"filter-function":{"begin":"\\b(filter)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","name":"meta.group.less","patterns":[{"include":"#comma-delimiter"},{"include":"#image-type"},{"include":"#literal-string"},{"include":"#filter-functions"}]}]},"filter-functions":{"patterns":[{"include":"#less-functions"},{"begin":"\\b(blur)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#length-type"}]}]},{"begin":"\\b(brightness|contrast|grayscale|invert|opacity|saturate|sepia)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#percentage-type"},{"include":"#number-type"},{"include":"#less-functions"}]}]},{"begin":"\\b(drop-shadow)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#length-type"},{"include":"#color-values"}]}]},{"begin":"\\b(hue-rotate)(?=\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#angle-type"}]}]}]},"fit-content-function":{"begin":"\\b(fit-content)(?=\\()","beginCaptures":{"1":{"name":"support.function.grid.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#percentage-type"},{"include":"#length-type"}]}]},"format-function":{"patterns":[{"begin":"\\b(format)(?=\\()","beginCaptures":{"0":{"name":"support.function.format.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#literal-string"}]}]}]},"frequency-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"(?i:[-+]?(?:\\d*\\.\\d+(?:[Ee][-+]?\\d+)*|[-+]?\\d+)(k??Hz))\\b","name":"constant.numeric.less"},"global-property-values":{"match":"\\b(?:initial|inherit|unset|revert-layer|revert)\\b","name":"support.constant.property-value.less"},"gradient-functions":{"patterns":[{"begin":"\\b((?:repeating-)?linear-gradient)(?=\\()","beginCaptures":{"1":{"name":"support.function.gradient.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#angle-type"},{"include":"#color-values"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#comma-delimiter"},{"match":"\\bto\\b","name":"keyword.other.less"},{"match":"\\b(top|right|bottom|left)\\b","name":"support.constant.property-value.less"}]}]},{"begin":"\\b((?:repeating-)?radial-gradient)(?=\\()","beginCaptures":{"1":{"name":"support.function.gradient.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#color-values"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#comma-delimiter"},{"match":"\\b(at|circle|ellipse)\\b","name":"keyword.other.less"},{"match":"\\b(top|right|bottom|left|center|((?:farth|clos)est)-(corner|side))\\b","name":"support.constant.property-value.less"}]}]}]},"grid-repeat-function":{"begin":"\\b(repeat)(?=\\()","beginCaptures":{"1":{"name":"support.function.grid.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#var-function"},{"include":"#length-type"},{"include":"#percentage-type"},{"include":"#minmax-function"},{"include":"#integer-type"},{"match":"\\b(auto-(fi(?:ll|t)))\\b","name":"support.keyword.repetitions.less"},{"match":"\\b(((m(?:ax|in))-content)|auto)\\b","name":"support.constant.property-value.less"}]}]},"image-function":{"begin":"\\b(image)(?=\\()","beginCaptures":{"1":{"name":"support.function.image.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#image-type"},{"include":"#literal-string"},{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#unquoted-string"}]}]},"image-type":{"patterns":[{"include":"#cross-fade-function"},{"include":"#gradient-functions"},{"include":"#image-function"},{"include":"#url-function"}]},"important":{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"(!)\\s*important","name":"keyword.other.important.less"},"integer-type":{"match":"[-+]?\\d+","name":"constant.numeric.less"},"keyframe-name":{"begin":"\\s*(-?(?:[_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r\\s])?)|\\\\[^\\n\\f\\r0-9a-f]))(?:[-0-9_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r])?)|\\\\[^\\n\\f\\r0-9a-f]))*)?","beginCaptures":{"1":{"name":"variable.other.constant.animation-name.less"}},"end":"\\s*(?:(,)|(?=[;{]))","endCaptures":{"1":{"name":"punctuation.definition.arbitrary-repetition.less"}}},"length-type":{"patterns":[{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"[-+]?(?:\\d+\\.\\d+|\\.?\\d+)(?:[Ee][-+]?\\d+)?(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|[mq]|in|pt|pc|px|fr|dpi|dpcm|dppx|x)","name":"constant.numeric.less"},{"match":"\\b[-+]?0\\b","name":"constant.numeric.less"}]},"less-boolean-function":{"begin":"\\b(boolean)(?=\\()","beginCaptures":{"1":{"name":"support.function.boolean.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-logical-comparisons"}]}]},"less-color-blend-functions":{"patterns":[{"begin":"\\b(multiply|screen|overlay|(soft|hard)light|difference|exclusion|negation|average)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-blend.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#color-values"}]}]}]},"less-color-channel-functions":{"patterns":[{"begin":"\\b(hue|saturation|lightness|hsv(hue|saturation|value)|red|green|blue|alpha|luma|luminance)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-definition.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"}]}]}]},"less-color-definition-functions":{"patterns":[{"begin":"\\b(argb)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-definition.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#color-values"}]}]},{"begin":"\\b(hsva?)(?=\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#integer-type"},{"include":"#percentage-type"},{"include":"#number-type"},{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#comma-delimiter"}]}]}]},"less-color-functions":{"patterns":[{"include":"#less-color-blend-functions"},{"include":"#less-color-channel-functions"},{"include":"#less-color-definition-functions"},{"include":"#less-color-operation-functions"}]},"less-color-operation-functions":{"patterns":[{"begin":"\\b(fade|shade|tint)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#percentage-type"}]}]},{"begin":"\\b(spin)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#number-type"}]}]},{"begin":"\\b(((de)?saturate)|((light|dark)en)|(fade(in|out)))(?=\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#percentage-type"},{"match":"\\brelative\\b","name":"constant.language.relative.less"}]}]},{"begin":"\\b(contrast)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#percentage-type"}]}]},{"begin":"\\b(greyscale)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"}]}]},{"begin":"\\b(mix)(?=\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#less-math"},{"include":"#percentage-type"}]}]}]},"less-extend":{"begin":"(:)(extend)(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"entity.other.attribute-name.pseudo-class.extend.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"\\ball\\b","name":"constant.language.all.less"},{"include":"#selectors"}]}]},"less-functions":{"patterns":[{"include":"#less-boolean-function"},{"include":"#less-color-functions"},{"include":"#less-if-function"},{"include":"#less-list-functions"},{"include":"#less-math-functions"},{"include":"#less-misc-functions"},{"include":"#less-string-functions"},{"include":"#less-type-functions"}]},"less-if-function":{"begin":"\\b(if)(?=\\()","beginCaptures":{"1":{"name":"support.function.if.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-mixin-guards"},{"include":"#comma-delimiter"},{"include":"#property-values"}]}]},"less-list-functions":{"patterns":[{"begin":"\\b(length)(?=\\()\\b","beginCaptures":{"1":{"name":"support.function.length.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"}]}]},{"begin":"\\b(extract)(?=\\()\\b","beginCaptures":{"1":{"name":"support.function.extract.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"},{"include":"#integer-type"}]}]},{"begin":"\\b(range)(?=\\()\\b","beginCaptures":{"1":{"name":"support.function.range.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"},{"include":"#integer-type"}]}]}]},"less-logical-comparisons":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.less"}},"match":"\\s*(=|(([<>])=?))\\s*"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"include":"#less-logical-comparisons"}]},{"match":"\\btrue|false\\b","name":"constant.language.less"},{"match":",","name":"punctuation.separator.less"},{"include":"#property-values"},{"include":"#selectors"},{"include":"#unquoted-string"}]},"less-math":{"patterns":[{"match":"[-*+/]","name":"keyword.operator.arithmetic.less"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"include":"#less-math"}]},{"include":"#numeric-values"},{"include":"#less-variables"}]},"less-math-functions":{"patterns":[{"begin":"\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\()","beginCaptures":{"1":{"name":"support.function.math.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#numeric-values"}]}]},{"captures":{"2":{"name":"support.function.math.less"},"3":{"name":"punctuation.definition.group.begin.less"},"4":{"name":"punctuation.definition.group.end.less"}},"match":"((pi)(\\()(\\)))","name":"meta.function-call.less"},{"begin":"\\b(pow|m(od|in|ax))(?=\\()","beginCaptures":{"1":{"name":"support.function.math.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#numeric-values"},{"include":"#comma-delimiter"}]}]}]},"less-misc-functions":{"patterns":[{"begin":"\\b(color)(?=\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#literal-string"}]}]},{"begin":"\\b(image-(size|width|height))(?=\\()","beginCaptures":{"1":{"name":"support.function.image.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#literal-string"},{"include":"#unquoted-string"}]}]},{"begin":"\\b(convert|unit)(?=\\()","beginCaptures":{"1":{"name":"support.function.convert.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#numeric-values"},{"include":"#literal-string"},{"include":"#comma-delimiter"},{"match":"(([cm])?m|in|p([ctx])|m?s|g?rad|deg|turn|%|r?em|ex|ch)","name":"keyword.other.unit.less"}]}]},{"begin":"\\b(data-uri)(?=\\()","beginCaptures":{"1":{"name":"support.function.data-uri.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#literal-string"},{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"\\s*(,)"}]}]},{"captures":{"2":{"name":"punctuation.definition.group.begin.less"},"3":{"name":"punctuation.definition.group.end.less"}},"match":"\\b(default(\\()(\\)))\\b","name":"support.function.default.less"},{"begin":"\\b(get-unit)(?=\\()","beginCaptures":{"1":{"name":"support.function.get-unit.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#dimensions"}]}]},{"begin":"\\b(svg-gradient)(?=\\()","beginCaptures":{"1":{"name":"support.function.svg-gradient.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#angle-type"},{"include":"#comma-delimiter"},{"include":"#color-values"},{"include":"#percentage-type"},{"include":"#length-type"},{"match":"\\bto\\b","name":"keyword.other.less"},{"match":"\\b(top|right|bottom|left|center)\\b","name":"support.constant.property-value.less"},{"match":"\\b(at|circle|ellipse)\\b","name":"keyword.other.less"}]}]}]},"less-mixin-guards":{"patterns":[{"begin":"\\s*(and|not|or)?\\s*(?=\\()","beginCaptures":{"1":{"name":"keyword.operator.logical.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","name":"meta.group.less","patterns":[{"include":"#less-variable-comparison"},{"captures":{"1":{"name":"meta.group.less"},"2":{"name":"punctuation.definition.group.begin.less"},"3":{"name":"punctuation.definition.group.end.less"}},"match":"default((\\()(\\)))","name":"support.function.default.less"},{"include":"#property-values"},{"include":"#less-logical-comparisons"},{"include":"$self"}]}]}]},"less-namespace-accessors":{"patterns":[{"begin":"(?=\\s*when\\b)","end":"\\s*(?:(,)|(?=[;{]))","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"name":"meta.conditional.guarded-namespace.less","patterns":[{"captures":{"1":{"name":"keyword.control.conditional.less"},"2":{"name":"punctuation.definition.keyword.less"}},"match":"\\s*(when)(?=.*?)"},{"include":"#less-mixin-guards"},{"include":"#comma-delimiter"},{"begin":"\\s*(\\{)","beginCaptures":{"1":{"name":"punctuation.section.property-list.begin.less"}},"end":"(?=})","name":"meta.block.less","patterns":[{"include":"#rule-list-body"}]},{"include":"#selectors"}]},{"begin":"(\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.begin.less"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.definition.group.end.less"},"2":{"name":"punctuation.terminator.rule.less"}},"name":"meta.group.less","patterns":[{"include":"#less-variable-assignment"},{"include":"#comma-delimiter"},{"include":"#property-values"},{"include":"#rule-list-body"}]},{"captures":{"1":{"name":"punctuation.terminator.rule.less"}},"match":"(;)|(?=[)}])"}]},"less-string-functions":{"patterns":[{"begin":"\\b(e(scape)?)(?=\\()\\b","beginCaptures":{"1":{"name":"support.function.escape.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#unquoted-string"}]}]},{"begin":"\\s*(%)(?=\\()\\s*","beginCaptures":{"1":{"name":"support.function.format.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#property-values"}]}]},{"begin":"\\b(replace)(?=\\()\\b","beginCaptures":{"1":{"name":"support.function.replace.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#property-values"}]}]}]},"less-strings":{"patterns":[{"begin":"(~)([\"'])","beginCaptures":{"1":{"name":"constant.character.escape.less"},"2":{"name":"punctuation.definition.string.begin.less"}},"contentName":"markup.raw.inline.less","end":"([\"'])|(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.less"},"2":{"name":"invalid.illegal.newline.less"}},"name":"string.quoted.other.less","patterns":[{"include":"#string-content"}]}]},"less-type-functions":{"patterns":[{"begin":"\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\()","beginCaptures":{"1":{"name":"support.function.type.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#property-values"}]}]},{"begin":"\\b(isunit)(?=\\()","beginCaptures":{"1":{"name":"support.function.type.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"},{"match":"\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\b","name":"keyword.other.unit.less"}]}]},{"begin":"\\b(isdefined)(?=\\()","beginCaptures":{"1":{"name":"support.function.type.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"}]}]}]},"less-variable-assignment":{"patterns":[{"begin":"(@)(-?(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)","beginCaptures":{"0":{"name":"variable.other.readwrite.less"},"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"support.other.variable.less"}},"end":"\\s*(;|(\\.{3})|(?=\\)))","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"},"2":{"name":"keyword.operator.spread.less"}},"name":"meta.property-value.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\+_?)?):)([\\t\\s]*)"},{"include":"#property-values"},{"include":"#comma-delimiter"},{"include":"#property-list"},{"include":"#unquoted-string"}]}]},"less-variable-comparison":{"patterns":[{"begin":"(@{1,2})(-?([_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)","beginCaptures":{"0":{"name":"variable.other.readwrite.less"},"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"support.other.variable.less"}},"end":"\\s*(?=\\))","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.less"}},"match":"\\s*(=|(([<>])=?))\\s*"},{"match":"\\btrue\\b","name":"constant.language.less"},{"include":"#property-values"},{"include":"#selectors"},{"include":"#unquoted-string"},{"match":",","name":"punctuation.separator.less"}]}]},"less-variable-interpolation":{"captures":{"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"punctuation.definition.expression.less"},"3":{"name":"support.other.variable.less"},"4":{"name":"punctuation.definition.expression.less"}},"match":"(@)(\\{)([-\\w]+)(})","name":"variable.other.readwrite.less"},"less-variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"support.other.variable.less"}},"match":"\\s*(@@?)([-\\w]+)","name":"variable.other.readwrite.less"},{"include":"#less-variable-interpolation"}]},"literal-string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.less"}},"end":"(')|(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.less"},"2":{"name":"invalid.illegal.newline.less"}},"name":"string.quoted.single.less","patterns":[{"include":"#string-content"}]},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.less"}},"end":"(\")|(\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.less"},"2":{"name":"invalid.illegal.newline.less"}},"name":"string.quoted.double.less","patterns":[{"include":"#string-content"}]},{"include":"#less-strings"}]},"local-function":{"begin":"\\b(local)(?=\\()","beginCaptures":{"0":{"name":"support.function.font-face.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#unquoted-string"}]}]},"media-query":{"begin":"\\s*(only|not)?\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?","beginCaptures":{"1":{"name":"keyword.operator.logic.media.less"},"2":{"name":"support.constant.media.less"}},"end":"\\s*(?:(,)|(?=[;{]))","endCaptures":{"1":{"name":"punctuation.definition.arbitrary-repetition.less"}},"patterns":[{"include":"#less-variables"},{"include":"#custom-property-name"},{"begin":"\\s*(and)?\\s*(\\()\\s*","beginCaptures":{"1":{"name":"keyword.operator.logic.media.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"begin":"(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*)\\s*(?=[):])","beginCaptures":{"0":{"name":"support.type.property-name.media.less"}},"end":"(((\\+_?)?):)|(?=\\))","endCaptures":{"1":{"name":"punctuation.separator.key-value.less"}}},{"match":"\\b(portrait|landscape|progressive|interlace)","name":"support.constant.property-value.less"},{"captures":{"1":{"name":"constant.numeric.less"},"2":{"name":"keyword.operator.arithmetic.less"},"3":{"name":"constant.numeric.less"}},"match":"\\s*(\\d+)(/)(\\d+)"},{"include":"#less-math"}]}]},"media-query-list":{"begin":"\\s*(?=[^;{])","end":"\\s*(?=[;{])","patterns":[{"include":"#media-query"}]},"minmax-function":{"begin":"\\b(minmax)(?=\\()","beginCaptures":{"1":{"name":"support.function.grid.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#length-type"},{"include":"#comma-delimiter"},{"match":"\\b(m(?:ax|in)-content)\\b","name":"support.constant.property-value.less"}]}]},"number-type":{"match":"[-+]?(?:\\d+\\.\\d+|\\.?\\d+)(?:[Ee][-+]?\\d+)?","name":"constant.numeric.less"},"numeric-values":{"patterns":[{"include":"#dimensions"},{"include":"#percentage-type"},{"include":"#number-type"}]},"percentage-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"[-+]?(?:\\d+\\.\\d+|\\.?\\d+)(?:[Ee][-+]?\\d+)?(%)","name":"constant.numeric.less"},"property-list":{"patterns":[{"begin":"(?=(?=[^;]*)\\{)","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"include":"#rule-list"}]}]},"property-value-constants":{"patterns":[{"match":"\\b(flex-start|flex-end|start|end|space-between|space-around|space-evenly|stretch|baseline|safe|unsafe|legacy|anchor-center|first|last|self-start|self-end)\\b","name":"support.constant.property-value.less"},{"match":"\\b(text-before-edge|before-edge|middle|central|text-after-edge|after-edge|ideographic|alphabetic|hanging|mathematical|top|center|bottom)\\b","name":"support.constant.property-value.less"},{"include":"#global-property-values"},{"include":"#cubic-bezier-function"},{"include":"#steps-function"},{"match":"\\b(?:replace|add|accumulate)\\b","name":"support.constant.property-value.less"},{"match":"\\b(?:normal|alternate-reverse|alternate|reverse)\\b","name":"support.constant.property-value.less"},{"match":"\\b(?:forwards|backwards|both)\\b","name":"support.constant.property-value.less"},{"match":"\\binfinite\\b","name":"support.constant.property-value.less"},{"match":"\\b(?:running|paused)\\b","name":"support.constant.property-value.less"},{"match":"\\be(?:ntry|xit)(?:-crossing|)\\b","name":"support.constant.property-value.less"},{"match":"\\b(linear|ease-in-out|ease-in|ease-out|ease|step-start|step-end)\\b","name":"support.constant.property-value.less"},{"match":"\\b(absolute|active|add|all-petite-caps|all-small-caps|all-scroll|all|alphabetic|alpha|alternate-reverse|alternate|always|annotation|antialiased|at|autohiding-scrollbar|auto|avoid-column|avoid-page|avoid-region|avoid|background-color|background-image|background-position|background-size|background-repeat|background|backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink|block-line-height|block-start|block-end|block|blur|bolder|bold|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|both|bottom|box-shadow|box|break-all|break-word|break-spaces|brightness|butt(on)?|capitalize|central|center|char(acter-variant)?|cjk-ideographic|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color-stop|color-burn|color-dodge|color|column-count|column-gap|column-reverse|column-rule-color|column-rule-width|column-rule|column-width|columns?|common-ligatures|condensed|consider-shifts|contain|content-box|contents?|contextual|contrast|cover|crisp-edges|crispEdges|crop|crosshair|cross|darken|dashed|default|dense|device-width|diagonal-fractions|difference|disabled|discard|discretionary-ligatures|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|drop-shadow|[ensw]{1,4}-resize|ease-in-out|ease-in|ease-out|ease|element|ellipsis|embed|end|EndColorStr|evenodd|exclude-ruby|exclusion|expanded|extra-condensed|extra-expanded|farthest-corner|farthest-side|farthest|fill-box|fill-opacity|fill|filter|fit-content|fixed|flat|flex-basis|flex-end|flex-grow|flex-shrink|flex-start|flexbox|flex|flip|flood-color|font-size-adjust|font-size|font-stretch|font-weight|font|forwards|from-image|from|full-width|gap|geometricPrecision|glyphs|gradient|grayscale|grid-column-gap|grid-column|grid-row-gap|grid-row|grid-gap|grid-height|grid|groove|hand|hanging|hard-light|height|help|hidden|hide|historical-forms|historical-ligatures|horizontal-tb|horizontal|hue|ideographic|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|include-ruby|infinite|inherit|initial|inline-end|inline-size|inline-start|inline-table|inline-line-height|inline-flexbox|inline-flex|inline-box|inline-block|inline|inset|inside|inter-ideograph|inter-word|intersect|invert|isolate|isolation|italic|jis(04|78|83|90)|justify-all|justify|keep-all|larger?|last|layout|left|letter-spacing|lighten|lighter|lighting-color|linear-gradient|linearRGB|linear|line-edge|line-height|line-through|line|lining-nums|list-item|local|loose|lowercase|lr-tb|ltr|luminosity|luminance|manual|manipulation|margin-bottom|margin-box|margin-left|margin-right|margin-top|margin|marker(-offset|s)?|match-parent|mathematical|max-(content|height|lines|size|width)|medium|middle|min-(content|height|width)|miter|mixed|move|multiply|newspaper|no-change|no-clip|no-close-quote|no-open-quote|no-common-ligatures|no-discretionary-ligatures|no-historical-ligatures|no-contextual|no-drop|no-repeat|none|nonzero|normal|not-allowed|nowrap|oblique|offset-after|offset-before|offset-end|offset-start|offset|oldstyle-nums|opacity|open-quote|optimize(Legibility|Precision|Quality|Speed)|order|ordinal|ornaments|outline-color|outline-offset|outline-width|outline|outset|outside|overline|over-edge|overlay|padding(-(?:bottom|box|left|right|top|box))?|page|paint(ed)?|paused|pan-(x|left|right|y|up|down)|perspective-origin|petite-caps|pixelated|pointer|pinch-zoom|pretty|pre(-(?:line|wrap))?|preserve-3d|preserve-breaks|preserve-spaces|preserve|progid:DXImageTransform\\.Microsoft\\.(Alpha|Blur|dropshadow|gradient|Shadow)|progress|proportional-nums|proportional-width|radial-gradient|recto|region|relative|repeating-linear-gradient|repeating-radial-gradient|repeat-x|repeat-y|repeat|replaced|reset-size|reverse|revert-layer|revert|ridge|right|round|row-gap|row-resize|row-reverse|row|rtl|ruby|running|saturate|saturation|screen|scrollbar|scroll-position|scroll|separate|sepia|scale-down|semi-condensed|semi-expanded|shape-image-threshold|shape-margin|shape-outside|show|sideways-lr|sideways-rl|sideways|simplified|size|slashed-zero|slice|small-caps|smaller|small|smooth|snap|solid|soft-light|space-around|space-between|space|span|sRGB|stable|stacked-fractions|stack|startColorStr|start|static|step-end|step-start|sticky|stop-color|stop-opacity|stretch|strict|stroke-box|stroke-dasharray|stroke-dashoffset|stroke-miterlimit|stroke-opacity|stroke-width|stroke|styleset|style|stylistic|subgrid|subpixel-antialiased|subtract|super|swash|table-caption|table-cell|table-column-group|table-footer-group|table-header-group|table-row-group|table-column|table-row|table|tabular-nums|tb-rl|text((-(?:bottom|(decoration|emphasis)-color|indent|(over|under)-edge|shadow|size(-adjust)?|top))|field)?|thick|thin|titling-caps|titling-case|top|touch|to|traditional|transform-origin|transform-style|transform|ultra-condensed|ultra-expanded|under-edge|underline|unicase|unset|uppercase|upright|use-glyph-orientation|use-script|verso|vertical(-(?:align|ideographic|lr|rl|text))?|view-box|viewport-fill-opacity|viewport-fill|visibility|visibleFill|visiblePainted|visibleStroke|visible|wait|wavy|weight|whitespace|width|word-spacing|wrap-reverse|wrap|xx?-(large|small)|z-index|zero|zoom-in|zoom-out|zoom|arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)\\b","name":"support.constant.property-value.less"},{"match":"\\b(sans-serif|serif|monospace|fantasy|cursive)\\b(?=\\s*[\\n,;}])","name":"support.constant.font-name.less"}]},"property-values":{"patterns":[{"include":"#comment-block"},{"include":"#builtin-functions"},{"include":"#color-functions"},{"include":"#less-functions"},{"include":"#less-variables"},{"include":"#unicode-range"},{"include":"#numeric-values"},{"include":"#color-values"},{"include":"#property-value-constants"},{"include":"#less-math"},{"include":"#literal-string"},{"include":"#comma-delimiter"},{"include":"#important"}]},"pseudo-selectors":{"patterns":[{"begin":"(:)(dir)(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"ltr|rtl","name":"variable.parameter.dir.less"},{"include":"#less-variables"}]}]},{"begin":"(:)(lang)(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#literal-string"},{"include":"#unquoted-string"}]}]},{"begin":"(:)(not)(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#selectors"}]}]},{"begin":"(:)(nth(-last)?-(child|of-type))(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"entity.other.attribute-name.pseudo-class.less"}},"contentName":"meta.function-call.less","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","name":"meta.group.less","patterns":[{"match":"\\b(even|odd)\\b","name":"keyword.other.pseudo-class.less"},{"captures":{"1":{"name":"keyword.operator.arithmetic.less"},"2":{"name":"keyword.other.unit.less"},"4":{"name":"keyword.operator.arithmetic.less"}},"match":"([-+])?\\d+{0,1}(n)(\\s*([-+])\\s*\\d+)?|[-+]?\\s*\\d+","name":"constant.numeric.less"},{"include":"#less-math"},{"include":"#less-strings"},{"include":"#less-variable-interpolation"}]}]},{"begin":"(:)(host-context|host|has|is|not|where)(?=\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#selectors"}]}]},{"captures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"entity.other.attribute-name.pseudo-class.less"}},"match":"(:)(active|any-link|autofill|blank|buffering|checked|current|default|defined|disabled|empty|enabled|first-child|first-of-type|first|focus-visible|focus-within|focus|fullscreen|future|host|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|local-link|link|modal|muted|only-child|only-of-type|optional|out-of-range|past|paused|picture-in-picture|placeholder-shown|playing|popover-open|read-only|read-write|required|right|root|scope|seeking|stalled|target-within|target|user-invalid|user-valid|valid|visited|volume-locked)\\b","name":"meta.function-call.less"},{"begin":"(::?)(highlight|part|state)(?=\\s*(\\())","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-element.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*","name":"variable.parameter.less"},{"include":"#less-variables"}]}]},{"begin":"(::?)slotted(?=\\s*(\\())","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"contentName":"meta.function-call.less","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-element.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","name":"meta.group.less","patterns":[{"include":"#selectors"}]}]},{"captures":{"1":{"name":"punctuation.definition.entity.less"}},"match":"(::?)(after|backdrop|before|cue|file-selector-button|first-letter|first-line|grammar-error|marker|placeholder|selection|spelling-error|target-text|view-transition-group|view-transition-image-pair|view-transition-new|view-transition-old|view-transition)\\b","name":"entity.other.attribute-name.pseudo-element.less"},{"captures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"meta.namespace.vendor-prefix.less"}},"match":"(::?)(-\\w+-)(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*)\\b","name":"entity.other.attribute-name.pseudo-element.less"}]},"qualified-name":{"captures":{"1":{"name":"entity.name.constant.less"},"2":{"name":"entity.name.namespace.wildcard.less"},"3":{"name":"punctuation.separator.namespace.less"}},"match":"(?:(-?(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)|(\\*))?(\\|)(?!=)"},"regexp-function":{"begin":"\\b(regexp)(?=\\()","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"support.function.regexp.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","name":"meta.function-call.less","patterns":[{"include":"#literal-string"}]}]},"relative-color":{"patterns":[{"match":"from","name":"keyword.other.less"},{"match":"\\b[abchlsw]\\b","name":"keyword.other.less"}]},"rule-list":{"patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=\\s*})","name":"meta.property-list.less","patterns":[{"captures":{"1":{"name":"punctuation.terminator.rule.less"}},"match":"\\s*(;)|(?=[)}])"},{"include":"#rule-list-body"},{"include":"#less-extend"}]}]},"rule-list-body":{"patterns":[{"include":"#comment-block"},{"include":"#comment-line"},{"include":"#at-rules"},{"include":"#less-variable-assignment"},{"begin":"(?=[-\\w]*?@\\{.*}[-\\w]*?\\s*:[^(;{]*(?=[);}]))","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"begin":"(?=[^:\\s])","end":"(?=(((\\+_?)?):)[\\t\\s]*)","name":"support.type.property-name.less","patterns":[{"include":"#less-variable-interpolation"}]},{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"support.type.property-name.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"include":"#property-values"}]}]},{"begin":"(?=[-a-z])","end":"$|(?![-a-z])","patterns":[{"include":"#custom-property-name"},{"begin":"(-[-\\w]+?-)((?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*)\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"},"1":{"name":"meta.namespace.vendor-prefix.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"include":"#property-values"},{"match":"[-\\w]+","name":"support.constant.property-value.less"}]}]},{"include":"#filter-function"},{"begin":"\\b(border((-(bottom|top)-(left|right))|((-(start|end)){2}))?-radius|(border-image(?!-)))\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"include":"#value-separator"},{"include":"#property-values"}]}]},{"captures":{"1":{"name":"keyword.other.custom-property.prefix.less"},"2":{"name":"support.type.custom-property.name.less"}},"match":"\\b(var-)(-?(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)(?=\\s)","name":"invalid.deprecated.custom-property.less"},{"begin":"\\bfont(-family)?(?!-)\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\+_?)?):)([\\t\\s]*)"},{"include":"#property-values"},{"match":"-?(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*(\\s+-?(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)*","name":"string.unquoted.less"},{"match":",","name":"punctuation.separator.less"}]},{"begin":"\\banimation-timeline\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"include":"#comment-block"},{"include":"#custom-property-name"},{"include":"#scroll-function"},{"include":"#view-function"},{"include":"#property-values"},{"include":"#less-variables"},{"include":"#arbitrary-repetition"},{"include":"#important"}]}]},{"begin":"\\banimation(?:-name)?(?=(?:\\+_?)?:)\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"include":"#comment-block"},{"include":"#builtin-functions"},{"include":"#less-functions"},{"include":"#less-variables"},{"include":"#numeric-values"},{"include":"#property-value-constants"},{"match":"-?(?:[A-Z_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r\\s])?)|\\\\[^\\n\\f\\r0-9a-f]))(?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r])?)|\\\\[^\\n\\f\\r0-9a-f]))*","name":"variable.other.constant.animation-name.less string.unquoted.less"},{"include":"#less-math"},{"include":"#arbitrary-repetition"},{"include":"#important"}]}]},{"begin":"\\b(transition(-(property|duration|delay|timing-function))?)\\b","beginCaptures":{"1":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"include":"#time-type"},{"include":"#property-values"},{"include":"#cubic-bezier-function"},{"include":"#steps-function"},{"include":"#arbitrary-repetition"}]}]},{"begin":"\\b(?:backdrop-)?filter\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\+_?)?):)([\\t\\s]*)"},{"match":"\\b(inherit|initial|unset|none)\\b","name":"meta.property-value.less"},{"include":"#filter-functions"}]},{"begin":"\\bwill-change\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\+_?)?):)([\\t\\s]*)"},{"match":"unset|initial|inherit|will-change|auto|scroll-position|contents","name":"invalid.illegal.property-value.less"},{"match":"-?(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*","name":"support.constant.property-value.less"},{"include":"#arbitrary-repetition"}]},{"begin":"\\bcounter-(increment|(re)?set)\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\+_?)?):)([\\t\\s]*)"},{"match":"-?(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*","name":"entity.name.constant.counter-name.less"},{"include":"#integer-type"},{"match":"unset|initial|inherit|auto","name":"invalid.illegal.property-value.less"}]},{"begin":"\\bcontainer(?:-name)?(?=\\s*?:)","end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"support.type.property-name.less","patterns":[{"begin":"(((\\+_?)?):)(?=[\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\s*(;)|(?=[)}]))","patterns":[{"match":"\\bdefault\\b","name":"invalid.illegal.property-value.less"},{"include":"#global-property-values"},{"include":"#custom-property-name"},{"contentName":"variable.other.constant.container-name.less","match":"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*","name":"support.constant.property-value.less"},{"include":"#property-values"}]}]},{"match":"\\b(accent-height|align-content|align-items|align-self|alignment-baseline|all|animation-timing-function|animation-range-start|animation-range-end|animation-range|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation-composition|animation|appearance|ascent|aspect-ratio|azimuth|backface-visibility|background-size|background-repeat-y|background-repeat-x|background-repeat|background-position-y|background-position-x|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|baseline-shift|begin|bias|blend-mode|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|bottom|box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing)|break-(after|before|inside)|caption-side|clear|clip-path|clip-rule|clip|color(-(interpolation(-filters)?|profile|rendering))?|columns|column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width)|container-name|container-type|container|contain-intrinsic-block-size|contain-intrinsic-inline-size|contain-intrinsic-height|contain-intrinsic-size|contain-intrinsic-width|contain|content|counter-(increment|reset)|cursor|[cdf][xy]|direction|display|divisor|dominant-baseline|dur|elevation|empty-cells|enable-background|end|fallback|fill(-(opacity|rule))?|filter|flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))?|float|flood-(color|opacity)|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size(-adjust)?|font-smoothing|font-stretch|font-style|font-synthesis|font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))?|font-weight|font|fr|((column|row)-)?gap|glyph-orientation-(horizontal|vertical)|grid-(area|gap)|grid-auto-(columns|flow|rows)|grid-(column|row)(-(end|gap|start))?|grid-template(-(areas|columns|rows))?|grid|height|hyphens|image-(orientation|rendering|resolution)|inset(-(block|inline))?(-(start|end))?|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-(box-contain|break|clamp|height)|list-style(-(image|position|type))?|(margin|padding)(-(bottom|left|right|top)|(-(block|inline)?(-(end|start))?))?|marker(-(end|mid|start))?|mask(-(clip||composite|image|origin|position|repeat|size|type))?|(m(?:ax|in))-(height|width)|mix-blend-mode|nbsp-mode|negative|object-(fit|position)|opacity|operator|order|orphans|outline(-(color|offset|style|width))?|overflow(-((inline|block)|scrolling|wrap|[xy]))?|overscroll-behavior(-(?:block|(inline|[xy])))?|pad(ding(-(bottom|left|right|top))?)?|page(-break-(after|before|inside))?|paint-order|pause(-(after|before))?|perspective(-origin(-([xy]))?)?|pitch(-range)?|place-content|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|scale|scroll-behavior|shape-(image-threshold|margin|outside|rendering)|size|speak(-as)?|src|stop-(color|opacity)|stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))?|suffix|symbols|system|tab-size|table-layout|tap-highlight-color|text-align(-last)?|text-decoration(-(color|line|style))?|text-emphasis(-(color|position|style))?|text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|size-adjust|shadow|transform|underline-position|wrap)|top|touch-action|transform(-origin(-([xy]))?)|transform(-style)?|transition(-(delay|duration|property|timing-function))?|translate|unicode-(bidi|range)|user-(drag|select)|vertical-align|visibility|white-space(-collapse)?|widows|width|will-change|word-(break|spacing|wrap)|writing-mode|z-index|zoom)\\b","name":"support.type.property-name.less"},{"match":"\\b(((contain-intrinsic|max|min)-)?(block|inline)?-size)\\b","name":"support.type.property-name.less"},{"include":"$self"}]},{"begin":"\\b((?:\\+_?)?:)([\\t\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"},"2":{"name":"meta.property-value.less"}},"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"contentName":"meta.property-value.less","end":"\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"include":"#property-values"}]},{"include":"$self"}]},"scroll-function":{"begin":"\\b(scroll)(\\()","beginCaptures":{"1":{"name":"support.function.scroll.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"match":"root|nearest|self","name":"support.constant.scroller.less"},{"match":"block|inline|[xy]","name":"support.constant.axis.less"},{"include":"#less-variables"},{"include":"#var-function"}]},"selector":{"patterns":[{"begin":"(?=[#\\&*+./>A-\\[a-z~]|(:{1,2}\\S)|@\\{)","contentName":"meta.selector.less","end":"(?=@(?!\\{)|[;{])","patterns":[{"include":"#comment-line"},{"include":"#selectors"},{"include":"#less-namespace-accessors"},{"include":"#less-variable-interpolation"},{"include":"#important"}]}]},"selectors":{"patterns":[{"match":"\\b([a-z](?:[-0-9_a-z·]|\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}])*-(?:[-0-9_a-z·]|\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}])*)\\b","name":"entity.name.tag.custom.less"},{"match":"\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|big|blockquote|body|br|button|canvas|caption|circle|cite|clipPath|code|col|colgroup|content|data|dataList|dd|defs|del|details|dfn|dialog|dir|div|dl|dt|element|ellipse|em|embed|eventsource|fieldset|figcaption|figure|filter|footer|foreignObject|form|frame|frameset|g|glyph|glyphRef|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|line|linearGradient|link|main|map|mark|marker|mask|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|path|pattern|picture|polygon|polyline|pre|progress|q|radialGradient|rect|rp|ruby|rtc??|s|samp|script|section|select|shadow|small|source|span|stop|strike|strong|style|sub|summary|sup|svg|switch|symbol|table|tbody|td|template|textarea|textPath|tfoot|th|thead|time|title|tr|track|tref|tspan|tt|ul??|use|var|video|wbr|xmp)\\b","name":"entity.name.tag.less"},{"begin":"(\\.)","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"(?![-\\w[^\\x00-\\x{9F}]]|\\\\(\\h{1,6} ?|\\H)|(@(?=\\{)))","name":"entity.other.attribute-name.class.less","patterns":[{"include":"#less-variable-interpolation"}]},{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"(?![-\\w[^\\x00-\\x{9F}]]|\\\\(\\h{1,6} ?|\\H)|(@(?=\\{)))","name":"entity.other.attribute-name.id.less","patterns":[{"include":"#less-variable-interpolation"}]},{"begin":"(&)","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"contentName":"entity.other.attribute-name.parent.less","end":"(?![-\\w[^\\x00-\\x{9F}]]|\\\\(\\h{1,6} ?|\\H)|(@(?=\\{)))","name":"entity.other.attribute-name.parent.less","patterns":[{"include":"#less-variable-interpolation"},{"include":"#selectors"}]},{"include":"#pseudo-selectors"},{"include":"#less-extend"},{"match":"(?!\\+_?:)(?:>{1,3}|[+~])(?![+;>}~])","name":"punctuation.separator.combinator.less"},{"match":"(>{1,3}|[+~]){2,}","name":"invalid.illegal.combinator.less"},{"match":"/deep/","name":"invalid.illegal.combinator.less"},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.less"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.braces.end.less"}},"name":"meta.attribute-selector.less","patterns":[{"include":"#less-variable-interpolation"},{"include":"#qualified-name"},{"match":"(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)","name":"entity.other.attribute-name.less"},{"begin":"\\s*([$*^|~]?=)\\s*","beginCaptures":{"1":{"name":"keyword.operator.attribute-selector.less"}},"end":"(?=([]\\s]))","patterns":[{"include":"#less-variable-interpolation"},{"match":"[^]\"'\\[\\s]","name":"string.unquoted.less"},{"include":"#literal-string"},{"captures":{"1":{"name":"keyword.other.less"}},"match":"(?:\\s+([Ii]))?"},{"match":"]","name":"punctuation.definition.entity.less"}]}]},{"include":"#arbitrary-repetition"},{"match":"\\*","name":"entity.name.tag.wildcard.less"}]},"shape-functions":{"patterns":[{"begin":"\\b(rect)(?=\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"\\bauto\\b","name":"support.constant.property-value.less"},{"include":"#length-type"},{"include":"#comma-delimiter"}]}]},{"begin":"\\b(inset)(?=\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"\\bround\\b","name":"keyword.other.less"},{"include":"#length-type"},{"include":"#percentage-type"}]}]},{"begin":"\\b(circle|ellipse)(?=\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"\\bat\\b","name":"keyword.other.less"},{"match":"\\b(top|right|bottom|left|center|closest-side|farthest-side)\\b","name":"support.constant.property-value.less"},{"include":"#length-type"},{"include":"#percentage-type"}]}]},{"begin":"\\b(polygon)(?=\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"\\b(nonzero|evenodd)\\b","name":"support.constant.property-value.less"},{"include":"#length-type"},{"include":"#percentage-type"}]}]}]},"steps-function":{"begin":"\\b(steps)(\\()","beginCaptures":{"1":{"name":"support.function.timing.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"contentName":"meta.group.less","end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"match":"jump-start|jump-end|jump-none|jump-both|start|end","name":"support.constant.step-position.less"},{"include":"#comma-delimiter"},{"include":"#integer-type"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"}]},"string-content":{"patterns":[{"include":"#less-variable-interpolation"},{"match":"\\\\\\s*\\n","name":"constant.character.escape.newline.less"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.less"}]},"style-function":{"begin":"\\b(style)(?=\\()","beginCaptures":{"0":{"name":"support.function.style.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#rule-list-body"}]}]},"symbols-function":{"begin":"\\b(symbols)(?=\\()","beginCaptures":{"1":{"name":"support.function.counter.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"\\b(cyclic|numeric|alphabetic|symbolic|fixed)\\b","name":"support.constant.symbol-type.less"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#image-type"}]}]},"time-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"(?i:[-+]?(?:\\d*\\.\\d+(?:[Ee][-+]?\\d+)*|[-+]?\\d+)(m??s))\\b","name":"constant.numeric.less"},"transform-functions":{"patterns":[{"begin":"\\b((?:matrix|scale)(?:3d|))(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#var-function"}]}]},{"begin":"\\b(translate(3d)?)(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#var-function"}]}]},{"begin":"\\b(translate[XY])(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#var-function"}]}]},{"begin":"\\b(rotate[XYZ]?|skew[XY])(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#angle-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\b(skew)(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#angle-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\b(translateZ|perspective)(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#length-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\b(rotate3d)(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#angle-type"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\b(scale[XYZ])(?=\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]}]},"unicode-range":{"captures":{"1":{"name":"support.constant.unicode-range.prefix.less"},"2":{"name":"constant.codepoint-range.less"},"3":{"name":"punctuation.section.range.less"}},"match":"(?i)(u\\+)([0-9?a-f]{1,6}(?:(-)[0-9a-f]{1,6})?)","name":"support.unicode-range.less"},"unquoted-string":{"match":"[^\"'\\s]","name":"string.unquoted.less"},"url-function":{"begin":"\\b(url)(?=\\()","beginCaptures":{"1":{"name":"support.function.url.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#less-variables"},{"include":"#literal-string"},{"include":"#unquoted-string"},{"include":"#var-function"}]}]},"value-separator":{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"\\s*(/)\\s*"},"var-function":{"begin":"\\b(var)(?=\\()","beginCaptures":{"1":{"name":"support.function.var.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#custom-property-name"},{"include":"#less-variables"},{"include":"#property-values"}]}]},"view-function":{"begin":"\\b(view)(?=\\()","beginCaptures":{"1":{"name":"support.function.view.less"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\))","patterns":[{"match":"block|inline|[xy]|auto","name":"support.constant.property-value.less"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#arbitrary-repetition"}]}]}},"scopeName":"source.css.less"},{"displayName":"SCSS","name":"scss","patterns":[{"include":"#variable_setting"},{"include":"#at_rule_forward"},{"include":"#at_rule_use"},{"include":"#at_rule_include"},{"include":"#at_rule_import"},{"include":"#general"},{"include":"#flow_control"},{"include":"#rules"},{"include":"#property_list"},{"include":"#at_rule_mixin"},{"include":"#at_rule_media"},{"include":"#at_rule_function"},{"include":"#at_rule_charset"},{"include":"#at_rule_option"},{"include":"#at_rule_namespace"},{"include":"#at_rule_fontface"},{"include":"#at_rule_page"},{"include":"#at_rule_keyframes"},{"include":"#at_rule_at_root"},{"include":"#at_rule_supports"},{"match":";","name":"punctuation.terminator.rule.css"}],"repository":{"at_rule_at_root":{"begin":"\\s*((@)(at-root))(\\s+|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.at-root.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.at-root.scss","patterns":[{"include":"#function_attributes"},{"include":"#functions"},{"include":"#selectors"}]},"at_rule_charset":{"begin":"\\s*((@)charset)\\b\\s*","captures":{"1":{"name":"keyword.control.at-rule.charset.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*((?=;|$))","name":"meta.at-rule.charset.scss","patterns":[{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"}]},"at_rule_content":{"begin":"\\s*((@)content)\\b\\s*","captures":{"1":{"name":"keyword.control.content.scss"}},"end":"\\s*((?=;))","name":"meta.content.scss","patterns":[{"include":"#variable"},{"include":"#selectors"},{"include":"#property_values"}]},"at_rule_each":{"begin":"\\s*((@)each)\\b\\s*","captures":{"1":{"name":"keyword.control.each.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*((?=}))","name":"meta.at-rule.each.scss","patterns":[{"match":"\\b(in|,)\\b","name":"keyword.control.operator"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}]},"at_rule_else":{"begin":"\\s*((@)else(\\s*(if)?))\\s*","captures":{"1":{"name":"keyword.control.else.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.else.scss","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"}]},"at_rule_extend":{"begin":"\\s*((@)extend)\\b\\s*","captures":{"1":{"name":"keyword.control.at-rule.extend.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=;)","name":"meta.at-rule.extend.scss","patterns":[{"include":"#variable"},{"include":"#selectors"},{"include":"#property_values"}]},"at_rule_fontface":{"patterns":[{"begin":"^\\s*((@)font-face)\\b","beginCaptures":{"1":{"name":"keyword.control.at-rule.fontface.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.fontface.scss","patterns":[{"include":"#function_attributes"}]}]},"at_rule_for":{"begin":"\\s*((@)for)\\b\\s*","captures":{"1":{"name":"keyword.control.for.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.for.scss","patterns":[{"match":"(==|!=|<=|>=|[<>]|from|to|through)","name":"keyword.control.operator"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}]},"at_rule_forward":{"begin":"\\s*((@)forward)\\b\\s*","captures":{"1":{"name":"keyword.control.at-rule.forward.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=;)","name":"meta.at-rule.forward.scss","patterns":[{"match":"\\b(as|hide|show)\\b","name":"keyword.control.operator"},{"captures":{"1":{"name":"entity.other.attribute-name.module.scss"},"2":{"name":"punctuation.definition.wildcard.scss"}},"match":"\\b([-\\w]+)(\\*)"},{"match":"\\b[-\\w]+\\b","name":"entity.name.function.scss"},{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#comment_line"},{"include":"#comment_block"}]},"at_rule_function":{"patterns":[{"begin":"\\s*((@)function)\\b\\s*","captures":{"1":{"name":"keyword.control.at-rule.function.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.function.scss","patterns":[{"include":"#function_attributes"}]},{"captures":{"1":{"name":"keyword.control.at-rule.function.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}},"match":"\\s*((@)function)\\b\\s*","name":"meta.at-rule.function.scss"}]},"at_rule_if":{"begin":"\\s*((@)if)\\b\\s*","captures":{"1":{"name":"keyword.control.if.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.if.scss","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"}]},"at_rule_import":{"begin":"\\s*((@)import)\\b\\s*","captures":{"1":{"name":"keyword.control.at-rule.import.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*((?=;)|(?=}))","name":"meta.at-rule.import.scss","patterns":[{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#functions"},{"include":"#comment_line"}]},"at_rule_include":{"patterns":[{"begin":"(?<=@include)\\s+(?:([-\\w]+)\\s*(\\.))?([-\\w]+)\\s*(\\()","beginCaptures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"entity.name.function.scss"},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}},"name":"meta.at-rule.include.scss","patterns":[{"include":"#function_attributes"}]},{"captures":{"0":{"name":"meta.at-rule.include.scss"},"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"entity.name.function.scss"}},"match":"(?<=@include)\\s+(?:([-\\w]+)\\s*(\\.))?([-\\w]+)"},{"captures":{"0":{"name":"meta.at-rule.include.scss"},"1":{"name":"keyword.control.at-rule.include.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"((@)include)\\b"}]},"at_rule_keyframes":{"begin":"(?<=^|\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\b","beginCaptures":{"0":{"name":"keyword.control.at-rule.keyframes.scss"},"1":{"name":"punctuation.definition.keyword.scss"}},"end":"(?<=})","name":"meta.at-rule.keyframes.scss","patterns":[{"captures":{"1":{"name":"entity.name.function.scss"}},"match":"(?<=@keyframes)\\s+((?:[A-Z_a-z][-\\w]|-[A-Z_a-z])[-\\w]*)"},{"begin":"(?<=@keyframes)\\s+(\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"contentName":"entity.name.function.scss","end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.double.scss","patterns":[{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},{"begin":"(?<=@keyframes)\\s+(')","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"contentName":"entity.name.function.scss","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.single.scss","patterns":[{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.keyframes.begin.scss"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.keyframes.end.scss"}},"patterns":[{"match":"\\b(?:(?:100|[1-9]\\d|\\d)%|from|to)(?=\\s*\\{)","name":"entity.other.attribute-name.scss"},{"include":"#flow_control"},{"include":"#interpolation"},{"include":"#property_list"},{"include":"#rules"}]}]},"at_rule_media":{"patterns":[{"begin":"^\\s*((@)media)\\b","beginCaptures":{"1":{"name":"keyword.control.at-rule.media.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.media.scss","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"match":"\\b(only)\\b","name":"keyword.control.operator.css.scss"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.media-query.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.media-query.end.bracket.round.scss"}},"name":"meta.property-list.media-query.scss","patterns":[{"begin":"(?<![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","name":"meta.property-name.media-query.scss","patterns":[{"include":"source.css#media-features"},{"include":"source.css#property-names"}]},{"begin":"(:)\\s*(?!(\\s*\\{))","beginCaptures":{"1":{"name":"punctuation.separator.key-value.scss"}},"contentName":"meta.property-value.media-query.scss","end":"\\s*(;|(?=[)}]))","endCaptures":{"1":{"name":"punctuation.terminator.rule.scss"}},"patterns":[{"include":"#general"},{"include":"#property_values"}]}]},{"include":"#variable"},{"include":"#conditional_operators"},{"include":"source.css#media-types"}]}]},"at_rule_mixin":{"patterns":[{"begin":"(?<=@mixin)\\s+([-\\w]+)\\s*(\\()","beginCaptures":{"1":{"name":"entity.name.function.scss"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}},"name":"meta.at-rule.mixin.scss","patterns":[{"include":"#function_attributes"}]},{"captures":{"1":{"name":"entity.name.function.scss"}},"match":"(?<=@mixin)\\s+([-\\w]+)","name":"meta.at-rule.mixin.scss"},{"captures":{"1":{"name":"keyword.control.at-rule.mixin.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"((@)mixin)\\b","name":"meta.at-rule.mixin.scss"}]},"at_rule_namespace":{"patterns":[{"begin":"(?<=@namespace)\\s+(?=url)","end":"(?=;|$)","name":"meta.at-rule.namespace.scss","patterns":[{"include":"#property_values"},{"include":"#string_single"},{"include":"#string_double"}]},{"begin":"(?<=@namespace)\\s+([-\\w]*)","captures":{"1":{"name":"entity.name.namespace-prefix.scss"}},"end":"(?=;|$)","name":"meta.at-rule.namespace.scss","patterns":[{"include":"#variables"},{"include":"#property_values"},{"include":"#string_single"},{"include":"#string_double"}]},{"captures":{"1":{"name":"keyword.control.at-rule.namespace.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"((@)namespace)\\b","name":"meta.at-rule.namespace.scss"}]},"at_rule_option":{"captures":{"1":{"name":"keyword.control.at-rule.charset.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"^\\s*((@)option)\\b\\s*","name":"meta.at-rule.option.scss"},"at_rule_page":{"patterns":[{"begin":"^\\s*((@)page)(?=[:\\s])\\s*([-:\\w]*)","captures":{"1":{"name":"keyword.control.at-rule.page.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}},"end":"\\s*(?=\\{)","name":"meta.at-rule.page.scss"}]},"at_rule_return":{"begin":"\\s*((@)(return))\\b","captures":{"1":{"name":"keyword.control.return.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*((?=;))","name":"meta.at-rule.return.scss","patterns":[{"include":"#variable"},{"include":"#property_values"}]},"at_rule_supports":{"begin":"(?<=^|\\s)(@)supports\\b","captures":{"0":{"name":"keyword.control.at-rule.supports.scss"},"1":{"name":"punctuation.definition.keyword.scss"}},"end":"(?=\\{)|$","name":"meta.at-rule.supports.scss","patterns":[{"include":"#logical_operators"},{"include":"#properties"},{"match":"\\(","name":"punctuation.definition.condition.begin.bracket.round.scss"},{"match":"\\)","name":"punctuation.definition.condition.end.bracket.round.scss"}]},"at_rule_use":{"begin":"\\s*((@)use)\\b\\s*","captures":{"1":{"name":"keyword.control.at-rule.use.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=;)","name":"meta.at-rule.use.scss","patterns":[{"match":"\\b(as|with)\\b","name":"keyword.control.operator"},{"match":"\\b[-\\w]+\\b","name":"variable.scss"},{"match":"\\*","name":"variable.language.expanded-namespace.scss"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#comment_line"},{"include":"#comment_block"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}},"patterns":[{"include":"#function_attributes"}]}]},"at_rule_warn":{"begin":"\\s*((@)(warn|debug|error))\\b\\s*","captures":{"1":{"name":"keyword.control.warn.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=;)","name":"meta.at-rule.warn.scss","patterns":[{"include":"#variable"},{"include":"#string_double"},{"include":"#string_single"}]},"at_rule_while":{"begin":"\\s*((@)while)\\b\\s*","captures":{"1":{"name":"keyword.control.while.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\s*(?=})","name":"meta.at-rule.while.scss","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}]},"comment_block":{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"name":"comment.block.scss"},"comment_docblock":{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"end":"(?=$)","name":"comment.block.documentation.scss","patterns":[{"include":"source.sassdoc"}]},"comment_line":{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"end":"\\n","name":"comment.line.scss"},"comparison_operators":{"match":"==|!=|<=|>=|[<>]","name":"keyword.operator.comparison.scss"},"conditional_operators":{"patterns":[{"include":"#comparison_operators"},{"include":"#logical_operators"}]},"constant_default":{"match":"!default","name":"keyword.other.default.scss"},"constant_functions":{"begin":"(?:([-\\w]+)(\\.))?([-\\w]+)(\\()","beginCaptures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"support.function.misc.scss"},"4":{"name":"punctuation.section.function.scss"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.function.scss"}},"patterns":[{"include":"#parameters"}]},"constant_important":{"match":"!important","name":"keyword.other.important.scss"},"constant_mathematical_symbols":{"match":"\\b([-*+/])\\b","name":"support.constant.mathematical-symbols.scss"},"constant_optional":{"match":"!optional","name":"keyword.other.optional.scss"},"constant_sass_functions":{"begin":"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:|svg-)gradient|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate[XY])(\\()","beginCaptures":{"1":{"name":"support.function.misc.scss"},"2":{"name":"punctuation.section.function.scss"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.function.scss"}},"patterns":[{"include":"#parameters"}]},"flow_control":{"patterns":[{"include":"#at_rule_if"},{"include":"#at_rule_else"},{"include":"#at_rule_warn"},{"include":"#at_rule_for"},{"include":"#at_rule_while"},{"include":"#at_rule_each"},{"include":"#at_rule_return"}]},"function_attributes":{"patterns":[{"match":":","name":"punctuation.separator.key-value.scss"},{"include":"#general"},{"include":"#property_values"},{"match":"[;=?@{}]","name":"invalid.illegal.scss"}]},"functions":{"patterns":[{"begin":"([-\\w]+)(\\()\\s*","beginCaptures":{"1":{"name":"support.function.misc.scss"},"2":{"name":"punctuation.section.function.scss"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.function.scss"}},"patterns":[{"include":"#parameters"}]},{"match":"([-\\w]+)","name":"support.function.misc.scss"}]},"general":{"patterns":[{"include":"#variable"},{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"}]},"interpolation":{"begin":"#\\{","beginCaptures":{"0":{"name":"punctuation.definition.interpolation.begin.bracket.curly.scss"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.bracket.curly.scss"}},"name":"variable.interpolation.scss","patterns":[{"include":"#variable"},{"include":"#property_values"}]},"logical_operators":{"match":"\\b(not|or|and)\\b","name":"keyword.operator.logical.scss"},"map":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.map.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.map.end.bracket.round.scss"}},"name":"meta.definition.variable.map.scss","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"captures":{"1":{"name":"support.type.map.key.scss"},"2":{"name":"punctuation.separator.key-value.scss"}},"match":"\\b([-\\w]+)\\s*(:)"},{"match":",","name":"punctuation.separator.delimiter.scss"},{"include":"#map"},{"include":"#variable"},{"include":"#property_values"}]},"operators":{"match":"[-*+/](?!\\s*[-*+/])","name":"keyword.operator.css"},"parameters":{"patterns":[{"include":"#variable"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.scss"}},"patterns":[{"include":"#function_attributes"}]},{"include":"#property_values"},{"include":"#comment_block"},{"match":"[^\\t \"'),]+","name":"variable.parameter.url.scss"},{"match":",","name":"punctuation.separator.delimiter.scss"}]},"parent_selector_suffix":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.identifier.scss"}]}},"match":"(?<=&)((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)|#\\{|[$}])+)(?=$|[#)+,.:>\\[{|~\\s]|/\\*)","name":"entity.other.attribute-name.parent-selector-suffix.css"},"properties":{"patterns":[{"begin":"(?<![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","name":"meta.property-name.scss","patterns":[{"include":"source.css#property-names"},{"include":"#at_rule_include"}]},{"begin":"(:)\\s*(?!(\\s*\\{))","beginCaptures":{"1":{"name":"punctuation.separator.key-value.scss"}},"contentName":"meta.property-value.scss","end":"\\s*(;|(?=[)}]))","endCaptures":{"1":{"name":"punctuation.terminator.rule.scss"}},"patterns":[{"include":"#general"},{"include":"#property_values"}]}]},"property_list":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.scss"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.scss"}},"name":"meta.property-list.scss","patterns":[{"include":"#flow_control"},{"include":"#rules"},{"include":"#properties"},{"include":"$self"}]},"property_values":{"patterns":[{"include":"#string_single"},{"include":"#string_double"},{"include":"#constant_functions"},{"include":"#constant_sass_functions"},{"include":"#constant_important"},{"include":"#constant_default"},{"include":"#constant_optional"},{"include":"source.css#numeric-values"},{"include":"source.css#property-keywords"},{"include":"source.css#color-keywords"},{"include":"source.css#property-names"},{"include":"#constant_mathematical_symbols"},{"include":"#operators"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.scss"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.scss"}},"patterns":[{"include":"#general"},{"include":"#property_values"}]}]},"rules":{"patterns":[{"include":"#general"},{"include":"#at_rule_extend"},{"include":"#at_rule_content"},{"include":"#at_rule_include"},{"include":"#at_rule_media"},{"include":"#selectors"}]},"selector_attribute":{"captures":{"1":{"name":"punctuation.definition.attribute-selector.begin.bracket.square.scss"},"2":{"name":"entity.other.attribute-name.attribute.scss","patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"3":{"name":"keyword.operator.scss"},"4":{"name":"string.unquoted.attribute-value.scss","patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"5":{"name":"string.quoted.double.attribute-value.scss"},"6":{"name":"punctuation.definition.string.begin.scss"},"7":{"patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"8":{"name":"punctuation.definition.string.end.scss"},"9":{"name":"string.quoted.single.attribute-value.scss"},"10":{"name":"punctuation.definition.string.begin.scss"},"11":{"patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"12":{"name":"punctuation.definition.string.end.scss"},"13":{"name":"punctuation.definition.attribute-selector.end.bracket.square.scss"}},"match":"(?i)(\\[)\\s*((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)|#\\{|\\.?\\$|})+?)(?:\\s*([$*^|~]?=)\\s*(?:((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)|#\\{|\\.?\\$|})+)|((\")(.*?)(\"))|((')(.*?)('))))?\\s*(])","name":"meta.attribute-selector.scss"},"selector_class":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]}},"match":"(\\.)((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)|#\\{|\\.?\\$|})+)(?=$|[#)+,:>\\[{|~\\s]|\\.[^$]|/\\*|;)","name":"entity.other.attribute-name.class.css"},"selector_custom":{"match":"\\b([0-9A-Za-z]+(-[0-9A-Za-z]+)+)(?=\\.|\\s++[^:]|\\s*[,\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-((?:|last-)(?:child|of-type))|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\([0-9A-Za-z]*\\))?)","name":"entity.name.tag.custom.scss"},"selector_id":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.identifier.scss"}]}},"match":"(#)((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)|#\\{|\\.?\\$|})+)(?=$|[#)+,:>\\[{|~\\s]|\\.[^$]|/\\*)","name":"entity.other.attribute-name.id.css"},"selector_placeholder":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.identifier.scss"}]}},"match":"(%)((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)|#\\{|\\.\\$|[$}])+)(?=;|$|[#)+,:>\\[{|~\\s]|\\.[^$]|/\\*)","name":"entity.other.attribute-name.placeholder.css"},"selector_pseudo_class":{"patterns":[{"begin":"((:)\\bnth-(?:|last-)(?:child|of-type))(\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.definition.pseudo-class.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.pseudo-class.end.bracket.round.css"}},"patterns":[{"include":"#interpolation"},{"match":"\\d+","name":"constant.numeric.css"},{"match":"(?:(?<=\\d)n|\\b(n|even|odd))\\b","name":"constant.other.scss"},{"match":"\\w+","name":"invalid.illegal.scss"}]},{"include":"source.css#pseudo-classes"},{"include":"source.css#pseudo-elements"},{"include":"source.css#functional-pseudo-classes"}]},"selectors":{"patterns":[{"include":"source.css#tag-names"},{"include":"#selector_custom"},{"include":"#selector_class"},{"include":"#selector_id"},{"include":"#selector_pseudo_class"},{"include":"#tag_wildcard"},{"include":"#tag_parent_reference"},{"include":"source.css#pseudo-elements"},{"include":"#selector_attribute"},{"include":"#selector_placeholder"},{"include":"#parent_selector_suffix"}]},"string_double":{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scss"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.double.scss","patterns":[{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},"string_single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scss"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.single.scss","patterns":[{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},"tag_parent_reference":{"match":"&","name":"entity.name.tag.reference.scss"},"tag_wildcard":{"match":"\\*","name":"entity.name.tag.wildcard.scss"},"variable":{"patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"variable_setting":{"begin":"(?=\\$[-\\w]+\\s*:)","contentName":"meta.definition.variable.scss","end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.scss"}},"patterns":[{"match":"\\$[-\\w]+(?=\\s*:)","name":"variable.scss"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.scss"}},"end":"(?=;)","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"include":"#map"},{"include":"#property_values"},{"include":"#variable"},{"match":",","name":"punctuation.separator.delimiter.scss"}]}]},"variables":{"patterns":[{"captures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"variable.scss"}},"match":"\\b([-\\w]+)(\\.)(\\$[-\\w]+)\\b"},{"match":"(\\$|--)[-0-9A-Z_a-z]+\\b","name":"variable.scss"}]}},"scopeName":"source.css.scss"},{"displayName":"CSS","name":"css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#combinators"},{"include":"#selector"},{"include":"#at-rules"},{"include":"#rule-list"}],"repository":{"at-rules":{"patterns":[{"begin":"\\A\\uFEFF?(?i:(?=\\s*@charset\\b))","end":";|(?=$)","endCaptures":{"0":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.charset.css","patterns":[{"captures":{"1":{"name":"invalid.illegal.not-lowercase.charset.css"},"2":{"name":"invalid.illegal.leading-whitespace.charset.css"},"3":{"name":"invalid.illegal.no-whitespace.charset.css"},"4":{"name":"invalid.illegal.whitespace.charset.css"},"5":{"name":"invalid.illegal.not-double-quoted.charset.css"},"6":{"name":"invalid.illegal.unclosed-string.charset.css"},"7":{"name":"invalid.illegal.unexpected-characters.charset.css"}},"match":"\\G((?!@charset)@\\w+)|\\G(\\s+)|(@charset\\S[^;]*)|(?<=@charset)( {2,}|\\t+)|(?<=@charset )([^\";]+)|(\"[^\"]+)$|(?<=\")([^;]+)"},{"captures":{"1":{"name":"keyword.control.at-rule.charset.css"},"2":{"name":"punctuation.definition.keyword.css"}},"match":"((@)charset)(?=\\s)"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"\"|$","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.double.css","patterns":[{"begin":"(?:\\G|^)(?=[^\"]+$)","end":"$","name":"invalid.illegal.unclosed.string.css"}]}]},{"begin":"(?i)((@)import)(?:\\s+|$|(?=[\"']|/\\*))","beginCaptures":{"1":{"name":"keyword.control.at-rule.import.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.import.css","patterns":[{"begin":"\\G\\s*(?=/\\*)","end":"(?<=\\*/)\\s*","patterns":[{"include":"#comment-block"}]},{"include":"#string"},{"include":"#url"},{"include":"#media-query-list"}]},{"begin":"(?i)((@)font-face)(?=\\s*|\\{|/\\*|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.font-face.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":"(?!\\G)","name":"meta.at-rule.font-face.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#rule-list"}]},{"begin":"(?i)(@)page(?=[:{\\s]|/\\*|$)","captures":{"0":{"name":"keyword.control.at-rule.page.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*($|[:;{]))","name":"meta.at-rule.page.css","patterns":[{"include":"#rule-list"}]},{"begin":"(?i)(?=@media([(\\s]|/\\*|$))","end":"(?<=})(?!\\G)","patterns":[{"begin":"(?i)\\G(@)media","beginCaptures":{"0":{"name":"keyword.control.at-rule.media.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*[;{])","name":"meta.at-rule.media.header.css","patterns":[{"include":"#media-query-list"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.media.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.media.end.bracket.curly.css"}},"name":"meta.at-rule.media.body.css","patterns":[{"include":"$self"}]}]},{"begin":"(?i)(?=@counter-style([\"';{\\s]|/\\*|$))","end":"(?<=})(?!\\G)","patterns":[{"begin":"(?i)\\G(@)counter-style","beginCaptures":{"0":{"name":"keyword.control.at-rule.counter-style.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*\\{)","name":"meta.at-rule.counter-style.header.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"captures":{"0":{"patterns":[{"include":"#escapes"}]}},"match":"[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.parameter.style-name.css"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.css"}},"name":"meta.at-rule.counter-style.body.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#rule-list-innards"}]}]},{"begin":"(?i)(?=@document([\"';{\\s]|/\\*|$))","end":"(?<=})(?!\\G)","patterns":[{"begin":"(?i)\\G(@)document","beginCaptures":{"0":{"name":"keyword.control.at-rule.document.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*[;{])","name":"meta.at-rule.document.header.css","patterns":[{"begin":"(?i)(?<![-\\w])(url-prefix|domain|regexp)(\\()","beginCaptures":{"1":{"name":"support.function.document-rule.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.document-rule.css","patterns":[{"include":"#string"},{"include":"#comment-block"},{"include":"#escapes"},{"match":"[^\"')\\s]+","name":"variable.parameter.document-rule.css"}]},{"include":"#url"},{"include":"#commas"},{"include":"#comment-block"},{"include":"#escapes"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.document.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.document.end.bracket.curly.css"}},"name":"meta.at-rule.document.body.css","patterns":[{"include":"$self"}]}]},{"begin":"(?i)(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\"';{\\s]|/\\*|$))","end":"(?<=})(?!\\G)","patterns":[{"begin":"(?i)\\G(@)(?:-(?:webkit|moz|o|ms)-)?keyframes","beginCaptures":{"0":{"name":"keyword.control.at-rule.keyframes.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*\\{)","name":"meta.at-rule.keyframes.header.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"captures":{"0":{"patterns":[{"include":"#escapes"}]}},"match":"[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.parameter.keyframe-list.css"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.keyframes.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.keyframes.end.bracket.curly.css"}},"name":"meta.at-rule.keyframes.body.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"captures":{"1":{"name":"entity.other.keyframe-offset.css"},"2":{"name":"entity.other.keyframe-offset.percentage.css"}},"match":"(?i)(?<![-\\w])(from|to)(?![-\\w])|([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%)"},{"include":"#rule-list"}]}]},{"begin":"(?i)(?=@supports([(\\s]|/\\*|$))","end":"(?<=})(?!\\G)|(?=;)","patterns":[{"begin":"(?i)\\G(@)supports","beginCaptures":{"0":{"name":"keyword.control.at-rule.supports.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*[;{])","name":"meta.at-rule.supports.header.css","patterns":[{"include":"#feature-query-operators"},{"include":"#feature-query"},{"include":"#comment-block"},{"include":"#escapes"}]},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.supports.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.supports.end.bracket.curly.css"}},"name":"meta.at-rule.supports.body.css","patterns":[{"include":"$self"}]}]},{"begin":"(?i)((@)(-(ms|o)-)?viewport)(?=[\"';{\\s]|/\\*|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.viewport.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*[;@{])","name":"meta.at-rule.viewport.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"}]},{"begin":"(?i)((@)font-feature-values)(?=[\"';{\\s]|/\\*|$)\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.font-feature-values.css"},"2":{"name":"punctuation.definition.keyword.css"}},"contentName":"variable.parameter.font-name.css","end":"(?=\\s*[;@{])","name":"meta.at-rule.font-features.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"}]},{"include":"#font-features"},{"begin":"(?i)((@)namespace)(?=[\"';\\s]|/\\*|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.namespace.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":";|(?=[@{])","endCaptures":{"0":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.namespace.css","patterns":[{"include":"#url"},{"captures":{"1":{"patterns":[{"include":"#comment-block"}]},"2":{"name":"entity.name.function.namespace-prefix.css","patterns":[{"include":"#escapes"}]}},"match":"(?i)(?:\\G|^|(?<=\\s))(?=(?<=\\s|^)[-A-Z_a-z[^\\x00-\\x7F]]|\\s*/\\*(?:[^*]|\\*[^/])*\\*/)(.*?)([-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*)"},{"include":"#comment-block"},{"include":"#escapes"},{"include":"#string"}]},{"begin":"(?i)(?=@[-\\w]+[^;]+;s*$)","end":"(?<=;)(?!\\G)","patterns":[{"begin":"(?i)\\G(@)[-\\w]+","beginCaptures":{"0":{"name":"keyword.control.at-rule.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.header.css"}]},{"begin":"(?i)(?=@[-\\w]+([({\\s]|/\\*|$))","end":"(?<=})(?!\\G)","patterns":[{"begin":"(?i)\\G(@)[-\\w]+","beginCaptures":{"0":{"name":"keyword.control.at-rule.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\s*[;{])","name":"meta.at-rule.header.css"},{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.end.bracket.curly.css"}},"name":"meta.at-rule.body.css","patterns":[{"include":"$self"}]}]}]},"color-keywords":{"patterns":[{"match":"(?i)(?<![-\\w])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![-\\w])","name":"support.constant.color.w3c-standard-color-name.css"},{"match":"(?i)(?<![-\\w])(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|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![-\\w])","name":"support.constant.color.w3c-extended-color-name.css"},{"match":"(?i)(?<![-\\w])currentColor(?![-\\w])","name":"support.constant.color.current.css"},{"match":"(?i)(?<![-\\w])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![-\\w])","name":"invalid.deprecated.color.system.css"}]},"combinators":{"patterns":[{"match":"/deep/|>>>","name":"invalid.deprecated.combinator.css"},{"match":">>|[+>~]","name":"keyword.operator.combinator.css"}]},"commas":{"match":",","name":"punctuation.separator.list.comma.css"},"comment-block":{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.css"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.css"}},"name":"comment.block.css"},"escapes":{"patterns":[{"match":"\\\\\\h{1,6}","name":"constant.character.escape.codepoint.css"},{"begin":"\\\\$\\s*","end":"^(?<!\\G)","name":"constant.character.escape.newline.css"},{"match":"\\\\.","name":"constant.character.escape.css"}]},"feature-query":{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.condition.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.condition.end.bracket.round.css"}},"name":"meta.feature-query.css","patterns":[{"include":"#feature-query-operators"},{"include":"#feature-query"}]},"feature-query-operators":{"patterns":[{"match":"(?i)(?<=[()\\s]|^|\\*/)(and|not|or)(?=[()\\s]|/\\*|$)","name":"keyword.operator.logical.feature.$1.css"},{"include":"#rule-list-innards"}]},"font-features":{"begin":"(?i)((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\"';@{\\s]|/\\*|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.${3:/downcase}.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":"(?<=})","name":"meta.at-rule.${3:/downcase}.css","patterns":[{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.css"}},"name":"meta.property-list.font-feature.css","patterns":[{"captures":{"0":{"patterns":[{"include":"#escapes"}]}},"match":"[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.font-feature.css"},{"include":"#rule-list-innards"}]}]},"functional-pseudo-classes":{"patterns":[{"begin":"(?i)((:)dir)(\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"match":"(?i)(?<![-\\w])(ltr|rtl)(?![-\\w])","name":"support.constant.text-direction.css"},{"include":"#property-values"}]},{"begin":"(?i)((:)lang)(\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"patterns":[{"match":"(?<=[(,\\s])[A-Za-z]+(-[0-9A-Za-z]*|\\\\(?:\\h{1,6}|.))*(?=[),\\s])","name":"support.constant.language-range.css"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.double.css","patterns":[{"include":"#escapes"},{"match":"(?<=[\"\\s])[*A-Za-z]+(-[*0-9A-Za-z]*)*(?=[\"\\s])","name":"support.constant.language-range.css"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.single.css","patterns":[{"include":"#escapes"},{"match":"(?<=['\\s])[*A-Za-z]+(-[*0-9A-Za-z]*)*(?=['\\s])","name":"support.constant.language-range.css"}]},{"include":"#commas"}]},{"begin":"(?i)((:)(?:not|has|matches|where|is))(\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"patterns":[{"include":"#selector-innards"}]},{"begin":"(?i)((:)nth-(?:last-)?(?:child|of-type))(\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"patterns":[{"match":"(?i)[-+]?(\\d+n?|n)(\\s*[-+]\\s*\\d+)?","name":"constant.numeric.css"},{"match":"(?i)even|odd","name":"support.constant.parity.css"}]}]},"functions":{"patterns":[{"begin":"(?i)(?<![-\\w])(calc)(\\()","beginCaptures":{"1":{"name":"support.function.calc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.calc.css","patterns":[{"match":"[*/]|(?<=\\s|^)[-+](?=\\s|$)","name":"keyword.operator.arithmetic.css"},{"include":"#property-values"}]},{"begin":"(?i)(?<![-\\w])(rgba?|hsla?|hwb|lab|oklab|lch|oklch|color)(\\()","beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.color.css","patterns":[{"include":"#property-values"}]},{"begin":"(?i)(?<![-\\w])((?:-(?:webkit-|moz-|o-))?(?:repeating-)?(?:linear|radial|conic)-gradient)(\\()","beginCaptures":{"1":{"name":"support.function.gradient.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.gradient.css","patterns":[{"match":"(?i)(?<![-\\w])(from|to|at|in|hue)(?![-\\w])","name":"keyword.operator.gradient.css"},{"include":"#property-values"}]},{"begin":"(?i)(?<![-\\w])(-webkit-gradient)(\\()","beginCaptures":{"1":{"name":"invalid.deprecated.gradient.function.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.gradient.invalid.deprecated.gradient.css","patterns":[{"begin":"(?i)(?<![-\\w])(from|to|color-stop)(\\()","beginCaptures":{"1":{"name":"invalid.deprecated.function.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"patterns":[{"include":"#property-values"}]},{"include":"#property-values"}]},{"begin":"(?i)(?<![-\\w])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan2??|hypot|sqrt|pow|log|exp|abs|sign)(\\()","beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.misc.css","patterns":[{"match":"(?i)(?<=[\",\\s]|\\*/|^)\\d+x(?=[\"'),\\s]|/\\*|$)","name":"constant.numeric.other.density.css"},{"include":"#property-values"},{"match":"[^\"'),\\s]+","name":"variable.parameter.misc.css"}]},{"begin":"(?i)(?<![-\\w])(circle|ellipse|inset|polygon|rect)(\\()","beginCaptures":{"1":{"name":"support.function.shape.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.shape.css","patterns":[{"match":"(?i)(?<=\\s|^|\\*/)(at|round)(?=\\s|/\\*|$)","name":"keyword.operator.shape.css"},{"include":"#property-values"}]},{"begin":"(?i)(?<![-\\w])(cubic-bezier|steps)(\\()","beginCaptures":{"1":{"name":"support.function.timing-function.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.timing-function.css","patterns":[{"match":"(?i)(?<![-\\w])(start|end)(?=\\s*\\)|$)","name":"support.constant.step-direction.css"},{"include":"#property-values"}]},{"begin":"(?i)(?<![-\\w])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\\()","beginCaptures":{"1":{"name":"support.function.transform.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"patterns":[{"include":"#property-values"}]},{"include":"#url"},{"begin":"(?i)(?<![-\\w])(var)(\\()","beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.variable.css","patterns":[{"match":"--[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.argument.css"},{"include":"#property-values"}]}]},"media-feature-keywords":{"match":"(?i)(?<=^|[:\\s]|\\*/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=[)\\s]|$)","name":"support.constant.property-value.css"},"media-features":{"captures":{"1":{"name":"support.type.property-name.media.css"},"2":{"name":"support.type.property-name.media.css"},"3":{"name":"support.type.vendored.property-name.media.css"}},"match":"(?i)(?<=^|[(\\s]|\\*/)(?:((?:m(?:in-|ax-))?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:m(?:in-|ax-))?device-(?:height|width|aspect-ratio))|((?:[-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[-\\w]+(?=\\s*(?:/\\*(?:[^*]|\\*[^/])*\\*/)?\\s*[):])))(?=\\s|$|[):<=>]|/\\*)"},"media-query":{"begin":"\\G","end":"(?=\\s*[;{])","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#media-types"},{"match":"(?i)(?<=\\s|^|,|\\*/)(only|not)(?=[{\\s]|/\\*|$)","name":"keyword.operator.logical.$1.media.css"},{"match":"(?i)(?<=\\s|^|\\*/|\\))and(?=\\s|/\\*|$)","name":"keyword.operator.logical.and.media.css"},{"match":",(?:(?:\\s*,)+|(?=\\s*[);{]))","name":"invalid.illegal.comma.css"},{"include":"#commas"},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.css"}},"patterns":[{"include":"#media-features"},{"include":"#media-feature-keywords"},{"match":":","name":"punctuation.separator.key-value.css"},{"match":">=|<=|[<=>]","name":"keyword.operator.comparison.css"},{"captures":{"1":{"name":"constant.numeric.css"},"2":{"name":"keyword.operator.arithmetic.css"},"3":{"name":"constant.numeric.css"}},"match":"(\\d+)\\s*(/)\\s*(\\d+)","name":"meta.ratio.css"},{"include":"#numeric-values"},{"include":"#comment-block"}]}]},"media-query-list":{"begin":"(?=\\s*[^;{])","end":"(?=\\s*[;{])","patterns":[{"include":"#media-query"}]},"media-types":{"captures":{"1":{"name":"support.constant.media.css"},"2":{"name":"invalid.deprecated.constant.media.css"}},"match":"(?i)(?<=^|[,\\s]|\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[,;{\\s]|/\\*)"},"numeric-values":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.css"}},"match":"(#)(?:\\h{3,4}|\\h{6}|\\h{8})\\b","name":"constant.other.color.rgb-value.hex.css"},{"captures":{"1":{"name":"keyword.other.unit.percentage.css"},"2":{"name":"keyword.other.unit.${2:/downcase}.css"}},"match":"(?i)(?<![-\\w])[-+]?(?:[0-9]+(?:\\.[0-9]+)?|\\.[0-9]+)(?:(?<=[0-9])E[-+]?[0-9]+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\\b)?","name":"constant.numeric.css"}]},"property-keywords":{"patterns":[{"match":"(?i)(?<![-\\w])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|larger??|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|revert-layer|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![-\\w])","name":"support.constant.property-value.css"},{"match":"(?i)(?<![-\\w])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![-\\w])","name":"support.constant.property-value.list-style-type.css"},{"match":"(?<![-\\w])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-A-Za-z]+","name":"support.constant.vendored.property-value.css"},{"match":"(?<![-\\w])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![-\\w])","name":"support.constant.font-name.css"}]},"property-names":{"patterns":[{"match":"(?i)(?<![-\\w])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|rx??|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|[xy]|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![-\\w])","name":"support.type.property-name.css"},{"match":"(?<![-\\w])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-A-Za-z]+","name":"support.type.vendored.property-name.css"}]},"property-values":{"patterns":[{"include":"#commas"},{"include":"#comment-block"},{"include":"#escapes"},{"include":"#functions"},{"include":"#property-keywords"},{"include":"#unicode-range"},{"include":"#numeric-values"},{"include":"#color-keywords"},{"include":"#string"},{"match":"!\\s*important(?![-\\w])","name":"keyword.other.important.css"}]},"pseudo-classes":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"name":"invalid.illegal.colon.css"}},"match":"(?i)(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![-\\w]|\\s*[;}])","name":"entity.other.attribute-name.pseudo-class.css"},"pseudo-elements":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"name":"punctuation.definition.entity.css"}},"match":"(?i)(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-a-z]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![-\\w]|\\s*[;}])","name":"entity.other.attribute-name.pseudo-element.css"},"rule-list":{"begin":"\\{","beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.css"}},"name":"meta.property-list.css","patterns":[{"include":"#rule-list-innards"}]},"rule-list-innards":{"patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#font-features"},{"match":"(?<![-\\w])--[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.css"},{"begin":"(?<![-A-Za-z])(?=[-A-Za-z])","end":"$|(?![-A-Za-z])","name":"meta.property-name.css","patterns":[{"include":"#property-names"}]},{"begin":"(:)\\s*","beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"contentName":"meta.property-value.css","end":"\\s*(;)|\\s*(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"patterns":[{"include":"#comment-block"},{"include":"#property-values"}]},{"match":";","name":"punctuation.terminator.rule.css"}]},"selector":{"begin":"(?=\\|?(?:[-#*.:A-\\[_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.)))","end":"(?=\\s*[)/@{])","name":"meta.selector.css","patterns":[{"include":"#selector-innards"}]},"selector-innards":{"patterns":[{"include":"#comment-block"},{"include":"#commas"},{"include":"#escapes"},{"include":"#combinators"},{"captures":{"1":{"name":"entity.other.namespace-prefix.css"},"2":{"name":"punctuation.separator.css"}},"match":"(?:^|(?<=[(,;}\\s]))(?![-*\\w]+\\|(?![-#*.:A-\\[_a-z[^\\x00-\\x7F]]))([-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*|\\*)?(\\|)"},{"include":"#tag-names"},{"match":"\\*","name":"entity.name.tag.wildcard.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(?<![-@\\w])([#.])((?:-?[0-9]|-(?=$|[#)+,.:>\\[{|~\\s]|/\\*)|(?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*(?:[]!\"%-(*;<?@^`|}]|/(?!\\*))+)(?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*)","name":"invalid.illegal.bad-identifier.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(\\.)((?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))+)(?=$|[#)+,.:>\\[{|~\\s]|/\\*)","name":"entity.other.attribute-name.class.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(#)(-?(?![0-9])(?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))+)(?=$|[#)+,.:>\\[{|~\\s]|/\\*)","name":"entity.other.attribute-name.id.css"},{"begin":"\\[","beginCaptures":{"0":{"name":"punctuation.definition.entity.begin.bracket.square.css"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.entity.end.bracket.square.css"}},"name":"meta.attribute-selector.css","patterns":[{"include":"#comment-block"},{"include":"#string"},{"captures":{"1":{"name":"storage.modifier.ignore-case.css"}},"match":"(?<=[\"'\\s]|^|\\*/)\\s*([Ii])\\s*(?=[]\\s]|/\\*|$)"},{"captures":{"1":{"name":"string.unquoted.attribute-value.css","patterns":[{"include":"#escapes"}]}},"match":"(?<==)\\s*((?!/\\*)(?:[^]\"'\\\\\\s]|\\\\.)+)"},{"include":"#escapes"},{"match":"[$*^|~]?=","name":"keyword.operator.pattern.css"},{"match":"\\|","name":"punctuation.separator.css"},{"captures":{"1":{"name":"entity.other.namespace-prefix.css","patterns":[{"include":"#escapes"}]}},"match":"(-?(?!\\d)(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))+|\\*)(?=\\|(?![=\\s]|$|])(?:-?(?!\\d)|[-\\\\\\w[^\\x00-\\x7F]]))"},{"captures":{"1":{"name":"entity.other.attribute-name.css","patterns":[{"include":"#escapes"}]}},"match":"(-?(?!\\d)(?>[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))+)\\s*(?=[]$*=^|~]|/\\*)"}]},{"include":"#pseudo-classes"},{"include":"#pseudo-elements"},{"include":"#functional-pseudo-classes"},{"match":"(?<![-@\\w])(?=[a-z]\\w*-)(?:(?![A-Z])[-\\w])+(?![-(\\w])","name":"entity.name.tag.custom.css"}]},"string":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"\"|(?<!\\\\)(?=$|\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.double.css","patterns":[{"begin":"(?:\\G|^)(?=(?:[^\"\\\\]|\\\\.)+$)","end":"$","name":"invalid.illegal.unclosed.string.css","patterns":[{"include":"#escapes"}]},{"include":"#escapes"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"'|(?<!\\\\)(?=$|\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.single.css","patterns":[{"begin":"(?:\\G|^)(?=(?:[^'\\\\]|\\\\.)+$)","end":"$","name":"invalid.illegal.unclosed.string.css","patterns":[{"include":"#escapes"}]},{"include":"#escapes"}]}]},"tag-names":{"match":"(?i)(?<![-:\\w])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rtc??|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|ul??|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[#)+,.:>\\[{|~\\s]|/\\*|$)","name":"entity.name.tag.css"},"unicode-range":{"captures":{"0":{"name":"constant.other.unicode-range.css"},"1":{"name":"punctuation.separator.dash.unicode-range.css"}},"match":"(?<![-\\w])[Uu]\\+[?\\h]{1,6}(?:(-)\\h{1,6})?(?![-\\w])"},"url":{"begin":"(?i)(?<![-@\\w])(url)(\\()","beginCaptures":{"1":{"name":"support.function.url.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}},"name":"meta.function.url.css","patterns":[{"match":"[^\"')\\s]+","name":"variable.parameter.url.css"},{"include":"#string"},{"include":"#comment-block"},{"include":"#escapes"}]}},"scopeName":"source.css"},{"displayName":"Sass","fileTypes":["sass"],"foldingStartMarker":"/\\*|^#|^\\*|^\\b|\\*#?region|^\\.","foldingStopMarker":"\\*/|\\*#?endregion|^\\s*$","name":"sass","patterns":[{"begin":"^(\\s*)(/\\*)","end":"(\\*/)|^(?!\\s\\1)","name":"comment.block.sass","patterns":[{"include":"#comment-tag"},{"include":"#comment-param"}]},{"match":"^[\\t ]*/?//[\\t ]*[IRS][\\t ]*$","name":"keyword.other.sass.formatter.action"},{"begin":"^[\\t ]*//[\\t ]*(import)[\\t ]*(css-variables)[\\t ]*(from)","captures":{"1":{"name":"keyword.control"},"2":{"name":"variable"},"3":{"name":"keyword.control"}},"end":"$\\n?","name":"comment.import.css.variables","patterns":[{"include":"#import-quotes"}]},{"include":"#double-slash"},{"include":"#double-quoted"},{"include":"#single-quoted"},{"include":"#interpolation"},{"include":"#curly-brackets"},{"include":"#placeholder-selector"},{"begin":"\\$[-0-9A-Z_a-z]+(?=:)","captures":{"0":{"name":"variable.other.name"}},"end":"$\\n?|(?=\\)(?:\\s\\)|\\n))","name":"sass.script.maps","patterns":[{"include":"#double-slash"},{"include":"#double-quoted"},{"include":"#single-quoted"},{"include":"#interpolation"},{"include":"#variable"},{"include":"#rgb-value"},{"include":"#numeric"},{"include":"#unit"},{"include":"#flag"},{"include":"#comma"},{"include":"#function"},{"include":"#function-content"},{"include":"#operator"},{"include":"#reserved-words"},{"include":"#parent-selector"},{"include":"#property-value"},{"include":"#semicolon"},{"include":"#dotdotdot"}]},{"include":"#variable-root"},{"include":"#numeric"},{"include":"#unit"},{"include":"#flag"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dotdotdot"},{"begin":"@include|\\+(?![\\W\\d])","captures":{"0":{"name":"keyword.control.at-rule.css.sass"}},"end":"(?=[\\n(])","name":"support.function.name.sass.library"},{"begin":"^(@use)","captures":{"0":{"name":"keyword.control.at-rule.css.sass.use"}},"end":"(?=\\n)","name":"sass.use","patterns":[{"match":"as|with","name":"support.type.css.sass"},{"include":"#numeric"},{"include":"#unit"},{"include":"#variable-root"},{"include":"#rgb-value"},{"include":"#comma"},{"include":"#parenthesis-open"},{"include":"#parenthesis-close"},{"include":"#colon"},{"include":"#import-quotes"}]},{"begin":"^@import(.*?)( as.*)?$","captures":{"1":{"name":"constant.character.css.sass"},"2":{"name":"invalid"}},"end":"(?=\\n)","name":"keyword.control.at-rule.use"},{"begin":"@mixin|^[\\t ]*=|@function","captures":{"0":{"name":"keyword.control.at-rule.css.sass"}},"end":"$\\n?|(?=\\()","name":"support.function.name.sass","patterns":[{"match":"[-\\w]+","name":"entity.name.function"}]},{"begin":"@","end":"$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)([,\\s]))","name":"keyword.control.at-rule.css.sass"},{"begin":"(?<![-(])\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|main|svg|rect|ruby|center|circle|ellipse|line|polyline|polygon|path|text|u|slot)\\b(?![-)]|:\\s)|&","end":"$\\n?|(?=[-#(),.>\\[_\\s])","name":"entity.name.tag.css.sass.symbol","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"#","end":"$\\n?|(?=[(),.>\\[\\s])","name":"entity.other.attribute-name.id.css.sass","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"\\.|(?<=&)([-_])","end":"$\\n?|(?=[(),>\\[\\s])","name":"entity.other.attribute-name.class.css.sass","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"\\[","end":"]","name":"entity.other.attribute-selector.sass","patterns":[{"include":"#double-quoted"},{"include":"#single-quoted"},{"match":"[$*^~]","name":"keyword.other.regex.sass"}]},{"match":"^((?<=[])]|not\\(|[*>]|>\\s)|\\n*):[-:a-z]+|(:[-:])[-:a-z]+","name":"entity.other.attribute-name.pseudo-class.css.sass"},{"include":"#module"},{"match":"[-\\w]*\\(","name":"entity.name.function"},{"match":"\\)","name":"entity.name.function.close"},{"begin":":","end":"$\\n?|(?=\\s\\(|and\\(|\\),)","name":"meta.property-list.css.sass.prop","patterns":[{"match":"(?<=:)[-a-z]+\\s","name":"support.type.property-name.css.sass.prop.name"},{"include":"#double-slash"},{"include":"#double-quoted"},{"include":"#single-quoted"},{"include":"#interpolation"},{"include":"#curly-brackets"},{"include":"#variable"},{"include":"#rgb-value"},{"include":"#numeric"},{"include":"#unit"},{"include":"#module"},{"match":"--.+?(?=\\))","name":"variable.css"},{"match":"[-\\w]*\\(","name":"entity.name.function"},{"match":"\\)","name":"entity.name.function.close"},{"include":"#flag"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#function"},{"include":"#function-content"},{"include":"#operator"},{"include":"#parent-selector"},{"include":"#property-value"}]},{"include":"#rgb-value"},{"include":"#function"},{"include":"#function-content"},{"begin":"(?<=})(?![\\n()]|[-0-9A-Z_a-z]+:)","end":"\\s|(?=[\\n),.\\[])","name":"entity.name.tag.css.sass","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"include":"#operator"},{"match":"[-a-z]+((?=:|#\\{))","name":"support.type.property-name.css.sass.prop.name"},{"include":"#reserved-words"},{"include":"#property-value"}],"repository":{"colon":{"match":":","name":"meta.property-list.css.sass.colon"},"comma":{"match":"\\band\\b|\\bor\\b|,","name":"comment.punctuation.comma.sass"},"comment-param":{"match":"@(\\w+)","name":"storage.type.class.jsdoc"},"comment-tag":{"begin":"(?<=\\{\\{)","end":"(?=}})","name":"comment.tag.sass"},"curly-brackets":{"match":"[{}]","name":"invalid"},"dotdotdot":{"match":"\\.\\.\\.","name":"variable.other"},"double-quoted":{"begin":"\"","end":"\"","name":"string.quoted.double.css.sass","patterns":[{"include":"#quoted-interpolation"}]},"double-slash":{"begin":"//","end":"$\\n?","name":"comment.line.sass","patterns":[{"include":"#comment-tag"}]},"flag":{"match":"!(important|default|optional|global)","name":"keyword.other.important.css.sass"},"function":{"match":"(?<=[(,:|\\s])(?!url|format|attr)[-0-9A-Z_a-z][-\\w]*(?=\\()","name":"support.function.name.sass"},"function-content":{"begin":"(?<=url\\(|format\\(|attr\\()","end":".(?=\\))","name":"string.quoted.double.css.sass"},"import-quotes":{"match":"[\"']?\\.{0,2}[/\\w]+[\"']?","name":"constant.character.css.sass"},"interpolation":{"begin":"#\\{","end":"}","name":"support.function.interpolation.sass","patterns":[{"include":"#variable"},{"include":"#numeric"},{"include":"#operator"},{"include":"#unit"},{"include":"#comma"},{"include":"#double-quoted"},{"include":"#single-quoted"}]},"module":{"captures":{"1":{"name":"constant.character.module.name"},"2":{"name":"constant.numeric.module.dot"}},"match":"([-\\w]+?)(\\.)","name":"constant.character.module"},"numeric":{"match":"([-.])?[0-9]+(\\.[0-9]+)?","name":"constant.numeric.css.sass"},"operator":{"match":"\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|[!%*/<=>~]","name":"keyword.operator.sass"},"parent-selector":{"match":"&","name":"entity.name.tag.css.sass"},"parenthesis-close":{"match":"\\)","name":"entity.name.function.parenthesis.close"},"parenthesis-open":{"match":"\\(","name":"entity.name.function.parenthesis.open"},"placeholder-selector":{"begin":"(?<!\\d)%(?!\\d)","end":"$\\n?|\\s","name":"entity.other.inherited-class.placeholder-selector.css.sass"},"property-value":{"match":"[-0-9A-Z_a-z]+","name":"meta.property-value.css.sass support.constant.property-value.css.sass"},"pseudo-class":{"match":":[-:a-z]+","name":"entity.other.attribute-name.pseudo-class.css.sass"},"quoted-interpolation":{"begin":"#\\{","end":"}","name":"support.function.interpolation.sass","patterns":[{"include":"#variable"},{"include":"#numeric"},{"include":"#operator"},{"include":"#unit"},{"include":"#comma"}]},"reserved-words":{"match":"\\b(false|from|in|not|null|through|to|true)\\b","name":"support.type.property-name.css.sass"},"rgb-value":{"match":"(#)(\\h{3,4}|\\h{6}|\\h{8})\\b","name":"constant.language.color.rgb-value.css.sass"},"semicolon":{"match":";","name":"invalid"},"single-quoted":{"begin":"'","end":"'","name":"string.quoted.single.css.sass","patterns":[{"include":"#quoted-interpolation"}]},"unit":{"match":"(?<=[}\\d])(ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw|fr|%)","name":"keyword.control.unit.css.sass"},"variable":{"match":"\\$[-0-9A-Z_a-z]+","name":"variable.other.value"},"variable-root":{"match":"\\$[-0-9A-Z_a-z]+","name":"variable.other.root"}},"scopeName":"source.sass"},{"displayName":"Stylus","fileTypes":["styl","stylus","css.styl","css.stylus"],"name":"stylus","patterns":[{"include":"#comment"},{"include":"#at_rule"},{"include":"#language_keywords"},{"include":"#language_constants"},{"include":"#variable_declaration"},{"include":"#function"},{"include":"#selector"},{"include":"#declaration"},{"captures":{"1":{"name":"punctuation.section.property-list.begin.css"},"2":{"name":"punctuation.section.property-list.end.css"}},"match":"(\\{)(})","name":"meta.brace.curly.css"},{"match":"[{}]","name":"meta.brace.curly.css"},{"include":"#numeric"},{"include":"#string"},{"include":"#operator"}],"repository":{"at_rule":{"patterns":[{"begin":"\\s*((@)(import|require))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.import.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"end":"\\s*((?=;|$|\\n))","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.import.css","patterns":[{"include":"#string"}]},{"begin":"\\s*((@)(extends?))\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.extend.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"end":"\\s*((?=;|$|\\n))","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.extend.css","patterns":[{"include":"#selector"}]},{"captures":{"1":{"name":"keyword.control.at-rule.fontface.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"match":"^\\s*((@)font-face)\\b","name":"meta.at-rule.fontface.stylus"},{"captures":{"1":{"name":"keyword.control.at-rule.css.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"match":"^\\s*((@)css)\\b","name":"meta.at-rule.css.stylus"},{"begin":"\\s*((@)charset)\\b\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.charset.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"end":"\\s*((?=;|$|\\n))","name":"meta.at-rule.charset.stylus","patterns":[{"include":"#string"}]},{"begin":"\\s*((@)keyframes)\\b\\s+([-A-Z_a-z][-0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.control.at-rule.keyframes.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"},"3":{"name":"entity.name.function.keyframe.stylus"}},"end":"\\s*((?=\\{|$|\\n))","name":"meta.at-rule.keyframes.stylus"},{"begin":"(?=\\b((\\d+%|from\\b|to\\b)))","end":"(?=([\\n{]))","name":"meta.at-rule.keyframes.stylus","patterns":[{"match":"\\b((\\d+%|from\\b|to\\b))","name":"entity.other.attribute-name.stylus"}]},{"captures":{"1":{"name":"keyword.control.at-rule.media.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"match":"^\\s*((@)media)\\b","name":"meta.at-rule.media.stylus"},{"match":"(?=\\w)(?<![-\\w])(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?<=\\w)(?![-\\w])","name":"support.type.property-name.media-feature.media.css"},{"match":"(?=\\w)(?<![-\\w])(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?<=\\w)(?![-\\w])","name":"support.constant.media-type.media.css"},{"match":"(?=\\w)(?<![-\\w])(portrait|landscape)(?<=\\w)(?![-\\w])","name":"support.constant.property-value.media-property.media.css"}]},"char_escape":{"match":"\\\\(.)","name":"constant.character.escape.stylus"},"color":{"patterns":[{"begin":"\\b(rgba??|hsla??)(\\()","beginCaptures":{"1":{"name":"support.function.color.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.function.css"}},"name":"meta.function.color.css","patterns":[{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#numeric"},{"include":"#property_variable"}]},{"captures":{"1":{"name":"punctuation.definition.constant.css"}},"match":"(#)(\\h{3}|\\h{6})\\b","name":"constant.other.color.rgb-value.css"},{"match":"\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b","name":"support.constant.color.w3c-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","name":"support.constant.color.w3c-extended-color-name.css"}]},"comment":{"patterns":[{"include":"#comment_block"},{"include":"#comment_line"}]},"comment_block":{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.css"}},"end":"\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.css"}},"name":"comment.block.css"},"comment_line":{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.stylus"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.stylus"}},"end":"(?=\\n)","name":"comment.line.double-slash.stylus"}]},"declaration":{"begin":"((?<=^)[^\\n\\S]+)|((?<=;)[^\\n\\S]*)|((?<=\\{)[^\\n\\S]*)","end":"(?=\\n)|(;)|(?=})|(\\n)","endCaptures":{"2":{"name":"punctuation.terminator.rule.css"}},"name":"meta.property-list.css","patterns":[{"match":"(?<![-\\w])--[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.css"},{"include":"#language_keywords"},{"include":"#language_constants"},{"match":"(?<=^)[^\\n\\S]+(\\n)"},{"captures":{"1":{"name":"support.type.property-name.css"},"2":{"name":"punctuation.separator.key-value.css"},"3":{"name":"variable.section.css"}},"match":"\\G\\s*(counter-(?:reset|increment))(?:(:)|[^\\n\\S])[^\\n\\S]*([-A-Z_a-z][-0-9A-Z_a-z]*)","name":"meta.property.counter.css"},{"begin":"\\G\\s*(filter)(?:(:)|[^\\n\\S])[^\\n\\S]*","beginCaptures":{"1":{"name":"support.type.property-name.css"},"2":{"name":"punctuation.separator.key-value.css"}},"end":"(?=[\\n;}]|$)","name":"meta.property.filter.css","patterns":[{"include":"#function"},{"include":"#property_values"}]},{"include":"#property"},{"include":"#interpolation"},{"include":"$self"}]},"font_name":{"match":"\\b((?i:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif))\\b","name":"support.constant.font-name.css"},"function":{"begin":"(?=[-A-Z_a-z][-0-9A-Z_a-z]*\\()","end":"(\\))","endCaptures":{"1":{"name":"punctuation.section.function.css"}},"patterns":[{"begin":"(format|url|local)(\\()","beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.misc.css","patterns":[{"match":"(?<=\\()[^)\\s]*(?=\\))","name":"string.css"},{"include":"#string"},{"include":"#variable"},{"include":"#operator"},{"match":"\\s*"}]},{"captures":{"1":{"name":"support.function.misc.counter.css"},"2":{"name":"punctuation.section.function.css"},"3":{"name":"variable.section.css"}},"match":"(counter)(\\()([-A-Z_a-z][-0-9A-Z_a-z]*)(?=\\))","name":"meta.function.misc.counter.css"},{"begin":"(counters)(\\()","beginCaptures":{"1":{"name":"support.function.misc.counters.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.misc.counters.css","patterns":[{"match":"\\G[-A-Z_a-z][-0-9A-Z_a-z]*","name":"variable.section.css"},{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#string"},{"include":"#interpolation"}]},{"begin":"(attr)(\\()","beginCaptures":{"1":{"name":"support.function.misc.attr.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.misc.attr.css","patterns":[{"match":"\\G[-A-Z_a-z][-0-9A-Z_a-z]*","name":"entity.other.attribute-name.attribute.css"},{"match":"(?<=[-0-9A-Z_a-z])\\s*\\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\\b","name":"support.type.attr.css"},{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#string"},{"include":"#interpolation"}]},{"begin":"(calc)(\\()","beginCaptures":{"1":{"name":"support.function.misc.calc.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.misc.calc.css","patterns":[{"include":"#property_values"}]},{"begin":"(cubic-bezier)(\\()","beginCaptures":{"1":{"name":"support.function.timing.cubic-bezier.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.timing.cubic-bezier.css","patterns":[{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#numeric"},{"include":"#interpolation"}]},{"begin":"(steps)(\\()","beginCaptures":{"1":{"name":"support.function.timing.steps.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.timing.steps.css","patterns":[{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#numeric"},{"match":"\\b(start|end)\\b","name":"support.constant.timing.steps.direction.css"},{"include":"#interpolation"}]},{"begin":"((?:linear|radial|repeating-linear|repeating-radial)-gradient)(\\()","beginCaptures":{"1":{"name":"support.function.gradient.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.gradient.css","patterns":[{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#numeric"},{"include":"#color"},{"match":"\\b(to|bottom|right|left|top|circle|ellipse|center|closest-side|closest-corner|farthest-side|farthest-corner|at)\\b","name":"support.constant.gradient.css"},{"include":"#interpolation"}]},{"begin":"(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)(\\()","beginCaptures":{"1":{"name":"support.function.filter.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.filter.css","patterns":[{"include":"#numeric"},{"include":"#property_variable"},{"include":"#interpolation"}]},{"begin":"(drop-shadow)(\\()","beginCaptures":{"1":{"name":"support.function.filter.drop-shadow.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.filter.drop-shadow.css","patterns":[{"include":"#numeric"},{"include":"#color"},{"include":"#property_variable"},{"include":"#interpolation"}]},{"begin":"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[Yy]|rotate[Zz]|scale|scale3d|scale[Xx]|scale[Yy]|scale[Zz]|skew[Xx]??|skew[Yy]|translate|translate3d|translate[Xx]|translate[Yy]|translate[Zz])(\\()","beginCaptures":{"1":{"name":"support.function.transform.css"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.transform.css","patterns":[{"include":"#numeric"},{"include":"#property_variable"},{"include":"#interpolation"}]},{"match":"(url|local|format|counters??|attr|calc)(?=\\()","name":"support.function.misc.css"},{"match":"(cubic-bezier|steps)(?=\\()","name":"support.function.timing.css"},{"match":"((?:linear|radial|repeating-linear|repeating-radial)-gradient)(?=\\()","name":"support.function.gradient.css"},{"match":"(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)(?=\\()","name":"support.function.filter.css"},{"match":"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[Yy]|rotate[Zz]|scale|scale3d|scale[Xx]|scale[Yy]|scale[Zz]|skew[Xx]??|skew[Yy]|translate|translate3d|translate[Xx]|translate[Yy]|translate[Zz])(?=\\()","name":"support.function.transform.css"},{"begin":"([-A-Z_a-z][-0-9A-Z_a-z]*)(\\()","beginCaptures":{"1":{"name":"entity.name.function.stylus"},"2":{"name":"punctuation.section.function.css"}},"end":"(?=\\))","name":"meta.function.stylus","patterns":[{"match":"--[-A-Z_a-z[^\\x00-\\x7F]](?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}|.))*","name":"variable.argument.stylus"},{"match":"\\s*(,)\\s*","name":"punctuation.separator.parameter.css"},{"include":"#interpolation"},{"include":"#property_values"}]},{"match":"\\(","name":"punctuation.section.function.css"}]},"interpolation":{"begin":"(\\{)[^\\n\\S]*(?=[^;=]*[^\\n\\S]*})","beginCaptures":{"1":{"name":"meta.brace.curly"}},"end":"[^\\n\\S]*(})|\\n|$","endCaptures":{"1":{"name":"meta.brace.curly"}},"name":"meta.interpolation.stylus","patterns":[{"include":"#variable"},{"include":"#numeric"},{"include":"#string"},{"include":"#operator"}]},"language_constants":{"match":"\\b(true|false|null)\\b","name":"constant.language.stylus"},"language_keywords":{"patterns":[{"match":"(\\b|\\s)(return|else|for|unless|if|else)\\b","name":"keyword.control.stylus"},{"match":"(\\b|\\s)(!important|in|is defined|is a)\\b","name":"keyword.other.stylus"},{"match":"\\barguments\\b","name":"variable.language.stylus"}]},"numeric":{"patterns":[{"captures":{"1":{"name":"keyword.other.unit.css"}},"match":"(?<![-\\w])(?:[-+]?[0-9]+(?:\\.[0-9]+)?|\\.[0-9]+)((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\\b|%)?","name":"constant.numeric.css"}]},"operator":{"patterns":[{"match":"((?:[!+:?~]|(\\s-\\s)|\\*?\\*|[%/]|(\\.)?\\.\\.|[<>]|[-%*+/:<-?]?=|!=)|\\b(?:in|is(?:nt)?|(?<!:)not|or|and)\\b)","name":"keyword.operator.stylus"},{"include":"#char_escape"}]},"property":{"begin":"\\G\\s*(?:(-webkit-[-A-Za-z]+|-moz-[-A-Za-z]+|-o-[-A-Za-z]+|-ms-[-A-Za-z]+|-khtml-[-A-Za-z]+|zoom|z-index|[xy]|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([-A-Z_a-z][-0-9A-Z_a-z]*))(?!([^\\n\\S]*&)|([^\\n\\S]*\\{))(?=:|([^\\n\\S]+\\S))","beginCaptures":{"1":{"name":"support.type.property-name.css"},"2":{"name":"support.type.property-name.svg.css"},"3":{"name":"support.function.mixin.stylus"}},"end":"(;)|(?=[\\n}]|$)","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"patterns":[{"include":"#property_value"}]},"property_value":{"begin":"\\G(?:(:)|(\\s))(\\s*)(?!&)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"},"2":{"name":"punctuation.separator.key-value.css"}},"end":"(?=[\\n;}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"name":"meta.property-value.css","patterns":[{"include":"#property_values"},{"match":"\\N+?"}]},"property_values":{"patterns":[{"include":"#function"},{"include":"#comment"},{"include":"#language_keywords"},{"include":"#language_constants"},{"match":"(?=\\w)(?<![-\\w])(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?<=\\w)(?![-\\w])","name":"support.constant.property-value.css"},{"match":"(?=\\w)(?<![-\\w])(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?<=\\w)(?![-\\w])","name":"support.constant.property-value.svg.css"},{"include":"#font_name"},{"include":"#numeric"},{"include":"#color"},{"include":"#string"},{"match":"!\\s*important","name":"keyword.other.important.css"},{"include":"#operator"},{"include":"#stylus_keywords"},{"include":"#property_variable"}]},"property_variable":{"patterns":[{"include":"#variable"},{"match":"(?<!^)(@[-A-Z_a-z][-0-9A-Z_a-z]*)","name":"variable.property.stylus"}]},"selector":{"patterns":[{"match":"(?=\\w)(?<![-\\w])(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rtc??|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|ul??|var|video|wbr)(?<=\\w)(?![-\\w])","name":"entity.name.tag.css"},{"match":"(?=\\w)(?<![-\\w])(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?<=\\w)(?![-\\w])","name":"entity.name.tag.svg.css"},{"match":"\\s*(,)\\s*","name":"meta.selector.stylus"},{"match":"\\*","name":"meta.selector.stylus"},{"captures":{"2":{"name":"entity.other.attribute-name.parent-selector-suffix.stylus"}},"match":"\\s*(&)([-0-9A-Z_a-z]+)\\s*","name":"meta.selector.stylus"},{"match":"\\s*(&)\\s*","name":"meta.selector.stylus"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(\\.)[-0-9A-Z_a-z]+","name":"entity.other.attribute-name.class.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(#)[A-Za-z][-0-9A-Z_a-z]*","name":"entity.other.attribute-name.id.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(:+)(after|before|content|first-letter|first-line|host|(-(moz|webkit|ms)-)?selection)\\b","name":"entity.other.attribute-name.pseudo-element.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\\b","name":"entity.other.attribute-name.pseudo-class.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\\b","name":"entity.other.attribute-name.pseudo-class.ui-state.css"},{"begin":"((:)not)(\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.section.function.css"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.section.function.css"}},"patterns":[{"include":"#selector"}]},{"captures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.section.function.css"},"4":{"name":"constant.numeric.css"},"5":{"name":"punctuation.section.function.css"}},"match":"((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\()(-?(?:\\d+n?|n)(?:\\+\\d+)?|even|odd)(\\))"},{"captures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"puncutation.definition.entity.css"},"3":{"name":"punctuation.section.function.css"},"4":{"name":"constant.language.css"},"5":{"name":"punctuation.section.function.css"}},"match":"((:)dir)\\s*(?:(\\()(ltr|rtl)?(\\)))?"},{"captures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"puncutation.definition.entity.css"},"3":{"name":"punctuation.section.function.css"},"4":{"name":"constant.language.css"},"6":{"name":"punctuation.section.function.css"}},"match":"((:)lang)\\s*(?:(\\()(\\w+(-\\w+)?)?(\\)))?"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(:)(active|hover|link|visited|focus)\\b","name":"entity.other.attribute-name.pseudo-class.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"}},"match":"(::)(shadow)\\b","name":"entity.other.attribute-name.pseudo-class.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"name":"entity.other.attribute-name.attribute.css"},"3":{"name":"punctuation.separator.operator.css"},"4":{"name":"string.unquoted.attribute-value.css"},"5":{"name":"string.quoted.double.attribute-value.css"},"6":{"name":"punctuation.definition.string.begin.css"},"7":{"name":"punctuation.definition.string.end.css"},"8":{"name":"punctuation.definition.entity.css"}},"match":"(?i)(\\[)\\s*(-?[\\\\_a-z[:^ascii:]][-0-9\\\\_a-z[:^ascii:]]*)(?:\\s*([$*^|~]?=)\\s*(?:(-?[\\\\_a-z[:^ascii:]][-0-9\\\\_a-z[:^ascii:]]*)|((?>([\"'])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(])","name":"meta.attribute-selector.css"},{"include":"#interpolation"},{"include":"#variable"}]},"string":{"patterns":[{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.double.css","patterns":[{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.css"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.single.css","patterns":[{"match":"\\\\(\\h{1,6}|.)","name":"constant.character.escape.css"}]}]},"variable":{"match":"(\\$[-A-Z_a-z][-0-9A-Z_a-z]*)","name":"variable.stylus"},"variable_declaration":{"begin":"^[^\\n\\S]*(\\$?[-A-Z_a-z][-0-9A-Z_a-z]*)[^\\n\\S]*([:?]??=)","beginCaptures":{"1":{"name":"variable.stylus"},"2":{"name":"keyword.operator.stylus"}},"end":"(\\n)|(;)|(?=})","endCaptures":{"2":{"name":"punctuation.terminator.rule.css"}},"patterns":[{"include":"#property_values"}]}},"scopeName":"source.stylus"},{"displayName":"Pug","name":"pug","patterns":[{"match":"^(!!!|doctype)(\\s*[-0-9A-Z_a-z]+)?","name":"meta.tag.sgml.doctype.html"},{"begin":"^(\\s*)//-","end":"^(?!(\\1\\s)|\\s*$)","name":"comment.unbuffered.block.pug"},{"begin":"^(\\s*)//","end":"^(?!(\\1\\s)|\\s*$)","name":"string.comment.buffered.block.pug","patterns":[{"captures":{"1":{"name":"invalid.illegal.comment.comment.block.pug"}},"match":"^\\s*(//)(?!-)","name":"string.comment.buffered.block.pug"}]},{"begin":"<!--","end":"--\\s*>","name":"comment.unbuffered.block.pug","patterns":[{"match":"--","name":"invalid.illegal.comment.comment.block.pug"}]},{"begin":"^(\\s*)-$","end":"^(?!(\\1\\s)|\\s*$)","name":"source.js","patterns":[{"include":"source.js"}]},{"begin":"^(\\s*)(script)((\\.)$|(?=[^\\n]*((text|application)/javascript|module).*\\.$))","beginCaptures":{"2":{"name":"entity.name.tag.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"meta.tag.other","patterns":[{"begin":"\\G(?=\\()","end":"$","patterns":[{"include":"#tag_attributes"}]},{"begin":"\\G(?=[#.])","end":"$","patterns":[{"include":"#complete_tag"}]},{"include":"source.js"}]},{"begin":"^(\\s*)(style)((\\.)$|(?=[#(.].*\\.$))","beginCaptures":{"2":{"name":"entity.name.tag.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"meta.tag.other","patterns":[{"begin":"\\G(?=\\()","end":"$","patterns":[{"include":"#tag_attributes"}]},{"begin":"\\G(?=[#.])","end":"$","patterns":[{"include":"#complete_tag"}]},{"include":"source.css"}]},{"begin":"^(\\s*):(sass)(?=\\(|$)","beginCaptures":{"2":{"name":"constant.language.name.sass.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"source.sass.filter.pug","patterns":[{"include":"#tag_attributes"},{"include":"source.sass"}]},{"begin":"^(\\s*):(scss)(?=\\(|$)","beginCaptures":{"2":{"name":"constant.language.name.scss.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"source.css.scss.filter.pug","patterns":[{"include":"#tag_attributes"},{"include":"source.css.scss"}]},{"begin":"^(\\s*):(less)(?=\\(|$)","beginCaptures":{"2":{"name":"constant.language.name.less.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"source.less.filter.pug","patterns":[{"include":"#tag_attributes"},{"include":"source.less"}]},{"begin":"^(\\s*):(stylus)(?=\\(|$)","beginCaptures":{"2":{"name":"constant.language.name.stylus.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"#tag_attributes"},{"include":"source.stylus"}]},{"begin":"^(\\s*):(coffee(-?script)?)(?=\\(|$)","beginCaptures":{"2":{"name":"constant.language.name.coffeescript.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"source.coffeescript.filter.pug","patterns":[{"include":"#tag_attributes"},{"include":"source.coffee"}]},{"begin":"^(\\s*):(uglify-js)(?=\\(|$)","beginCaptures":{"2":{"name":"constant.language.name.js.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","name":"source.js.filter.pug","patterns":[{"include":"#tag_attributes"},{"include":"source.js"}]},{"begin":"^(\\s*)((:(?=.))|(:)$)","beginCaptures":{"4":{"name":"invalid.illegal.empty.generic.filter.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"begin":"\\G(?<=:)(?=.)","end":"$","name":"name.generic.filter.pug","patterns":[{"match":"\\G\\(","name":"invalid.illegal.name.generic.filter.pug"},{"match":"[-\\w]","name":"constant.language.name.generic.filter.pug"},{"include":"#tag_attributes"},{"match":"\\W","name":"invalid.illegal.name.generic.filter.pug"}]}]},{"begin":"^(\\s*)(?:(?=\\.$)|(?=[#.\\w].*?\\.$)(?=(?:(?:#[-\\w]+|\\.[-\\w]+)|(?:[!#]\\{[^}]*}|\\w(?:[-:\\w]+[-\\w]|[-\\w]*)))(?:#[-\\w]+|\\.[-\\w]+|(?:\\((?:[^\"'()]*(?:'(?:[^']|(?<!\\\\)\\\\')*'|\"(?:[^\"]|(?<!\\\\)\\\\\")*\"))*[^()]*\\))*)*(?:(?::\\s+|(?<=\\)))(?:(?:#[-\\w]+|\\.[-\\w]+)|(?:[!#]\\{[^}]*}|\\w(?:[-:\\w]+[-\\w]|[-\\w]*)))(?:#[-\\w]+|\\.[-\\w]+|(?:\\((?:[^\"'()]*(?:'(?:[^']|(?<!\\\\)\\\\')*'|\"(?:[^\"]|(?<!\\\\)\\\\\")*\"))*[^()]*\\))*)*)*\\.$)(?:(?:(#[-\\w]+)|(\\.[-\\w]+))|([!#]\\{[^}]*}|\\w(?:[-:\\w]+[-\\w]|[-\\w]*))))","beginCaptures":{"2":{"name":"meta.selector.css entity.other.attribute-name.id.css.pug"},"3":{"name":"meta.selector.css entity.other.attribute-name.class.css.pug"},"4":{"name":"meta.tag.other entity.name.tag.pug"}},"end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"match":"\\.$","name":"storage.type.function.pug.dot-block-dot"},{"include":"#tag_attributes"},{"include":"#complete_tag"},{"begin":"^(?=.)","end":"$","name":"text.block.pug","patterns":[{"include":"#inline_pug"},{"include":"#embedded_html"},{"include":"#html_entity"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]}]},{"begin":"^\\s*","end":"$","patterns":[{"include":"#inline_pug"},{"include":"#blocks_and_includes"},{"include":"#unbuffered_code"},{"include":"#mixin_definition"},{"include":"#mixin_call"},{"include":"#flow_control"},{"include":"#flow_control_each"},{"include":"#case_conds"},{"begin":"\\|","end":"$","name":"text.block.pipe.pug","patterns":[{"include":"#inline_pug"},{"include":"#embedded_html"},{"include":"#html_entity"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]},{"include":"#printed_expression"},{"begin":"\\G(?=(#[^-{\\w])|[^#.\\w])","end":"$","patterns":[{"begin":"</?(?=[!#])","end":">|$","patterns":[{"include":"#inline_pug"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]},{"include":"#inline_pug"},{"include":"#embedded_html"},{"include":"#html_entity"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]},{"include":"#complete_tag"}]}],"repository":{"babel_parens":{"begin":"\\(","end":"\\)|((\\{\\s*)?)$","patterns":[{"include":"#babel_parens"},{"include":"source.js"}]},"blocks_and_includes":{"captures":{"1":{"name":"storage.type.import.include.pug"},"4":{"name":"variable.control.import.include.pug"}},"match":"(extends|include|yield|append|prepend|block( ((?:ap|pre)pend))?)\\s+(.*)$","name":"meta.first-class.pug"},"case_conds":{"begin":"(default|when)((\\s+|(?=:))|$)","captures":{"1":{"name":"storage.type.function.pug"}},"end":"$","name":"meta.control.flow.pug","patterns":[{"begin":"\\G(?!:)","end":"(?=:\\s+)|$","name":"js.embedded.control.flow.pug","patterns":[{"include":"#case_when_paren"},{"include":"source.js"}]},{"begin":":\\s+","end":"$","name":"tag.case.control.flow.pug","patterns":[{"include":"#complete_tag"}]}]},"case_when_paren":{"begin":"\\(","end":"\\)","name":"js.when.control.flow.pug","patterns":[{"include":"#case_when_paren"},{"match":":","name":"invalid.illegal.name.tag.pug"},{"include":"source.js"}]},"complete_tag":{"begin":"(?=[#.\\w])|(:\\s*)","end":"(\\.?)$|(?=:.)","endCaptures":{"1":{"name":"storage.type.function.pug.dot-block-dot"}},"patterns":[{"include":"#blocks_and_includes"},{"include":"#unbuffered_code"},{"include":"#mixin_call"},{"include":"#flow_control"},{"include":"#flow_control_each"},{"match":"(?<=:)\\w.*$","name":"invalid.illegal.name.tag.pug"},{"include":"#tag_name"},{"include":"#tag_id"},{"include":"#tag_classes"},{"include":"#tag_attributes"},{"include":"#tag_mixin_attributes"},{"captures":{"2":{"name":"invalid.illegal.end.tag.pug"},"4":{"name":"invalid.illegal.end.tag.pug"}},"match":"(?:((\\.)\\s+)|((:)\\s*))$"},{"include":"#printed_expression"},{"include":"#tag_text"}]},"embedded_html":{"begin":"(?=<[^>]*>)","end":"$|(?=>)","name":"html","patterns":[{"include":"text.html.basic"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]},"flow_control":{"begin":"(for|if|else if|else|until|while|unless|case)(\\s+|$)","captures":{"1":{"name":"storage.type.function.pug"}},"end":"$","name":"meta.control.flow.pug","patterns":[{"begin":"","end":"$","name":"js.embedded.control.flow.pug","patterns":[{"include":"source.js"}]}]},"flow_control_each":{"begin":"(each)(\\s+|$)","captures":{"1":{"name":"storage.type.function.pug"}},"end":"$","name":"meta.control.flow.pug.each","patterns":[{"match":"([$_\\w]+)(?:\\s*,\\s*([$_\\w]+))?","name":"variable.other.pug.each-var"},{"begin":"","end":"$","name":"js.embedded.control.flow.pug","patterns":[{"include":"source.js"}]}]},"html_entity":{"patterns":[{"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\h+)(;)","name":"constant.character.entity.html.text.pug"},{"match":"[\\&<>]","name":"invalid.illegal.html_entity.text.pug"}]},"inline_pug":{"begin":"(?<!\\\\)(#\\[)","captures":{"1":{"name":"entity.name.function.pug"},"2":{"name":"entity.name.function.pug"}},"end":"(])","name":"inline.pug","patterns":[{"include":"#inline_pug"},{"include":"#mixin_call"},{"begin":"(?<!])(?=[#.\\w])|(:\\s*)","end":"(?=]|(:.)|[=\\s])","name":"tag.inline.pug","patterns":[{"include":"#tag_name"},{"include":"#tag_id"},{"include":"#tag_classes"},{"include":"#tag_attributes"},{"include":"#tag_mixin_attributes"},{"include":"#inline_pug"},{"match":"\\[","name":"invalid.illegal.tag.pug"}]},{"include":"#unbuffered_code"},{"include":"#printed_expression"},{"match":"\\[","name":"invalid.illegal.tag.pug"},{"include":"#inline_pug_text"}]},"inline_pug_text":{"begin":"","end":"(?=])","patterns":[{"begin":"\\[","end":"]","patterns":[{"include":"#inline_pug_text"}]},{"include":"#inline_pug"},{"include":"#embedded_html"},{"include":"#html_entity"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]},"interpolated_error":{"match":"(?<!\\\\)[!#]\\{(?=[^}]*$)","name":"invalid.illegal.tag.pug"},"interpolated_value":{"begin":"(?<!\\\\)[!#]\\{(?=.*?})","end":"}","name":"string.interpolated.pug","patterns":[{"match":"\\{","name":"invalid.illegal.tag.pug"},{"include":"source.js"}]},"js_braces":{"begin":"\\{","end":"}","patterns":[{"include":"#js_braces"},{"include":"source.js"}]},"js_brackets":{"begin":"\\[","end":"]","patterns":[{"include":"#js_brackets"},{"include":"source.js"}]},"js_parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#js_parens"},{"include":"source.js"}]},"mixin_call":{"begin":"(mixin\\s+|\\+)([-\\w]+)","beginCaptures":{"1":{"name":"storage.type.function.pug"},"2":{"name":"meta.tag.other entity.name.function.pug"}},"end":"(?!\\()|$","patterns":[{"begin":"(?<!\\))\\(","end":"\\)","name":"args.mixin.pug","patterns":[{"include":"#js_parens"},{"captures":{"1":{"name":"meta.tag.other entity.other.attribute-name.tag.pug"}},"match":"([^(),/=\\s]+)\\s*=\\s*"},{"include":"source.js"}]},{"include":"#tag_attributes"}]},"mixin_definition":{"captures":{"1":{"name":"storage.type.function.pug"},"2":{"name":"meta.tag.other entity.name.function.pug"},"3":{"name":"punctuation.definition.parameters.begin.js"},"4":{"name":"variable.parameter.function.js"},"5":{"name":"punctuation.definition.parameters.begin.js"}},"match":"(mixin\\s+)([-\\w]+)(?:(\\()\\s*([A-Z_a-z]\\w*\\s*(?:,\\s*[A-Z_a-z]\\w*\\s*)*)(\\)))?$"},"printed_expression":{"begin":"(!?=)\\s*","captures":{"1":{"name":"constant"}},"end":"(?=])|$","name":"source.js","patterns":[{"include":"#js_brackets"},{"include":"source.js"}]},"tag_attribute_name":{"captures":{"1":{"name":"entity.other.attribute-name.tag.pug"}},"match":"([^!(),/=\\s]+)\\s*"},"tag_attribute_name_paren":{"begin":"\\(\\s*","end":"\\)","name":"entity.other.attribute-name.tag.pug","patterns":[{"include":"#tag_attribute_name_paren"},{"include":"#tag_attribute_name"}]},"tag_attributes":{"begin":"(\\(\\s*)","captures":{"1":{"name":"constant.name.attribute.tag.pug"}},"end":"(\\))","name":"meta.tag.other","patterns":[{"include":"#tag_attribute_name_paren"},{"include":"#tag_attribute_name"},{"match":"!(?!=)","name":"invalid.illegal.tag.pug"},{"begin":"=\\s*","end":"$|(?=,|\\s+[^-!%\\&*+/<>?|~]|\\))","name":"attribute_value","patterns":[{"include":"#js_parens"},{"include":"#js_brackets"},{"include":"#js_braces"},{"include":"source.js"}]},{"begin":"(?<=[-%\\&*+/:<>?|~])\\s+","end":"$|(?=,|\\s+[^-!%\\&*+/<>?|~]|\\))","name":"attribute_value2","patterns":[{"include":"#js_parens"},{"include":"#js_brackets"},{"include":"#js_braces"},{"include":"source.js"}]}]},"tag_classes":{"captures":{"1":{"name":"invalid.illegal.tag.pug"}},"match":"\\.([^-\\w])?[-\\w]*","name":"meta.selector.css entity.other.attribute-name.class.css.pug"},"tag_id":{"match":"#[-\\w]+","name":"meta.selector.css entity.other.attribute-name.id.css.pug"},"tag_mixin_attributes":{"begin":"(&attributes\\()","captures":{"1":{"name":"entity.name.function.pug"}},"end":"(\\))","name":"meta.tag.other","patterns":[{"match":"attributes(?=\\))","name":"storage.type.keyword.pug"},{"include":"source.js"}]},"tag_name":{"begin":"([!#]\\{(?=.*?}))|(\\w(([-:\\w]+[-\\w])|([-\\w]*)))","end":"\\G((?<!\\5[^-\\w]))|}|$","name":"meta.tag.other entity.name.tag.pug","patterns":[{"begin":"\\G(?<=\\{)","end":"(?=})","name":"meta.tag.other entity.name.tag.pug","patterns":[{"match":"\\{","name":"invalid.illegal.tag.pug"},{"include":"source.js"}]}]},"tag_text":{"begin":"(?=.)","end":"$","patterns":[{"include":"#inline_pug"},{"include":"#embedded_html"},{"include":"#html_entity"},{"include":"#interpolated_value"},{"include":"#interpolated_error"}]},"unbuffered_code":{"begin":"(-|(([0-9A-Z_a-z]+)\\s+=))","beginCaptures":{"3":{"name":"variable.parameter.javascript.embedded.pug"}},"end":"(?=])|((\\{\\s*)?)$","name":"source.js","patterns":[{"include":"#js_brackets"},{"include":"#babel_parens"},{"include":"source.js"}]}},"scopeName":"text.pug"},{"displayName":"Markdown","name":"markdown","patterns":[{"include":"#frontMatter"},{"include":"#block"}],"repository":{"ampersand":{"match":"&(?!([0-9A-Za-z]+|#[0-9]+|#x\\h+);)","name":"meta.other.valid-ampersand.markdown"},"block":{"patterns":[{"include":"#separator"},{"include":"#heading"},{"include":"#blockquote"},{"include":"#lists"},{"include":"#fenced_code_block"},{"include":"#raw_block"},{"include":"#link-def"},{"include":"#html"},{"include":"#table"},{"include":"#paragraph"}]},"blockquote":{"begin":"(^|\\G) {0,3}(>) ?","captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}},"name":"markup.quote.markdown","patterns":[{"include":"#block"}],"while":"(^|\\G)\\s*(>) ?"},"bold":{"begin":"(?<open>(\\*\\*(?=\\w)|(?<!\\w)\\*\\*|(?<!\\w)\\b__))(?=\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>|\\\\[-\\]!#(-+.>\\[\\\\_`{}]?+|\\[((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+](( ?\\[[^]]*+])|(\\([\\t ]*+<?(.*?)>?[\\t ]*+((?<title>[\"'])(.*?)\\k<title>)?\\))))|(?!(?<=\\S)\\k<open>).)++(?<=\\S)(?=__\\b|\\*\\*)\\k<open>)","captures":{"1":{"name":"punctuation.definition.bold.markdown"}},"end":"(?<=\\S)(\\1)","name":"markup.bold.markdown","patterns":[{"applyEndPatternLast":1,"begin":"(?=<[^>]*?>)","end":"(?<=>)","patterns":[{"include":"text.html.derivative"}]},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"},{"include":"#strikethrough"}]},"bracket":{"match":"<(?![!$/?A-Za-z])","name":"meta.other.valid-bracket.markdown"},"escape":{"match":"\\\\[-\\]!#(-+.>\\[\\\\_`{}]","name":"constant.character.escape.markdown"},"fenced_code_block":{"patterns":[{"include":"#fenced_code_block_css"},{"include":"#fenced_code_block_basic"},{"include":"#fenced_code_block_ini"},{"include":"#fenced_code_block_java"},{"include":"#fenced_code_block_lua"},{"include":"#fenced_code_block_makefile"},{"include":"#fenced_code_block_perl"},{"include":"#fenced_code_block_r"},{"include":"#fenced_code_block_ruby"},{"include":"#fenced_code_block_php"},{"include":"#fenced_code_block_sql"},{"include":"#fenced_code_block_vs_net"},{"include":"#fenced_code_block_xml"},{"include":"#fenced_code_block_xsl"},{"include":"#fenced_code_block_yaml"},{"include":"#fenced_code_block_dosbatch"},{"include":"#fenced_code_block_clojure"},{"include":"#fenced_code_block_coffee"},{"include":"#fenced_code_block_c"},{"include":"#fenced_code_block_cpp"},{"include":"#fenced_code_block_diff"},{"include":"#fenced_code_block_dockerfile"},{"include":"#fenced_code_block_git_commit"},{"include":"#fenced_code_block_git_rebase"},{"include":"#fenced_code_block_go"},{"include":"#fenced_code_block_groovy"},{"include":"#fenced_code_block_pug"},{"include":"#fenced_code_block_ignore"},{"include":"#fenced_code_block_js"},{"include":"#fenced_code_block_js_regexp"},{"include":"#fenced_code_block_json"},{"include":"#fenced_code_block_jsonc"},{"include":"#fenced_code_block_jsonl"},{"include":"#fenced_code_block_less"},{"include":"#fenced_code_block_objc"},{"include":"#fenced_code_block_swift"},{"include":"#fenced_code_block_scss"},{"include":"#fenced_code_block_perl6"},{"include":"#fenced_code_block_powershell"},{"include":"#fenced_code_block_python"},{"include":"#fenced_code_block_julia"},{"include":"#fenced_code_block_regexp_python"},{"include":"#fenced_code_block_rust"},{"include":"#fenced_code_block_scala"},{"include":"#fenced_code_block_shell"},{"include":"#fenced_code_block_ts"},{"include":"#fenced_code_block_tsx"},{"include":"#fenced_code_block_csharp"},{"include":"#fenced_code_block_fsharp"},{"include":"#fenced_code_block_dart"},{"include":"#fenced_code_block_handlebars"},{"include":"#fenced_code_block_markdown"},{"include":"#fenced_code_block_log"},{"include":"#fenced_code_block_erlang"},{"include":"#fenced_code_block_elixir"},{"include":"#fenced_code_block_latex"},{"include":"#fenced_code_block_bibtex"},{"include":"#fenced_code_block_twig"},{"include":"#fenced_code_block_yang"},{"include":"#fenced_code_block_abap"},{"include":"#fenced_code_block_restructuredtext"},{"include":"#fenced_code_block_unknown"}]},"fenced_code_block_abap":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(abap)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_basic":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_bibtex":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bibtex)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_c":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:([ch])((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_clojure":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cl(?:js??|ojure))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_coffee":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(coffee|Cakefile|coffee.erb)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_cpp":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(c(?:pp|\\+\\+|xx))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_csharp":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(c(?:s|sharp|#))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_css":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(css(?:|.erb))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_dart":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_diff":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(patch|diff|rej)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_dockerfile":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:([Dd]ockerfile)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_dosbatch":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bat(?:|ch))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_elixir":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(elixir)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_erlang":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(erlang)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_fsharp":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(f(?:s|sharp|#))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_git_commit":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_git_rebase":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(git-rebase-todo)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_go":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(go(?:|lang))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_groovy":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(g(?:roovy|vy))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_handlebars":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(h(?:andlebars|bs))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_ignore":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:git|)ignore)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.ignore","patterns":[{"include":"source.ignore"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_ini":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ini|conf)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_java":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(java|bsh)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_js":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\{\\.js.+?})((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_js_regexp":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_json":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_jsonc":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_jsonl":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonl(?:|ines))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.jsonl","patterns":[{"include":"source.json.lines"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_julia":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(julia|\\{\\.julia.+?})((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_latex":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:la|)tex)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_less":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_log":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_lua":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(lua)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_makefile":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_markdown":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(m(?:arkdown|d))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_objc":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_perl":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_perl6":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_php":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_powershell":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_pug":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jade|pug)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_python":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\{\\.python.+?})((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_r":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:([RSrs]|Rprofile|\\{\\.r.+?})((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_regexp_python":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_restructuredtext":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(r(?:estructuredtext|st))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_ruby":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ruby|rbx??|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_rust":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?})((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_scala":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(s(?:cala|bt))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_scss":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_shell":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?})((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_sql":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(sql|ddl|dml)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_swift":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_ts":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(t(?:ypescript|s))((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_tsx":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_twig":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(twig)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_unknown":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown"},"fenced_code_block_vs_net":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(vb)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_xml":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_xsl":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xslt??)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_yaml":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ya?ml)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"fenced_code_block_yang":{"begin":"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(yang)((\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},"frontMatter":{"applyEndPatternLast":1,"begin":"\\A(?=(-{3,}))","end":"^(?: {0,3}\\1-*[\\t ]*|[\\t ]*\\.{3})$","endCaptures":{"0":{"name":"punctuation.definition.end.frontmatter"}},"patterns":[{"begin":"\\A(-{3,})(.*)$","beginCaptures":{"1":{"name":"punctuation.definition.begin.frontmatter"},"2":{"name":"comment.frontmatter"}},"contentName":"meta.embedded.block.frontmatter","patterns":[{"include":"source.yaml"}],"while":"^(?!(?: {0,3}\\1-*[\\t ]*|[\\t ]*\\.{3})$)"}]},"heading":{"captures":{"1":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{6})\\s+(.*?)(?:\\s+(#+))?\\s*$","name":"heading.6.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{5})\\s+(.*?)(?:\\s+(#+))?\\s*$","name":"heading.5.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{4})\\s+(.*?)(?:\\s+(#+))?\\s*$","name":"heading.4.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{3})\\s+(.*?)(?:\\s+(#+))?\\s*$","name":"heading.3.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{2})\\s+(.*?)(?:\\s+(#+))?\\s*$","name":"heading.2.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{1})\\s+(.*?)(?:\\s+(#+))?\\s*$","name":"heading.1.markdown"}]}},"match":"(?:^|\\G) {0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$","name":"markup.heading.markdown"},"heading-setext":{"patterns":[{"match":"^(={3,})(?=[\\t ]*$\\n?)","name":"markup.heading.setext.1.markdown"},{"match":"^(-{3,})(?=[\\t ]*$\\n?)","name":"markup.heading.setext.2.markdown"}]},"html":{"patterns":[{"begin":"(^|\\G)\\s*(<!--)","captures":{"1":{"name":"punctuation.definition.comment.html"},"2":{"name":"punctuation.definition.comment.html"}},"end":"(-->)","name":"comment.block.html"},{"begin":"(?i)(^|\\G)\\s*(?=<(script|style|pre)(\\s|$|>)(?!.*?</(script|style|pre)>))","end":"(?i)(.*)((</)(script|style|pre)(>))","endCaptures":{"1":{"patterns":[{"include":"text.html.derivative"}]},"2":{"name":"meta.tag.structure.$4.end.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"entity.name.tag.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(\\s*|$)","patterns":[{"include":"text.html.derivative"}],"while":"(?i)^(?!.*</(script|style|pre)>)"}]},{"begin":"(?i)(^|\\G)\\s*(?=</?[A-Za-z]+[^\\&/;gt\\s]*(\\s|$|/?>))","patterns":[{"include":"text.html.derivative"}],"while":"^(?!\\s*$)"},{"begin":"(^|\\G)\\s*(?=(<(?:[-0-9A-Za-z](/?>|\\s.*?>)|/[-0-9A-Za-z]>))\\s*$)","patterns":[{"include":"text.html.derivative"}],"while":"^(?!\\s*$)"}]},"image-inline":{"captures":{"1":{"name":"punctuation.definition.link.description.begin.markdown"},"2":{"name":"string.other.link.description.markdown"},"4":{"name":"punctuation.definition.link.description.end.markdown"},"5":{"name":"punctuation.definition.metadata.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"markup.underline.link.image.markdown"},"9":{"name":"punctuation.definition.link.markdown"},"10":{"name":"markup.underline.link.image.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.begin.markdown"},"14":{"name":"punctuation.definition.string.end.markdown"},"15":{"name":"string.other.link.description.title.markdown"},"16":{"name":"punctuation.definition.string.begin.markdown"},"17":{"name":"punctuation.definition.string.end.markdown"},"18":{"name":"string.other.link.description.title.markdown"},"19":{"name":"punctuation.definition.string.begin.markdown"},"20":{"name":"punctuation.definition.string.end.markdown"},"21":{"name":"punctuation.definition.metadata.markdown"}},"match":"(!\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(])(\\()[\\t ]*((<)((?:\\\\[<>]|[^\\n<>])*)(>)|((?<url>(?>[^()\\s]+)|\\(\\g<url>*\\))*))[\\t ]*(?:((\\().+?(\\)))|((\").+?(\"))|((').+?(')))?\\s*(\\))","name":"meta.image.inline.markdown"},"image-ref":{"captures":{"1":{"name":"punctuation.definition.link.description.begin.markdown"},"2":{"name":"string.other.link.description.markdown"},"4":{"name":"punctuation.definition.link.description.end.markdown"},"5":{"name":"punctuation.definition.constant.markdown"},"6":{"name":"constant.other.reference.link.markdown"},"7":{"name":"punctuation.definition.constant.markdown"}},"match":"(!\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(]) ?(\\[)(.*?)(])","name":"meta.image.reference.markdown"},"inline":{"patterns":[{"include":"#ampersand"},{"include":"#bracket"},{"include":"#bold"},{"include":"#italic"},{"include":"#raw"},{"include":"#strikethrough"},{"include":"#escape"},{"include":"#image-inline"},{"include":"#image-ref"},{"include":"#link-email"},{"include":"#link-inet"},{"include":"#link-inline"},{"include":"#link-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref-shortcut"}]},"italic":{"begin":"(?<open>(\\*(?=\\w)|(?<!\\w)\\*|(?<!\\w)\\b_))(?=\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>|\\\\[-\\]!#(-+.>\\[\\\\_`{}]?+|\\[((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+](( ?\\[[^]]*+])|(\\([\\t ]*+<?(.*?)>?[\\t ]*+((?<title>[\"'])(.*?)\\k<title>)?\\))))|\\k<open>\\k<open>|(?!(?<=\\S)\\k<open>).)++(?<=\\S)(?=_\\b|\\*)\\k<open>)","captures":{"1":{"name":"punctuation.definition.italic.markdown"}},"end":"(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))","name":"markup.italic.markdown","patterns":[{"applyEndPatternLast":1,"begin":"(?=<[^>]*?>)","end":"(?<=>)","patterns":[{"include":"text.html.derivative"}]},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"},{"include":"#strikethrough"}]},"link-def":{"captures":{"1":{"name":"punctuation.definition.constant.markdown"},"2":{"name":"constant.other.reference.link.markdown"},"3":{"name":"punctuation.definition.constant.markdown"},"4":{"name":"punctuation.separator.key-value.markdown"},"5":{"name":"punctuation.definition.link.markdown"},"6":{"name":"markup.underline.link.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"markup.underline.link.markdown"},"9":{"name":"string.other.link.description.title.markdown"},"10":{"name":"punctuation.definition.string.begin.markdown"},"11":{"name":"punctuation.definition.string.end.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.begin.markdown"},"14":{"name":"punctuation.definition.string.end.markdown"},"15":{"name":"string.other.link.description.title.markdown"},"16":{"name":"punctuation.definition.string.begin.markdown"},"17":{"name":"punctuation.definition.string.end.markdown"}},"match":"\\s*(\\[)([^]]+?)(])(:)[\\t ]*(?:(<)((?:\\\\[<>]|[^\\n<>])*)(>)|(\\S+?))[\\t ]*(?:((\\().+?(\\)))|((\").+?(\"))|((').+?(')))?\\s*$","name":"meta.link.reference.def.markdown"},"link-email":{"captures":{"1":{"name":"punctuation.definition.link.markdown"},"2":{"name":"markup.underline.link.markdown"},"4":{"name":"punctuation.definition.link.markdown"}},"match":"(<)((?:mailto:)?[!#-'*+\\--9=?A-Z^-~]+@[-0-9A-Za-z]+(?:\\.[-0-9A-Za-z]+)*)(>)","name":"meta.link.email.lt-gt.markdown"},"link-inet":{"captures":{"1":{"name":"punctuation.definition.link.markdown"},"2":{"name":"markup.underline.link.markdown"},"3":{"name":"punctuation.definition.link.markdown"}},"match":"(<)((?:https?|ftp)://.*?)(>)","name":"meta.link.inet.markdown"},"link-inline":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown","patterns":[{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#strikethrough"},{"include":"#image-inline"}]},"4":{"name":"punctuation.definition.link.title.end.markdown"},"5":{"name":"punctuation.definition.metadata.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"markup.underline.link.markdown"},"9":{"name":"punctuation.definition.link.markdown"},"10":{"name":"markup.underline.link.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.begin.markdown"},"14":{"name":"punctuation.definition.string.end.markdown"},"15":{"name":"string.other.link.description.title.markdown"},"16":{"name":"punctuation.definition.string.begin.markdown"},"17":{"name":"punctuation.definition.string.end.markdown"},"18":{"name":"string.other.link.description.title.markdown"},"19":{"name":"punctuation.definition.string.begin.markdown"},"20":{"name":"punctuation.definition.string.end.markdown"},"21":{"name":"punctuation.definition.metadata.markdown"}},"match":"(\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(])(\\()[\\t ]*((<)((?:\\\\[<>]|[^\\n<>])*)(>)|((?<url>(?>[^()\\s]+)|\\(\\g<url>*\\))*))[\\t ]*(?:((\\()[^()]*(\\)))|((\")[^\"]*(\"))|((')[^']*(')))?\\s*(\\))","name":"meta.link.inline.markdown"},"link-ref":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown","patterns":[{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#strikethrough"},{"include":"#image-inline"}]},"4":{"name":"punctuation.definition.link.title.end.markdown"},"5":{"name":"punctuation.definition.constant.begin.markdown"},"6":{"name":"constant.other.reference.link.markdown"},"7":{"name":"punctuation.definition.constant.end.markdown"}},"match":"(?<![]\\\\])(\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(])(\\[)([^]]*+)(])","name":"meta.link.reference.markdown"},"link-ref-literal":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"4":{"name":"punctuation.definition.link.title.end.markdown"},"5":{"name":"punctuation.definition.constant.begin.markdown"},"6":{"name":"punctuation.definition.constant.end.markdown"}},"match":"(?<![]\\\\])(\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(]) ?(\\[)(])","name":"meta.link.reference.literal.markdown"},"link-ref-shortcut":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.link.title.end.markdown"}},"match":"(?<![]\\\\])(\\[)((?:[^]\\[\\\\\\s]|\\\\[]\\[])+?)((?<!\\\\)])","name":"meta.link.reference.markdown"},"list_paragraph":{"begin":"(^|\\G)(?=\\S)(?![*->]\\s|[0-9]+\\.\\s)","name":"meta.paragraph.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"},{"include":"#heading-setext"}],"while":"(^|\\G)(?!\\s*$|#| {0,3}([-*>_] {2,}){3,}[\\t ]*$\\n?| {0,3}[*->]| {0,3}[0-9]+\\.)"},"lists":{"patterns":[{"begin":"(^|\\G)( {0,3})([-*+])([\\t ])","beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}},"name":"markup.list.unnumbered.markdown","patterns":[{"include":"#block"},{"include":"#list_paragraph"}],"while":"((^|\\G)( {2,4}|\\t))|^([\\t ]*)$"},{"begin":"(^|\\G)( {0,3})([0-9]+[).])([\\t ])","beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}},"name":"markup.list.numbered.markdown","patterns":[{"include":"#block"},{"include":"#list_paragraph"}],"while":"((^|\\G)( {2,4}|\\t))|^([\\t ]*)$"}]},"paragraph":{"begin":"(^|\\G) {0,3}(?=[^\\t\\n ])","name":"meta.paragraph.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"},{"include":"#heading-setext"}],"while":"(^|\\G)((?=\\s*[-=]{3,}\\s*$)| {4,}(?=[^\\t\\n ]))"},"raw":{"captures":{"1":{"name":"punctuation.definition.raw.markdown"},"3":{"name":"punctuation.definition.raw.markdown"}},"match":"(`+)((?:[^`]|(?!(?<!`)\\1(?!`))`)*+)(\\1)","name":"markup.inline.raw.string.markdown"},"raw_block":{"begin":"(^|\\G)( {4}|\\t)","name":"markup.raw.block.markdown","while":"(^|\\G)( {4}|\\t)"},"separator":{"match":"(^|\\G) {0,3}([-*_])( {0,2}\\2){2,}[\\t ]*$\\n?","name":"meta.separator.markdown"},"strikethrough":{"captures":{"1":{"name":"punctuation.definition.strikethrough.markdown"},"2":{"patterns":[{"applyEndPatternLast":1,"begin":"(?=<[^>]*?>)","end":"(?<=>)","patterns":[{"include":"text.html.derivative"}]},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"}]},"3":{"name":"punctuation.definition.strikethrough.markdown"}},"match":"(?<!\\\\)(~{2,})(?!(?<=\\w~~)_)((?:[^~]|(?!(?<![\\\\~])\\1(?!~))~)*+)(\\1)(?!(?<=_\\1)\\w)","name":"markup.strikethrough.markdown"},"table":{"begin":"(^|\\G)(\\|)(?=[^|].+\\|\\s*$)","beginCaptures":{"2":{"name":"punctuation.definition.table.markdown"}},"name":"markup.table.markdown","patterns":[{"match":"\\|","name":"punctuation.definition.table.markdown"},{"captures":{"1":{"name":"punctuation.separator.table.markdown"}},"match":"(?<=\\|)\\s*(:?-+:?)\\s*(?=\\|)"},{"captures":{"1":{"patterns":[{"include":"#inline"}]}},"match":"(?<=\\|)\\s*(?=\\S)((\\\\\\||[^|])+)(?<=\\S)\\s*(?=\\|)"}],"while":"(^|\\G)(?=\\|)"}},"scopeName":"text.html.markdown"},{"displayName":"HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"html","patterns":[{"include":"#xml-processing"},{"include":"#comment"},{"include":"#doctype"},{"include":"#cdata"},{"include":"#tags-valid"},{"include":"#tags-invalid"},{"include":"#entities"}],"repository":{"attribute":{"patterns":[{"begin":"(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![-:\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"style(?![-:\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.style.html","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[^=\\s])(?!\\s*=)|(?=/?>)","patterns":[{"begin":"(?=[^/<=>`\\s]|/(?!>))","end":"(?!\\G)","name":"meta.embedded.line.css","patterns":[{"captures":{"0":{"name":"source.css"}},"match":"([^\"'/<=>`\\s]|/(?!>))+","name":"string.unquoted.html"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"source.css","end":"(\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"},"1":{"name":"source.css"}},"name":"string.quoted.double.html","patterns":[{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"source.css","end":"(')","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"},"1":{"name":"source.css"}},"name":"string.quoted.single.html","patterns":[{"include":"#entities"}]}]},{"match":"=","name":"invalid.illegal.unexpected-equals-sign.html"}]}]},{"begin":"on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![-:\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.event-handler.$1.html","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[^=\\s])(?!\\s*=)|(?=/?>)","patterns":[{"begin":"(?=[^/<=>`\\s]|/(?!>))","end":"(?!\\G)","name":"meta.embedded.line.js","patterns":[{"captures":{"0":{"name":"source.js"},"1":{"patterns":[{"include":"source.js"}]}},"match":"(([^\"'/<=>`\\s]|/(?!>))+)","name":"string.unquoted.html"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"source.js","end":"(\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"},"1":{"name":"source.js"}},"name":"string.quoted.double.html","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\n\"/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=\")|\\n","name":"comment.line.double-slash.js"},{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=\")|\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"source.js","end":"(')","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"},"1":{"name":"source.js"}},"name":"string.quoted.single.html","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\n'/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=')|\\n","name":"comment.line.double-slash.js"},{"begin":"/\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=')|\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]}]},{"match":"=","name":"invalid.illegal.unexpected-equals-sign.html"}]}]},{"begin":"(data-[-a-z]+)(?![-:\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.data-x.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"(align|bgcolor|border)(?![-:\\w])","beginCaptures":{"0":{"name":"invalid.deprecated.entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"([^\\x00- \"'/<=>\\x7F-\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}]+)","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.unrecognized.$1.html","patterns":[{"include":"#attribute-interior"}]},{"match":"[^>\\s]+","name":"invalid.illegal.character-not-allowed-here.html"}]},"attribute-interior":{"patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[^=\\s])(?!\\s*=)|(?=/?>)","patterns":[{"match":"([^\"'/<=>`\\s]|/(?!>))+","name":"string.unquoted.html"},{"begin":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"#entities"}]},{"match":"=","name":"invalid.illegal.unexpected-equals-sign.html"}]}]},"cdata":{"begin":"<!\\[CDATA\\[","beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.html"}},"contentName":"string.other.inline-data.html","end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.cdata.html"},"comment":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html"}},"end":"-->","name":"comment.block.html","patterns":[{"match":"\\G-?>","name":"invalid.illegal.characters-not-allowed-here.html"},{"match":"<!-(?:-(?!>)|(?=-->))","name":"invalid.illegal.characters-not-allowed-here.html"},{"match":"--!>","name":"invalid.illegal.characters-not-allowed-here.html"}]},"core-minus-invalid":{"patterns":[{"include":"#xml-processing"},{"include":"#comment"},{"include":"#doctype"},{"include":"#cdata"},{"include":"#tags-valid"},{"include":"#entities"}]},"doctype":{"begin":"<!(?=(?i:DOCTYPE\\s))","beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.doctype.html","patterns":[{"match":"\\G(?i:DOCTYPE)","name":"entity.name.tag.html"},{"begin":"\"","end":"\"","name":"string.quoted.double.html"},{"match":"[^>\\s]+","name":"entity.other.attribute-name.html"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"912":{"name":"punctuation.definition.entity.html"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.html"},{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.html"},{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)#[Xx]\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.html"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.html"}]},"math":{"patterns":[{"begin":"(?i)(<)(math)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)","endCaptures":{"0":{"name":"meta.tag.structure.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.structure.$2.html","patterns":[{"begin":"(?<!>)\\G","end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]}],"repository":{"attribute":{"patterns":[{"begin":"(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u([bp]scriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![-:\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"([^\\x00- \"'/<=>\\x7F-\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}]+)","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.unrecognized.$1.html","patterns":[{"include":"#attribute-interior"}]},{"match":"[^>\\s]+","name":"invalid.illegal.character-not-allowed-here.html"}]},"tags":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"captures":{"0":{"name":"meta.tag.structure.math.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.structure.math.$2.html"},{"begin":"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.math.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.structure.math.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.structure.math.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.inline.math.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.inline.math.$2.html"},{"begin":"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.inline.math.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.inline.math.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.inline.math.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.object.math.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(mglyph)(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.object.math.$2.html"},{"begin":"(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.object.math.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.object.math.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.object.math.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.other.invalid.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(([:\\w]+))(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.other.invalid.html"},{"begin":"(?i)(<)((\\w[^>\\s]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.other.invalid.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)((\\2))\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.other.invalid.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"name":"punctuation.definition.tag.end.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.other.invalid.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.invalid.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"include":"#tags-invalid"}]}}},"svg":{"patterns":[{"begin":"(?i)(<)(svg)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)","endCaptures":{"0":{"name":"meta.tag.structure.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.structure.$2.html","patterns":[{"begin":"(?<!>)\\G","end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]}],"repository":{"attribute":{"patterns":[{"begin":"(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em([hv])|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y([12]|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS((?:cript|tyle)Type)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget([XY])?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At([XYZ]))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-([xy])|adv-y)))|alues)|k([123]|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f([XY]|errerPolicy)|l)|adius|x)?|g([12]|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x([12]|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk((?:Content|)Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![-:\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"([^\\x00- \"'/<=>\\x7F-\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}]+)","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.unrecognized.$1.html","patterns":[{"include":"#attribute-interior"}]},{"match":"[^>\\s]+","name":"invalid.illegal.character-not-allowed-here.html"}]},"tags":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"captures":{"0":{"name":"meta.tag.metadata.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.metadata.svg.$2.html"},{"begin":"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.metadata.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.metadata.svg.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.metadata.svg.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.structure.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.structure.svg.$2.html"},{"begin":"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.structure.svg.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.structure.svg.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.inline.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.inline.svg.$2.html"},{"begin":"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.inline.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.inline.svg.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.inline.svg.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.object.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.object.svg.$2.html"},{"begin":"(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.object.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.object.svg.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.object.svg.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.other.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.other.svg.$2.html"},{"begin":"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.other.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)((\\2))\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.other.svg.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"},"4":{"name":"punctuation.definition.tag.end.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.other.svg.$2.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.other.invalid.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(([:\\w]+))(?=\\s|/?>)(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>)","name":"meta.element.other.invalid.html"},{"begin":"(?i)(<)((\\w[^>\\s]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.other.invalid.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)(</)((\\2))\\s*(>)|(/>)|(?=</\\w+)","endCaptures":{"0":{"name":"meta.tag.other.invalid.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"name":"punctuation.definition.tag.end.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.other.invalid.html","patterns":[{"begin":"(?<!>)\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.invalid.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"include":"#tags-invalid"}]}}},"tags-invalid":{"patterns":[{"begin":"(</?)((\\w[^>\\s]*))(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.$2.html","patterns":[{"include":"#attribute"}]}]},"tags-valid":{"patterns":[{"begin":"(^[\\t ]+)?(?=<(?i:style)\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\G)([\\t ]*$\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(?i)(<)(style)(?=\\s|/?>)","beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(?i)((<)/)(style)\\s*(>)","endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\G","captures":{"1":{"name":"punctuation.definition.tag.end.html"}},"end":"(>)","name":"meta.tag.metadata.style.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\G)","end":"(?=</(?i:style))","name":"source.css","patterns":[{"include":"source.css"}]}]}]},{"begin":"(^[\\t ]+)?(?=<(?i:script)\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\G)([\\t ]*$\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(<)((?i:script))\\b","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(/)((?i:script))(>)","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(>)","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}},"patterns":[{"begin":"\\G","end":"(?=</(?i:script))","name":"source.js","patterns":[{"begin":"(^[\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}},"end":"(?!\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=</script)|\\n","name":"comment.line.double-slash.js"}]},{"begin":"/\\*","captures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"\\*/|(?=</script)","name":"comment.block.js"},{"include":"source.js"}]}]},{"begin":"\\G","end":"(?i:(?=>|type(?=[=\\s])(?!\\s*=\\s*(''|\"\"|([\"']?)(text/(javascript(1\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application/((?:(x-)?jav|(x-)?ecm)ascript)|module)[\"'>\\s]))))","name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i:(?=type\\s*=\\s*([\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\"'>\\s]))","end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}},"patterns":[{"begin":"\\G","end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\G)","end":"(?=</(?i:script))","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"(?=(?i:type))","end":"(<)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}},"patterns":[{"begin":"\\G","end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\G)","end":"(?=</(?i:script))","name":"source.unknown"}]}]}]}]},{"begin":"(?i)(<)(base|link|meta)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(noscript|title)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)(noscript|title)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(col|hr|input)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(area|br|wbr)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(embed|img|param|source|track)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)(audio|canvas|iframe|object|picture|video)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((basefont|isindex))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((center|frameset|noembed|noframes))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)((center|frameset|noembed|noframes))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((frame))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((applet))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)((applet))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.no-longer-supported.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(</)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.no-longer-supported.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.$2.end.html","patterns":[{"include":"#attribute"}]},{"include":"#math"},{"include":"#svg"},{"begin":"(<)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]*)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.custom.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(</)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\x{EFFFF}]*)(?=\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.custom.end.html","patterns":[{"include":"#attribute"}]}]},"xml-processing":{"begin":"(<\\?)(xml)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"end":"(\\?>)","name":"meta.tag.metadata.processing.xml.html","patterns":[{"include":"#attribute"}]}},"scopeName":"text.html.basic"}]