{"name":"Vue","scopeName":"source.vue","patterns":[{"include":"text.html.basic#comment"},{"include":"#self-closing-tag"},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.markdown","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.gfm"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.pug","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.stylus"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.postcss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.sass","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.sass"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json.comments","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json5","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.yaml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.toml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.toml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.graphql","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.graphql"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.vue","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.vue"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(template)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/template\\b)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(script)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script\\b)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(style)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style\\b)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{},{"include":"text.html.basic"}]},"self-closing-tag":{"name":"self-closing-tag","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=([^\u003e]+/\u003e))","end":"(/\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"tag-stuff":{"name":"meta.tag-stuff","begin":"\\G","end":"(?=/\u003e)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b(\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"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"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag-2":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"},{"include":"#vue-directives-generic-attr"}]},"vue-directives-control":{"name":"meta.attribute.directive.control.vue","begin":"(v-for)|(v-if|v-else-if|v-else)","end":"(?=\\s*+[^=\\s])","patterns":[{"include":"#vue-directives-expression"}],"captures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}}},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","end":"(\\2)","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?\u003c=('|\"|`))","end":"(?=\\1)","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},{"begin":"(=)\\s*(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}}}]},"vue-directives-generic-attr":{"name":"meta.attribute.generic.vue","begin":"\\b(generic)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"meta.type.parameters.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!\u003e)"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-directives-original":{"name":"meta.attribute.directive.vue","begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","end":"(?=\\s*[^=\\s])","patterns":[{"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}],"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"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},"vue-directives-style-attr":{"name":"meta.attribute.style.vue","begin":"\\b(style)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.css.embedded.html.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"name":"variable.css","match":"(?x) (?\u003c![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","patterns":[{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.css","begin":"(:)\\s*","end":"\\s*(;)|\\s*(?='|\")","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}},{"name":"punctuation.terminator.rule.css","match":";"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-interpolations":{"patterns":[{"name":"expression.embedded.vue","begin":"(\\{\\{)","end":"(\\}\\})","patterns":[{"name":"source.ts.embedded.html.vue","begin":"\\G","end":"(?=\\}\\})","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}}}]}}}