fileTypes astro foldingStartMarker (?x) (<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)\b.*?> |<!--(?!.*--\s*>) |^<!--\ \#tminclude\ (?>.*?-->)$ |<\?(?:php)?.*\b(if|for(each)?|while)\b.+: |\{\{?(if|foreach|capture|literal|foreach|php|section|strip) |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/))) ) foldingStopMarker (?x) (</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)> |^(?!.*?<!--).*?--\s*> |^<!--\ end\ tminclude\ -->$ |<\?(?:php)?.*\bend(if|for(each)?|while)\b |\{\{?/(if|foreach|capture|literal|foreach|php|section|strip) |^[^{]*\} ) keyEquivalent ^~H name Astro patterns include #astro-markdown include #astro-expressions begin (<)([a-zA-Z0-9:-]++)(?=[^>]*></\2>) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.html end (>)(<)(/)(\2)(>) endCaptures 1 name punctuation.definition.tag.end.html 2 name punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html 3 name punctuation.definition.tag.begin.html 4 name entity.name.tag.html 5 name punctuation.definition.tag.end.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-double-quoted include #string-single-quoted begin <!-- captures name punctuation.definition.comment.html end --\s*> name comment.block.html patterns match -- name invalid.illegal.bad-comments-or-CDATA.html begin <! captures name punctuation.definition.tag.html end > name meta.tag.sgml.html patterns begin (?i: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(?=[^>]*lang=(['"])css\1?) captures 1 name punctuation.definition.tag.begin.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.end.html end (?=</(?i:style)) patterns include source.css begin (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])sass\1?) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.style.html 3 name punctuation.definition.tag.html end (</)((?i:style))(>)(?:\s*\n)? name source.sass.embedded.html patterns include #tag-stuff begin (>) beginCaptures 1 name punctuation.definition.tag.end.html end (?=</(?i:style)) patterns include source.sass begin (?:^\s+)?(<)((?i:style))\b(?=[^>]*lang=(['"])scss\1?) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.style.html 3 name punctuation.definition.tag.html end (</)((?i:style))(>)(?:\s*\n)? name source.scss.embedded.html patterns include #tag-stuff begin (>) beginCaptures 1 name punctuation.definition.tag.end.html end (?=</(?i:style)) patterns include source.css.scss begin (?:^\s+)?(<)((?i:style))\b(?![^>]*/>) captures 1 name punctuation.definition.tag.begin.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.end.html end (?=</(?i:style)) patterns include source.css begin (?:^\s+)?(<)((?i:script))\b(?=[^>]*lang=(['"])tsx\1?) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.script.html end (?<=</(script|SCRIPT))(>)(?:\s*\n)? endCaptures 2 name punctuation.definition.tag.html name source.tsx.embedded.html patterns include #tag-stuff begin (?<!</(?:script|SCRIPT))(>) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.script.html end (</)((?i:script)) patterns include source.tsx begin (?:^\s+)?(<)((?i:script))\b(?=[^>]*lang=(['"])ts\1?) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.script.html end (?<=</(script|SCRIPT))(>)(?:\s*\n)? endCaptures 2 name punctuation.definition.tag.html name source.tsx.embedded.html patterns include #tag-stuff begin (?<!</(?:script|SCRIPT))(>) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.script.html end (</)((?i:script)) patterns include source.tsx begin (<)((?i:script))\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript|babel|ecmascript).*))) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.script.html end (?<=</(script|SCRIPT))(>)(?:\s*\n)? endCaptures 2 name punctuation.definition.tag.html name source.tsx.embedded.html patterns include #tag-stuff begin (?<!</(?:script|SCRIPT))(>) captures 1 name punctuation.definition.tag.begin.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 name punctuation.definition.comment.js end \*/|(?=</script) name comment.block.js include source.tsx begin (</?)((?i:body|head|html)\b) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.structure.any.html end (>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.structure.any.html patterns include #tag-stuff begin (</?)((?i:address|blockquote|dd|div|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) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.block.any.html end (>) endCaptures 1 name punctuation.definition.tag.end.html 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|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.inline.any.html end ((?: ?/)?>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.inline.any.html patterns include #tag-stuff begin (</?)([A-Z][a-zA-Z0-9-\.]*|[a-z]+\.[a-zA-Z0-9-]+)(\:(load|idle|visible))? beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.component.astro 3 name keyword.control.loading.astro end (/?>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.component.astro patterns include #tag-stuff begin (</?)([a-zA-Z0-9:-]+) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.other.html end (/?>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.other.html patterns include #tag-stuff include #entities include #frontmatter match <> name invalid.illegal.incomplete.html match < name invalid.illegal.bad-angle-bracket.html repository astro-expressions patterns begin \{ beginCaptures name punctuation.definition.generic.begin.html end \} endCaptures name punctuation.definition.generic.end.html name expression.embbeded.astro patterns include source.tsx astro-markdown begin (<)(Markdown)(>) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.html 3 name punctuation.definition.tag.end.html end (</)(Markdown)(>) endCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.html 3 name punctuation.definition.tag.end.html name text.html.astro.markdown patterns include text.html.markdown.astro entities patterns captures 1 name punctuation.definition.entity.html 3 name punctuation.definition.entity.html match (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) name constant.character.entity.html match & name invalid.illegal.bad-ampersand.html frontmatter begin \A(-{3})\s*$ beginCaptures 1 name comment.block.html contentName meta.embedded.block.frontmatter end (^|\G)(-{3})|\.{3}\s*$ endCaptures 2 name comment.block.html patterns include source.tsx string-double-quoted begin " beginCaptures name punctuation.definition.string.begin.html end " endCaptures name punctuation.definition.string.end.html name string.quoted.double.html patterns include #entities string-single-quoted begin ' beginCaptures name punctuation.definition.string.begin.html end ' endCaptures name punctuation.definition.string.end.html name string.quoted.single.html patterns include #entities tag-generic-attribute match \b([a-zA-Z\-:]+) name entity.other.attribute-name.html 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 begin " beginCaptures name punctuation.definition.string.begin.html contentName meta.toc-list.id.html end " endCaptures name punctuation.definition.string.end.html name string.quoted.double.html patterns include #astro-expressions include #entities begin ' beginCaptures name punctuation.definition.string.begin.html contentName meta.toc-list.id.html end ' endCaptures name punctuation.definition.string.end.html name string.quoted.single.html patterns include #astro-expressions include #entities tag-stuff patterns include #tag-id-attribute include #tag-generic-attribute include #string-double-quoted include #string-single-quoted include #astro-load-directive include #astro-expressions include #astro-markdown scopeName text.html.astro