<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>comment</key> <string>Prado Template syntax, based on HTML language and custom PHP syntax.</string> <key>fileTypes</key> <array> <string>tpl</string> <string>page</string> </array> <key>firstLineMatch</key> <string><!(?i:DOCTYPE)|<(?i:html)|<\?(?i:php)</string> <key>foldingStartMarker</key> <string>(?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*$|(?!.*?\*/))) |<(?i:(com|prop):[a-zA-z0-9.]+)(.*(?<!\/)>) )</string> <key>foldingStopMarker</key> <string>(?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) |^[^{]*\} |</(?i:(com|prop):[a-zA-z0-9.]+)> )</string> <key>keyEquivalent</key> <string>^~A</string> <key>name</key> <string>Prado Template</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#php</string> </dict> <dict> <key>begin</key> <string>(</?(?i:(com:[a-zA-z0-9.]+)))</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>entity.prado.tag.component</string> </dict> </dict> <key>end</key> <string>(?<!%)(\/?>)</string> <key>name</key> <string>source.prado.tag.component</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#prado-tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(</?(?i:(prop:[a-zA-z0-9.]+)))</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>storage.prado.tag.prop</string> </dict> </dict> <key>end</key> <string>(?<!%)(\/?>)</string> <key>name</key> <string>source.prado.tag.prop</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#prado-tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(<%@)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>entity.prado.tag.page</string> </dict> </dict> <key>end</key> <string>(%>)</string> <key>name</key> <string>source.prado.tag.page</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#prado-tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(<%\[)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>constant.prado.tag.localize</string> </dict> </dict> <key>contentName</key> <string>string.quoted.double.html</string> <key>end</key> <string>(\]%>)</string> <key>name</key> <string>source.prado.component.tag.localize</string> </dict> <dict> <key>begin</key> <string>(<%\$)\s*</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>constant.prado.tag.parameter</string> </dict> </dict> <key>contentName</key> <string>keyword.prado.tag.parameter</string> <key>end</key> <string>\s*(%>)</string> <key>name</key> <string>source.prado.component.tag.parameter</string> </dict> <dict> <key>begin</key> <string>(<%~)\s*</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>constant.prado.tag.asset</string> </dict> </dict> <key>contentName</key> <string>asset.prado.tag.asset</string> <key>end</key> <string>\s*(%>)</string> <key>name</key> <string>source.prado.component.tag.asset</string> </dict> <dict> <key>begin</key> <string>(<)([a-zA-Z0-9:]++)(?=[^>]*></\2>)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.html</string> </dict> </dict> <key>end</key> <string>(>)(<)(/)(\2)(>)</string> <key>endCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.end.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html</string> </dict> <key>3</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html</string> </dict> <key>4</key> <dict> <key>name</key> <string>entity.name.tag.html</string> </dict> <key>5</key> <dict> <key>name</key> <string>punctuation.definition.tag.end.html</string> </dict> </dict> <key>name</key> <string>meta.tag.any.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(<\?)(xml)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.xml.html</string> </dict> </dict> <key>end</key> <string>(\?>)</string> <key>name</key> <string>meta.tag.preprocessor.xml.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-generic-attribute</string> </dict> <dict> <key>include</key> <string>#string-double-quoted</string> </dict> <dict> <key>include</key> <string>#string-single-quoted</string> </dict> </array> </dict> <dict> <key>begin</key> <string><!--</string> <key>captures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.comment.html</string> </dict> </dict> <key>end</key> <string>--\s*></string> <key>name</key> <string>comment.block.html</string> <key>patterns</key> <array> <dict> <key>match</key> <string>--</string> <key>name</key> <string>invalid.illegal.bad-comments-or-CDATA.html</string> </dict> <dict> <key>include</key> <string>#embedded-code</string> </dict> </array> </dict> <dict> <key>begin</key> <string><!</string> <key>captures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> </dict> <key>end</key> <string>></string> <key>name</key> <string>meta.tag.sgml.html</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>(?i:DOCTYPE)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>entity.name.tag.doctype.html</string> </dict> </dict> <key>end</key> <string>(?=>)</string> <key>name</key> <string>meta.tag.sgml.doctype.html</string> <key>patterns</key> <array> <dict> <key>match</key> <string>"[^">]*"</string> <key>name</key> <string>string.quoted.double.doctype.identifiers-and-DTDs.html</string> </dict> </array> </dict> <dict> <key>begin</key> <string>\[CDATA\[</string> <key>end</key> <string>]](?=>)</string> <key>name</key> <string>constant.other.inline-data.html</string> </dict> <dict> <key>match</key> <string>(\s*)(?!--|>)\S(\s*)</string> <key>name</key> <string>invalid.illegal.bad-comments-or-CDATA.html</string> </dict> </array> </dict> <dict> <key>include</key> <string>#embedded-code</string> </dict> <dict> <key>begin</key> <string>(?:^\s+)?(<)((?i:style))\b(?![^>]*/>)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.style.html</string> </dict> <key>3</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> </dict> <key>end</key> <string>(</)((?i:style))(>)(?:\s*\n)?</string> <key>name</key> <string>source.css.embedded.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> <dict> <key>begin</key> <string>(>)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> </dict> <key>end</key> <string>(?=</(?i:style))</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#embedded-code</string> </dict> <dict> <key>include</key> <string>source.css</string> </dict> </array> </dict> </array> </dict> <dict> <key>begin</key> <string>(?:^\s+)?(<)((?i:script))\b(?![^>]*/>)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.script.html</string> </dict> </dict> <key>end</key> <string>(?<=</(script|SCRIPT))(>)(?:\s*\n)?</string> <key>endCaptures</key> <dict> <key>2</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> </dict> <key>name</key> <string>source.js.embedded.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> <dict> <key>begin</key> <string>(?<!</(?:script|SCRIPT))(>)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.script.html</string> </dict> </dict> <key>end</key> <string>(</)((?i:script))</string> <key>patterns</key> <array> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.comment.js</string> </dict> </dict> <key>match</key> <string>(//).*?((?=</script)|$\n?)</string> <key>name</key> <string>comment.line.double-slash.js</string> </dict> <dict> <key>begin</key> <string>/\*</string> <key>captures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.comment.js</string> </dict> </dict> <key>end</key> <string>\*/|(?=</script)</string> <key>name</key> <string>comment.block.js</string> </dict> <dict> <key>include</key> <string>#php</string> </dict> <dict> <key>include</key> <string>source.js</string> </dict> </array> </dict> </array> </dict> <dict> <key>begin</key> <string>(</?)((?i:body|head|html)\b)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.structure.any.html</string> </dict> </dict> <key>end</key> <string>(>)</string> <key>endCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.end.html</string> </dict> </dict> <key>name</key> <string>meta.tag.structure.any.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(</?)((?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)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.block.any.html</string> </dict> </dict> <key>end</key> <string>(>)</string> <key>endCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.end.html</string> </dict> </dict> <key>name</key> <string>meta.tag.block.any.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(</?)((?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)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.inline.any.html</string> </dict> </dict> <key>end</key> <string>((?: ?/)?>)</string> <key>endCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.end.html</string> </dict> </dict> <key>name</key> <string>meta.tag.inline.any.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(</?)([a-zA-Z0-9:]+)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.begin.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.name.tag.other.html</string> </dict> </dict> <key>end</key> <string>(>)</string> <key>endCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.tag.end.html</string> </dict> </dict> <key>name</key> <string>meta.tag.other.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-stuff</string> </dict> </array> </dict> <dict> <key>include</key> <string>#entities</string> </dict> <dict> <key>match</key> <string><></string> <key>name</key> <string>invalid.illegal.incomplete.html</string> </dict> <dict> <key>match</key> <string><</string> <key>name</key> <string>invalid.illegal.bad-angle-bracket.html</string> </dict> </array> <key>repository</key> <dict> <key>embedded-code</key> <dict> <key>patterns</key> <array> <dict> <key>include</key> <string>#php</string> </dict> </array> </dict> <key>entities</key> <dict> <key>patterns</key> <array> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.entity.html</string> </dict> <key>3</key> <dict> <key>name</key> <string>punctuation.definition.entity.html</string> </dict> </dict> <key>match</key> <string>(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string> <key>name</key> <string>constant.character.entity.html</string> </dict> <dict> <key>match</key> <string>&</string> <key>name</key> <string>invalid.illegal.bad-ampersand.html</string> </dict> </array> </dict> <key>php</key> <dict> <key>patterns</key> <array> <dict> <key>begin</key> <string>(?:^\s*)(?=<%(#|=|%))(?!.*%>)</string> <key>comment</key> <string>match only multi-line PHP with leading whitespace</string> <key>end</key> <string>(?<=%>)(?:\s*$\n)?</string> <key>name</key> <string>source.prado.embedded.tag</string> <key>patterns</key> <array> <dict> <key>include</key> <string>source.prado.php</string> </dict> </array> </dict> <dict> <key>applyEndPatternLast</key> <integer>1</integer> <key>begin</key> <string>(?=<%(#|=|%))</string> <key>end</key> <string>(?<=%>)</string> <key>name</key> <string>source.prado.embedded.tag</string> <key>patterns</key> <array> <dict> <key>include</key> <string>source.prado.php</string> </dict> </array> </dict> </array> </dict> <key>prado-tag-generic-attribute</key> <dict> <key>match</key> <string>\b([a-zA-Z\-:]+)</string> <key>name</key> <string>keyword.other.attribute-name.html</string> </dict> <key>prado-tag-stuff</key> <dict> <key>name</key> <string>keyword.prado.tag.stuff</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#prado-tag-generic-attribute</string> </dict> <dict> <key>include</key> <string>#string-double-quoted</string> </dict> <dict> <key>include</key> <string>#string-single-quoted</string> </dict> <dict> <key>include</key> <string>#embedded-code</string> </dict> </array> </dict> <key>string-double-quoted</key> <dict> <key>begin</key> <string>"</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.html</string> </dict> </dict> <key>end</key> <string>"</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.html</string> </dict> </dict> <key>name</key> <string>string.quoted.double.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#embedded-code</string> </dict> <dict> <key>include</key> <string>#entities</string> </dict> </array> </dict> <key>string-single-quoted</key> <dict> <key>begin</key> <string>'</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.html</string> </dict> </dict> <key>end</key> <string>'</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.html</string> </dict> </dict> <key>name</key> <string>string.quoted.single.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#embedded-code</string> </dict> <dict> <key>include</key> <string>#entities</string> </dict> </array> </dict> <key>tag-generic-attribute</key> <dict> <key>match</key> <string>\b([a-zA-Z\-:]+)</string> <key>name</key> <string>entity.other.attribute-name.html</string> </dict> <key>tag-id-attribute</key> <dict> <key>begin</key> <string>\b(id)\b\s*(=)</string> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>entity.other.attribute-name.id.html</string> </dict> <key>2</key> <dict> <key>name</key> <string>punctuation.separator.key-value.html</string> </dict> </dict> <key>end</key> <string>(?<='|")</string> <key>name</key> <string>meta.attribute-with-value.id.html</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>"</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.html</string> </dict> </dict> <key>contentName</key> <string>meta.toc-list.id.html</string> <key>end</key> <string>"</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.html</string> </dict> </dict> <key>name</key> <string>string.quoted.double.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#embedded-code</string> </dict> <dict> <key>include</key> <string>#entities</string> </dict> </array> </dict> <dict> <key>begin</key> <string>'</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.html</string> </dict> </dict> <key>contentName</key> <string>meta.toc-list.id.html</string> <key>end</key> <string>'</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.html</string> </dict> </dict> <key>name</key> <string>string.quoted.single.html</string> <key>patterns</key> <array> <dict> <key>include</key> <string>#embedded-code</string> </dict> <dict> <key>include</key> <string>#entities</string> </dict> </array> </dict> </array> </dict> <key>tag-stuff</key> <dict> <key>patterns</key> <array> <dict> <key>include</key> <string>#tag-id-attribute</string> </dict> <dict> <key>include</key> <string>#tag-generic-attribute</string> </dict> <dict> <key>include</key> <string>#string-double-quoted</string> </dict> <dict> <key>include</key> <string>#string-single-quoted</string> </dict> <dict> <key>include</key> <string>#embedded-code</string> </dict> </array> </dict> </dict> <key>scopeName</key> <string>text.html.basic</string> <key>uuid</key> <string>3E75ACFD-E0F4-4564-9A24-DCB08AD6324D</string> </dict> </plist>