summaryrefslogtreecommitdiff
path: root/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage
diff options
context:
space:
mode:
Diffstat (limited to 'editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage')
-rw-r--r--editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage670
1 files changed, 670 insertions, 0 deletions
diff --git a/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage
new file mode 100644
index 00000000..ca67d3af
--- /dev/null
+++ b/editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage
@@ -0,0 +1,670 @@
+<?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>foldingStartMarker</key>
+ <string>(?x)
+ (&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b
+ |&lt;!--(?!.*--&gt;)
+ |&lt;(?i:(com|prop):[a-zA-z0-9.]+)(.*(?&lt;!\/)&gt;)
+ )</string>
+ <key>foldingStopMarker</key>
+ <string>(?x)
+ (&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)&gt;
+ |^\s*--&gt;
+ |&lt;/(?i:(com|prop):[a-zA-z0-9.]+)&gt;
+ )</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>(&lt;/?(?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>(?&lt;!%)(\/?&gt;)</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>(&lt;/?(?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>(?&lt;!%)(\/?&gt;)</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>(&lt;%@)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.prado.tag.page</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(%&gt;)</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>(&lt;%\[)</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>(\]%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.component.tag.localize</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%\$)\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*(%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.component.tag.parameter</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;%~)\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*(%&gt;)</string>
+ <key>name</key>
+ <string>source.prado.component.tag.asset</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;([a-zA-Z0-9:]+)(?=[^&gt;]*&gt;&lt;/\1&gt;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;(&lt;)/(\1)&gt;</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>meta.scope.between-tag-pair.html</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.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>&lt;\?(xml)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.xml.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\?&gt;</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>&lt;!--</string>
+ <key>end</key>
+ <string>--\s*!?&gt;</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>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;!</string>
+ <key>end</key>
+ <string>&gt;</string>
+ <key>name</key>
+ <string>meta.tag.sgml.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(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>(?=&gt;)</string>
+ <key>name</key>
+ <string>meta.tag.sgml.doctype.html</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>"[^"&gt;]*"</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>]](?=&gt;)</string>
+ <key>name</key>
+ <string>constant.other.inline-data.html</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\s*)(?!--|&gt;)\S(\s*)</string>
+ <key>name</key>
+ <string>invalid.illegal.bad-comments-or-CDATA.html</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#php</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(?:^\s+)?&lt;((?i:style))\b(?![^&gt;]*/&gt;)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.style.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&lt;/((?i:style))&gt;(?:\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>&gt;</string>
+ <key>end</key>
+ <string>(?=&lt;/(?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+)?&lt;((?i:script))\b(?![^&gt;]*/&gt;)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.script.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?&lt;=&lt;/(script|SCRIPT))&gt;(?:\s*\n)?</string>
+ <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>(?&lt;!&lt;/(?:script|SCRIPT))&gt;</string>
+ <key>end</key>
+ <string>&lt;/((?i:script))</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>//.*?((?=&lt;/script)|$\n?)</string>
+ <key>name</key>
+ <string>comment.line.double-slash.js</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>/\*</string>
+ <key>end</key>
+ <string>\*/|(?=&lt;/script)</string>
+ <key>name</key>
+ <string>comment.block.js</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>source.js</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>&lt;/?((?i:body|head|html)\b)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.structure.any.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <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>&lt;/?((?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>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.block.any.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <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>&lt;/?((?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>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.inline.any.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <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>&lt;/?([a-zA-Z0-9:]+)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.tag.other.html</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>&gt;</string>
+ <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>&lt;&gt;</string>
+ <key>name</key>
+ <string>invalid.illegal.incomplete.html</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>&lt;(?=\W)|&gt;</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>match</key>
+ <string>&amp;([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>&amp;</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*)(?=&lt;%(#|=|%))(?!.*%&gt;)</string>
+ <key>comment</key>
+ <string>match only multi-line PHP with leading whitespace</string>
+ <key>end</key>
+ <string>(?&lt;=%&gt;)(?:\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>(?=&lt;%(#|=|%))</string>
+ <key>end</key>
+ <string>(?&lt;=%&gt;)</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>end</key>
+ <string>"</string>
+ <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>end</key>
+ <string>'</string>
+ <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>meta.other.attribute-name.html</string>
+ </dict>
+ <key>tag-stuff</key>
+ <dict>
+ <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>
+ <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>