From c9abae64d4ccc54570d5cf51e9b3a6f54877e5c3 Mon Sep 17 00:00:00 2001 From: rojaro <> Date: Mon, 2 Nov 2009 06:28:17 +0000 Subject: added a few new snippets to the textmate bundle --- .../Syntaxes/Prado Template.tmLanguage | 670 +++++++++++++++++++++ 1 file changed, 670 insertions(+) create mode 100644 editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage (limited to 'editors/Textmate/Prado.tmbundle/Syntaxes/Prado Template.tmLanguage') 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 @@ + + + + + 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 + + -- cgit v1.2.3