comment Prado Template syntax, based on HTML language and custom PHP syntax. fileTypes tpl page foldingStartMarker (?x) (<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b |<!--(?!.*-->) |<(?i:(com|prop):[a-zA-z0-9.]+)(.*(?<!\/)>) ) foldingStopMarker (?x) (</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)> |^\s*--> |</(?i:(com|prop):[a-zA-z0-9.]+)> ) keyEquivalent ^~A name Prado Template patterns include #php begin (</?(?i:(com:[a-zA-z0-9.]+))) captures 1 name entity.prado.tag.component end (?<!%)(\/?>) name source.prado.tag.component patterns include #prado-tag-stuff begin (</?(?i:(prop:[a-zA-z0-9.]+))) captures 1 name storage.prado.tag.prop end (?<!%)(\/?>) name source.prado.tag.prop patterns include #prado-tag-stuff begin (<%@) captures 1 name entity.prado.tag.page end (%>) name source.prado.tag.page patterns include #prado-tag-stuff begin (<%\[) captures 1 name constant.prado.tag.localize contentName string.quoted.double.html end (\]%>) name source.prado.component.tag.localize begin (<%\$)\s* captures 1 name constant.prado.tag.parameter contentName keyword.prado.tag.parameter end \s*(%>) name source.prado.component.tag.parameter begin (<%~)\s* captures 1 name constant.prado.tag.asset contentName asset.prado.tag.asset end \s*(%>) name source.prado.component.tag.asset begin <([a-zA-Z0-9:]+)(?=[^>]*></\1>) beginCaptures 1 name entity.name.tag.html end >(<)/(\1)> endCaptures 1 name meta.scope.between-tag-pair.html 2 name entity.name.tag.html name meta.tag.any.html patterns include #tag-stuff begin <\?(xml) captures 1 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 <!-- end --\s*!?> name comment.block.html patterns match -- name invalid.illegal.bad-comments-or-CDATA.html begin <! end > name meta.tag.sgml.html patterns begin (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 include #php begin (?:^\s+)?<((?i:style))\b(?![^>]*/>) captures 1 name entity.name.tag.style.html end </((?i:style))>(?:\s*\n)? name source.css.embedded.html patterns include #tag-stuff begin > end (?=</(?i:style)) patterns include #embedded-code include source.css begin (?:^\s+)?<((?i:script))\b(?![^>]*/>) captures 1 name entity.name.tag.script.html end (?<=</(script|SCRIPT))>(?:\s*\n)? name source.js.embedded.html patterns include #tag-stuff begin (?<!</(?:script|SCRIPT))> end </((?i:script)) patterns match //.*?((?=</script)|$\n?) name comment.line.double-slash.js begin /\* end \*/|(?=</script) name comment.block.js include source.js begin </?((?i:body|head|html)\b) captures 1 name entity.name.tag.structure.any.html end > 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) captures 1 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|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) captures 1 name entity.name.tag.inline.any.html end > name meta.tag.inline.any.html patterns include #tag-stuff begin </?([a-zA-Z0-9:]+) captures 1 name entity.name.tag.other.html end > name meta.tag.other.html patterns include #tag-stuff include #entities match <> name invalid.illegal.incomplete.html match <(?=\W)|> name invalid.illegal.bad-angle-bracket.html repository embedded-code patterns include #php entities patterns match &([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+); name constant.character.entity.html match & name invalid.illegal.bad-ampersand.html php patterns begin (?:^\s*)(?=<%(#|=|%))(?!.*%>) comment match only multi-line PHP with leading whitespace end (?<=%>)(?:\s*$\n)? name source.prado.embedded.tag patterns include source.prado.php applyEndPatternLast 1 begin (?=<%(#|=|%)) end (?<=%>) name source.prado.embedded.tag patterns include source.prado.php prado-tag-generic-attribute match \b([a-zA-Z\-:]+) name keyword.other.attribute-name.html prado-tag-stuff name keyword.prado.tag.stuff patterns include #prado-tag-generic-attribute include #string-double-quoted include #string-single-quoted include #embedded-code string-double-quoted begin " end " name string.quoted.double.html patterns include #embedded-code include #entities string-single-quoted begin ' end ' name string.quoted.single.html patterns include #embedded-code include #entities tag-generic-attribute match \b([a-zA-Z\-:]+) name meta.other.attribute-name.html tag-stuff patterns include #tag-generic-attribute include #string-double-quoted include #string-single-quoted include #embedded-code scopeName text.html.basic uuid 3E75ACFD-E0F4-4564-9A24-DCB08AD6324D