Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
1376 lines (1375 sloc) 31.9 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<!-- <string>html</string>
<string>htm</string>
<string>shtml</string>
<string>xhtml</string>
<string>phtml</string>
<string>inc</string>
<string>tmpl</string>
<string>tpl</string>
<string>ctp</string> -->
</array>
<key>firstLineMatch</key>
<string>&lt;!(?i:DOCTYPE)|&lt;(?i:html)|&lt;\?(?i:php)</string>
<key>foldingStartMarker</key>
<string>(?x)
(&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)\b.*?&gt;
|&lt;!--(?!.*--\s*&gt;)
|^&lt;!--\ \#tminclude\ (?&gt;.*?--&gt;)$
|&lt;\?(?:php)?.*\b(if|for(each)?|while)\b.+:
|\{\{?(if|foreach|capture|literal|foreach|php|section|strip)
|\{\s*($|\?&gt;\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
)</string>
<key>foldingStopMarker</key>
<string>(?x)
(&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)&gt;
|^(?!.*?&lt;!--).*?--\s*&gt;
|^&lt;!--\ end\ tminclude\ --&gt;$
|&lt;\?(?:php)?.*\bend(if|for(each)?|while)\b
|\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)
|^[^{]*\}
)</string>
<key>keyEquivalent</key>
<string>^~H</string>
<key>name</key>
<string>HTML+CFML (do not use)</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(&lt;\?)(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>(\?&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>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.html</string>
</dict>
</dict>
<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>
<dict>
<key>include</key>
<string>#embedded-code</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>&lt;!</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.tag.html</string>
</dict>
</dict>
<key>end</key>
<string>&gt;</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>(?=&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>#embedded-code</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>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>(&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>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.tag.html</string>
</dict>
</dict>
<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>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>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\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>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</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>(&lt;/)((?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>(//).*?((?=&lt;/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>\*/|(?=&lt;/script)</string>
<key>name</key>
<string>comment.block.js</string>
</dict>
<!-- highlights cfml tags in script blocks -->
<dict>
<key>include</key>
<string>text.html.cfm</string>
</dict>
<dict>
<key>include</key>
<string>#php</string>
</dict>
<dict>
<key>include</key>
<string>#nest-hash</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>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>(&gt;)</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>
<!-- Start upgraded block defs -->
<!-- forms block -->
<dict>
<key>begin</key>
<string>(&lt;/?)((?i:form|fieldset|textarea)\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.form.html</string>
</dict>
</dict>
<key>end</key>
<string>(&gt;)</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.form.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<!-- object block -->
<dict>
<key>begin</key>
<string>(&lt;/?)((?i:object|applet)\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.object.html</string>
</dict>
</dict>
<key>end</key>
<string>(&gt;)</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.object.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<!-- original block def -->
<dict>
<key>begin</key><!-- form|object|applet|fieldset| taken out -->
<string>(&lt;/?)((?i:address|blockquote|dd|div|dl|dt|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|ol|p|ul|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>(&gt;)</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>
<!-- Start upgraded inline defs -->
<!-- img inline -->
<dict>
<key>begin</key>
<string>(&lt;/?)((?i:img|area|map|param)\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.img.html</string>
</dict>
</dict>
<key>end</key>
<string>((?: ?/)?&gt;)</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.img.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<!-- links inline -->
<dict>
<key>begin</key>
<string>(&lt;/?)((?i:a|base)\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.link.html</string>
</dict>
</dict>
<key>end</key>
<string>((?: ?/)?&gt;)</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.link.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<!-- tables inline -->
<dict>
<key>begin</key>
<string>(&lt;/?)((?i:table|tr|td|th|tbody|thead|tfoot|col|colgroup|caption)\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.table.html</string>
</dict>
</dict>
<key>end</key>
<string>((?: ?/)?&gt;)</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.table.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<!-- forms inline -->
<dict>
<key>begin</key>
<string>(&lt;/?)((?i:input|select|option|optgroup|button|label|legend)\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.form.html</string>
</dict>
</dict>
<key>end</key>
<string>((?: ?/)?&gt;)</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.form.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<!-- Original inline defs -->
<dict>
<key>begin</key>
<!-- area|img|map|param| out for img/object-->
<!-- a|base| out for anchors and links -->
<!-- table|tr|td|th|tbody|thead|tfoot|col|colgroup|caption| -->
<!-- input|textarea|select|option|optgroup|button|label|legend| -->
<string>(&lt;/?)((?i:abbr|acronym|b|basefont|bdo|big|br|cite|code|del|dfn|em|font|head|html|i|ins|isindex|kbd|li|link|meta|noscript|q|s|samp|script|small|span|strike|strong|style|sub|sup|title|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>((?: ?/)?&gt;)</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>(&lt;/?)([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>(&gt;)</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>
<!-- Gereral definition moved from the top of the HTML def to lower
priority so it doesn't override new specific tag defs -->
<dict>
<key>begin</key>
<string>(&lt;)([a-zA-Z0-9:]++)(?=[^&gt;]*&gt;&lt;/\2&gt;)</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>(&gt;)(&lt;)(/)(\2)(&gt;)</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>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;</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>#ruby</string>
</dict>
<dict>
<key>include</key>
<string>#php</string>
</dict>
<!--
<dict>
<key>include</key>
<string>#smarty</string>
</dict>
-->
<dict>
<key>include</key>
<string>#python</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>(&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>begin</key>
<string>(?=(^\s*)?&lt;\?)</string>
<key>end</key>
<string>(?!(^\s*)?&lt;\?)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.php</string>
</dict>
</array>
</dict>
<key>python</key>
<dict>
<key>begin</key>
<string>(?:^\s*)&lt;\?python(?!.*\?&gt;)</string>
<key>end</key>
<string>\?&gt;(?:\s*$\n)?</string>
<key>name</key>
<string>source.python.embedded.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.python</string>
</dict>
</array>
</dict>
<key>ruby</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>&lt;%+#</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.erb</string>
</dict>
</dict>
<key>end</key>
<string>%&gt;</string>
<key>name</key>
<string>comment.block.erb</string>
</dict>
<dict>
<key>begin</key>
<string>&lt;%+(?!&gt;)=?</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.section.embedded.ruby</string>
</dict>
</dict>
<key>end</key>
<string>-?%&gt;</string>
<key>name</key>
<string>source.ruby.embedded.html</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.ruby</string>
</dict>
</dict>
<key>match</key>
<string>(#).*?(?=-?%&gt;)</string>
<key>name</key>
<string>comment.line.number-sign.ruby</string>
</dict>
<dict>
<key>include</key>
<string>source.ruby</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>&lt;\?r(?!&gt;)=?</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.section.embedded.ruby.nitro</string>
</dict>
</dict>
<key>end</key>
<string>-?\?&gt;</string>
<key>name</key>
<string>source.ruby.nitro.embedded.html</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.ruby.nitro</string>
</dict>
</dict>
<key>match</key>
<string>(#).*?(?=-?\?&gt;)</string>
<key>name</key>
<string>comment.line.number-sign.ruby.nitro</string>
</dict>
<dict>
<key>include</key>
<string>source.ruby</string>
</dict>
</array>
</dict>
</array>
</dict>
<!--
<key>smarty</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\{(literal)\})</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>source.smarty.embedded.html</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>support.function.built-in.smarty</string>
</dict>
</dict>
<key>end</key>
<string>(\{/(literal)\})</string>
</dict>
<dict>
<key>begin</key>
<string>{{|{</string>
<key>disabled</key>
<integer>1</integer>
<key>end</key>
<string>}}|}</string>
<key>name</key>
<string>source.smarty.embedded.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.smarty</string>
</dict>
</array>
</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>
<!-- highlights hashes in html double quoted attributes -->
<dict>
<key>include</key>
<string>#nest-hash</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>
<!-- highlights hashes in html single quoted attributes -->
<dict>
<key>include</key>
<string>#nest-hash</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>(?&lt;='|")</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>
<!-- highlights hashes in html single quoted id attributes -->
<dict>
<key>include</key>
<string>#nest-hash</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>
<!-- highlights hashes in html single quoted id attributes -->
<dict>
<key>include</key>
<string>#nest-hash</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>cfcomments</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>&lt;!---.*---&gt;</string>
<key>name</key>
<string>comment.line.cfml</string>
</dict>
<dict>
<key>begin</key>
<string>&lt;!---</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.cfml</string>
</dict>
</dict>
<key>end</key>
<string>---&gt;</string>
<key>name</key>
<string>comment.block.cfml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#cfcomments</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>tag-stuff</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#nest-hash</string>
</dict>
<dict>
<key>include</key>
<string>#cfcomments</string>
</dict>
<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>
<!-- added from cf to highlight hashes in quoted html attribute strings -->
<key>nest-hash</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>##</string>
<key>name</key>
<string>string.escaped.hash.html</string>
</dict>
<dict>
<key>match</key>
<string>(?x)
(\#)
(?! # zero width negative lookahead assertion
(
([\w$]+ # assertion for plain variables or function names including currency symbol "$"
(
(\[.*\]) # asserts a match for anything in square brackets
|
(\(.*\)) # or anything in parens
|
(\.[\w$]+)* # or zero or more "dot" notated variables
|
(\s*[\+\-\*\/&amp;]\s*[\w$]+) # or simple arithmentic operators + concatenation
|
(\s*&amp;\s*["|'].+["|']) # or concatenation with a quoted string
)* # asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times
)
|
(\(.*\)) # asserts a match for anything in parens
)\# # asserts closing hash
)</string>
<key>name</key>
<string>invalid.illegal.unescaped.hash.html</string>
</dict>
<!-- Match the start of interpolated hashes but ignore single hashes that are unmatched -->
<dict>
<key>begin</key>
<string>(?x)
(\#)
(?= # zero width negative lookahead assertion
(
([\w$]+ # assertion for plain variables or function names including currency symbol "$"
(
(\[.*\]) # asserts a match for anything in square brackets
|
(\(.*\)) # or anything in parens
|
(\.[\w$]+)* # or zero or more "dot" notated variables
|
(\s*[\+\-\*\/&amp;]\s*[\w$]+) # or simple arithmentic operators + concatenation
|
(\s*&amp;\s*["|'].+["|']) # or concatenation with a quoted string
)* # asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times
)
|
(\(.*\)) # asserts a match for anything in parens
)\# # asserts closing hash
)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.hash.begin.html</string>
</dict>
</dict>
<key>end</key>
<string>(#)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.hash.end.html</string>
</dict>
</dict>
<key>contentName</key>
<string>source.cfscript.embedded.html</string>
<key>name</key>
<string>meta.name.interpolated.hash.html</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.cfscript</string>
</dict>
</array>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>text.html.coldfusion</string>
<key>uuid</key>
<string>b2e03230-b205-4546-884e-ba107e964e46</string>
</dict>
</plist>
Something went wrong with that request. Please try again.