{"name":"Astro","scopeName":"source.astro","patterns":[{"include":"#astro:expressions"},{"include":"#html:comment"},{"include":"#html:comment:bogus"},{"include":"#html:doctype"},{"include":"#astro:fragment"},{"include":"#astro:lang-scripts"},{"include":"#astro:lang-styles"},{"include":"#astro:component"},{"include":"#html:element"},{"include":"#html:entity"},{"include":"#html:entity:bogus"},{"include":"#frontmatter"}],"repository":{"astro:attribute":{"patterns":[{"include":"#html:attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#string-template-literal"},{"include":"#astro:expressions"}]},"astro:component":{"patterns":[{"name":"meta.tag.component.astro astro.component.raw","contentName":"source.unknown","begin":"(\u003c)([$A-Z_][^/?!\\s\u003c\u003e]*|[^/?!\\s\u003c\u003e.]+\\.[^/?!\\s\u003c\u003e]+)(.+is:raw.*?)(\u003e)","end":"(\u003c/)([$A-Z_][^/?!\\s\u003c\u003e]*|[^/?!\\s\u003c\u003e.]+\\.[^/?!\\s\u003c\u003e]+)(?=\\s|/?\u003e)(\u003e)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro support.class.component.astro"},"3":{"patterns":[{"include":"#astro:attribute"}]},"4":{"name":"punctuation.definition.tag.end.astro"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro support.class.component.astro"},"3":{"name":"punctuation.definition.tag.end.astro"}}},{"name":"meta.tag.component.astro","begin":"(\u003c/?)([$A-Z_][^/?!\\s\u003c\u003e]*|[^/?!\\s\u003c\u003e.]+\\.[^/?!\\s\u003c\u003e]+)\\b","end":"(/?\u003e)","patterns":[{"include":"#astro:attribute"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro support.class.component.astro"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.astro"}}}]},"astro:expressions":{"patterns":[{"name":"expression.embedded.astro","contentName":"source.tsx","begin":"\\{","end":"\\}","patterns":[{"include":"source.tsx"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.tsx"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.tsx"}}}]},"astro:fragment":{"name":"meta.tag.component.astro","match":"(\u003c/?)(Fragment)?(\\s*\u003e)","captures":{"1":{"name":"punctuation.definition.tag.astro"},"2":{"name":"entity.name.tag.astro support.class.fragment.astro"},"3":{"name":"punctuation.definition.tag.astro"}}},"astro:lang-scripts":{"begin":"(\u003c)(script)","end":"(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"begin":"\\G(?=\\s*[^\u003e]*?type\\s*=\\s*(['\"]|)(?i:application/ld\\+json)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.json","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.json"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?type\\s*=\\s*(['\"]|)(?i:module|(?:text/javascript|text/partytown|application/node|application/javascript))\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.js"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?type\\s*=\\s*(['\"]|)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"name":"source.unknown","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)"},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:jsx?|javascript)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.js"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:ts|typescript)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.ts","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.ts"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:tsx)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.tsx","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.tsx"}]},{"include":"#html:tag-attributes"}]},{"contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.js"}]},{"include":"#html:tag-attributes"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"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"}}},"astro:lang-styles":{"begin":"(\u003c)(style)","end":"(\u003c/)(style)\\s*(\u003e)|(/\u003e)","patterns":[{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:css)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.css","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:less)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.css.less","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css.less"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:sass)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.sass","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.sass"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:scss)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.css.scss","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css.scss"}]},{"include":"#html:tag-attributes"}]},{"begin":"\\G(?=\\s*[^\u003e]*?lang\\s*=\\s*(['\"]|)(?i:styl(?:us)?)\\1)","end":"(?=\u003c/|/\u003e)","patterns":[{"contentName":"source.stylus","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.stylus"}]},{"include":"#html:tag-attributes"}]},{"contentName":"source.css","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css"}]},{"include":"#html:tag-attributes"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"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"}}},"frontmatter":{"contentName":"source.ts","begin":"\\A(-{3})\\s*$","end":"(^|\\G)(-{3})|\\.{3}\\s*$","patterns":[{"include":"source.ts"}],"beginCaptures":{"1":{"name":"comment"}},"endCaptures":{"2":{"name":"comment"}}},"html:attribute":{"name":"meta.attribute.$1.html","match":"([a-zA-Z\\-:@_.]+)(=?)","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"html:comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--!?\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html punctuation.definition.comment.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html punctuation.definition.comment.end.html"}}},"html:comment:bogus":{"name":"comment.block.html","begin":"\u003c\\?","end":"\u003e","captures":{"0":{"name":"punctuation.definition.comment.html"}},"beginCaptures":{"0":{"name":"punctuation.definition.comment.html punctuation.definition.comment.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html punctuation.definition.comment.end.html"}}},"html:doctype":{"name":"meta.tag.metadata.doctype.html","begin":"(\u003c!)([Dd][Oo][Cc][Tt][Yy][Pp][Ee])","end":"\u003e","patterns":[{"name":"string.quoted.double.html","begin":"\"","end":"\""},{"name":"entity.other.attribute-name.html","match":"[^\\s\u003e]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.html punctuation.definition.tag.end.html"}}},"html:element":{"patterns":[{"name":"astro.element.raw","contentName":"source.unknown","begin":"(\u003c)([^/?!\\s\u003c\u003e]+)(.+is:raw.*?)(\u003e)","end":"(\u003c/)([^/?!\\s\u003c\u003e]+)(?=\\s|/?\u003e)(\u003e)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#astro:attribute"}]},"4":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}},{"name":"meta.tag.any.$2.start.html","begin":"(\u003c)([^/?!\\s\u003c\u003e]+)(?=\\s|/?\u003e)","end":"/?\u003e","patterns":[{"include":"#astro:attribute"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}}},{"name":"meta.tag.any.$2.end.html","begin":"(\u003c/)([^/?!\\s\u003c\u003e]+)(?=\\s|/?\u003e)","end":"/?\u003e","patterns":[{"include":"#astro:attribute"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}}}]},"html:entity":{"name":"constant.character.entity.html","match":"(\u0026)([0-9A-Za-z]+|#x[0-9A-Fa-f]+|x[0-9]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},"html:entity:bogus":{"name":"constant.character.entity.html","match":"(\u0026)([0-9A-Za-z]+|#x[0-9A-Fa-f]+|x[0-9]+)","captures":{"1":{"name":"invalid.illegal.bad-ampersand.html"},"3":{"name":"punctuation.definition.entity.html"}}},"html:tag-attributes":{"begin":"\\G","end":"(?=/\u003e)|\u003e","patterns":[{"include":"#astro:attribute"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#html:entity"},{"include":"#html:entity:bogus"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-single-quoted":{"name":"string.quoted.single.html","begin":"'","end":"'","patterns":[{"include":"#html:entity"},{"include":"#html:entity:bogus"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-template-literal":{"name":"string.template.html","begin":"`","end":"`","patterns":[{"include":"source.tsx#template-substitution-element"}]}}}