<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -8,7 +8,7 @@ CodeSense Providers map contexts in a document to possible completions. The actu
 	
 	&lt;!-- ColdFusion tags --&gt;
 	&lt;provider&gt;
-		&lt;selector&gt;sourcecode.cfm - *, meta.tag.self-closing.cfm, meta.tag.cfoutput.cfm, meta.tag.cfquery.cfm, meta.tag.any.cfm&lt;/selector&gt;
+		&lt;selector&gt;sourcecode.cfm - *, meta.tag.cfoutput.cfm, meta.tag.cfquery.cfm, meta.tag.self-closing.cfm, meta.tag.open.other.cfm&lt;/selector&gt;
 		&lt;completions&gt;com.scottmebberson.cfml.tags&lt;/completions&gt;
 		&lt;complete-match capture=&quot;2&quot;&gt;(&amp;lt;)([a-zA-Z0-9-]*)&lt;/complete-match&gt;
 		&lt;require-suffix&gt;(\s|&gt;|^)&lt;/require-suffix&gt;
@@ -16,7 +16,7 @@ CodeSense Providers map contexts in a document to possible completions. The actu
 	
 	&lt;!-- HTML attributes --&gt;
 	&lt;provider&gt;
-		&lt;selector&gt;meta.tag.any.cfm:has-child(name:capture(tag))&lt;/selector&gt;
+		&lt;selector&gt;meta.tag.open.cfm:has-child(name:capture(tag)) &gt; attribute-name, meta.tag.open.cfm:has-child(name:capture(tag)) &gt; punctuation.definition.end, meta.tag.open.cfm:has-child(name:capture(tag))&lt;/selector&gt;
 		&lt;completions&gt;com.scottmebberson.cfml.tag.${tag}.attributes&lt;/completions&gt;
 		&lt;complete-match capture=&quot;2&quot;&gt;(\s)([a-zA-Z0-9-]*)&lt;/complete-match&gt;
 		&lt;require-suffix&gt;(\s|=|&gt;|^)&lt;/require-suffix&gt;</diff>
      <filename>CodeSenseProviders/ColdFusion.xml</filename>
    </modified>
    <modified>
      <diff>@@ -52,7 +52,7 @@
 
 		&lt;zone name=&quot;meta.tag.self-closing.cfm&quot;&gt;
 			&lt;starts-with&gt;
-				&lt;expression&gt;(&amp;lt;)(cfabort|cfset|cfargument|cfreturn)&lt;/expression&gt;
+				&lt;expression&gt;(&amp;lt;)((?i:cf)(abort|else|set|argument|return))&lt;/expression&gt;
 				&lt;capture number=&quot;1&quot; name=&quot;punctuation.definition.begin&quot;/&gt;
 				&lt;capture number=&quot;2&quot; name=&quot;entity.name.tag.cfm&quot;/&gt;
 			&lt;/starts-with&gt;
@@ -66,19 +66,53 @@
 			&lt;/subzones&gt;
 		&lt;/zone&gt;
         
-        &lt;zone name=&quot;meta.tag.any.cfm&quot;&gt;
+        &lt;zone name=&quot;meta.tag.open.other.cfm&quot;&gt;
             &lt;starts-with&gt;
-                &lt;expression&gt;&amp;lt;/?((?i:cf)([a-zA-Z0-9]+))(?=[^&gt;]*&gt;)&lt;/expression&gt;
-                &lt;capture number=&quot;1&quot; name=&quot;entity.name.tag.cfm&quot;/&gt;
+                &lt;expression&gt;(&amp;lt;)((?i:cf)([a-zA-Z0-9]+))(?=[^&gt;]*&gt;)&lt;/expression&gt;
+                &lt;capture number=&quot;1&quot; name=&quot;punctuation.definition.begin&quot;/&gt;
+                &lt;capture number=&quot;2&quot; name=&quot;entity.name.tag.cfm&quot;/&gt;
             &lt;/starts-with&gt;
             &lt;ends-with&gt;
-                &lt;expression&gt;&gt;&lt;/expression&gt;
+                &lt;expression&gt;(/?)(&gt;)&lt;/expression&gt;
+				&lt;capture number=&quot;1&quot; name=&quot;punctuation.definition.end.self-closing&quot;/&gt;
+				&lt;capture number=&quot;2&quot; name=&quot;punctuation.definition.end&quot;/&gt;
+            &lt;/ends-with&gt;
+            &lt;subzones&gt;
+                &lt;include collection=&quot;tag-stuff&quot;/&gt;
+            &lt;/subzones&gt;
+        &lt;/zone&gt;
+        
+        &lt;zone name=&quot;meta.tag.close.other.cfm&quot;&gt;
+            &lt;starts-with&gt;
+                &lt;expression&gt;(&amp;lt;/)((?i:cf)([a-zA-Z0-9]+))(?=[^&gt;]*&gt;)&lt;/expression&gt;
+                &lt;capture number=&quot;1&quot; name=&quot;punctuation.definition.begin&quot;/&gt;
+                &lt;capture number=&quot;2&quot; name=&quot;entity.name.tag.cfm&quot;/&gt;
+            &lt;/starts-with&gt;
+            &lt;ends-with&gt;
+                &lt;expression&gt;(&gt;)&lt;/expression&gt;
+				&lt;capture number=&quot;2&quot; name=&quot;punctuation.definition.end&quot;/&gt;
             &lt;/ends-with&gt;
             &lt;subzones&gt;
                 &lt;include collection=&quot;tag-stuff&quot;/&gt;
             &lt;/subzones&gt;
         &lt;/zone&gt;
         
+        &lt;!-- zone name=&quot;meta.tag.any.cfm&quot;&gt;
+            &lt;starts-with&gt;
+                &lt;expression&gt;(&amp;lt;)/?((?i:cf)([a-zA-Z0-9]+))(?=[^&gt;]*&gt;)&lt;/expression&gt;
+                &lt;capture number=&quot;1&quot; name=&quot;punctuation.definition.begin&quot;/&gt;
+                &lt;capture number=&quot;2&quot; name=&quot;entity.name.tag.cfm&quot;/&gt;
+            &lt;/starts-with&gt;
+            &lt;ends-with&gt;
+                &lt;expression&gt;(/?)(&gt;)&lt;/expression&gt;
+				&lt;capture number=&quot;1&quot; name=&quot;punctuation.definition.end.self-closing&quot;/&gt;
+				&lt;capture number=&quot;2&quot; name=&quot;punctuation.definition.end&quot;/&gt;
+            &lt;/ends-with&gt;
+            &lt;subzones&gt;
+                &lt;include collection=&quot;tag-stuff&quot;/&gt;
+            &lt;/subzones&gt;
+        &lt;/zone --&gt;
+        
         &lt;include collection=&quot;coldfusion-comment&quot;/&gt;
         &lt;!-- include syntax=&quot;text.html.basic&quot;/ --&gt;
         
@@ -134,10 +168,28 @@
                 &lt;/subzones&gt;
             &lt;/zone&gt;
         &lt;/collection&gt;
-        &lt;collection name=&quot;tag-generic-attribute&quot;&gt;
+        &lt;!-- collection name=&quot;tag-generic-attribute&quot;&gt;
             &lt;zone name=&quot;entity.other.attribute-name.cfm&quot;&gt;
                 &lt;expression&gt;\b([a-zA-Z\-:]+)&lt;/expression&gt;
             &lt;/zone&gt;
+        &lt;/collection --&gt;
+        &lt;collection name=&quot;tag-attributes&quot;&gt;
+            &lt;zone&gt;
+                &lt;expression&gt;\s+([-_a-zA-Z0-9:]+)(=)&lt;/expression&gt;
+                &lt;capture number=&quot;1&quot; name=&quot;attribute-name&quot;&gt;
+					&lt;subzones&gt;
+						&lt;zone&gt;
+							&lt;expression&gt;([^:]+)(:)(.*)&lt;/expression&gt;
+							&lt;capture number=&quot;1&quot; name=&quot;namespace&quot;/&gt;
+							&lt;capture number=&quot;2&quot; name=&quot;punctuation.separator&quot;/&gt;
+							&lt;capture number=&quot;3&quot; name=&quot;localname&quot;/&gt;
+						&lt;/zone&gt;
+					&lt;/subzones&gt;
+				&lt;/capture&gt;
+                &lt;capture number=&quot;2&quot; name=&quot;punctuation.separator.attribute&quot;/&gt;
+                &lt;capture number=&quot;3&quot; name=&quot;punctuation.separator.namespace&quot;/&gt;
+            &lt;/zone&gt;
+            &lt;include collection=&quot;strings&quot;/&gt;
         &lt;/collection&gt;
         &lt;collection name=&quot;tag-id-attribute&quot;&gt;
             &lt;zone name=&quot;meta.attribute-with-value.id.cfm&quot;&gt;
@@ -179,7 +231,7 @@
         &lt;/collection&gt;
         &lt;collection name=&quot;tag-stuff&quot;&gt;
             &lt;include collection=&quot;tag-id-attribute&quot;/&gt;
-            &lt;include collection=&quot;tag-generic-attribute&quot;/&gt;
+            &lt;include collection=&quot;tag-attributes&quot;/&gt;
             &lt;include collection=&quot;string-double-quoted&quot;/&gt;
             &lt;include collection=&quot;string-single-quoted&quot;/&gt;
             &lt;include collection=&quot;embedded-code&quot;/&gt;</diff>
      <filename>Syntaxes/ColdFusionSyntax.xml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>65bbf5a06766766c45f36450a056e6540a42cb7a</id>
    </parent>
  </parents>
  <author>
    <name>Scott Mebberson</name>
    <email>scott@scottmebberson.com</email>
  </author>
  <url>http://github.com/smebberson/coldfusion.sugar/commit/84362b94b3b2a7c9aaa9fc7b732cfe9f60224bbd</url>
  <id>84362b94b3b2a7c9aaa9fc7b732cfe9f60224bbd</id>
  <committed-date>2009-04-21T06:40:52-07:00</committed-date>
  <authored-date>2009-04-21T06:40:52-07:00</authored-date>
  <message>Completely restructure core ColdFusion Syntax definitions
Modelled the changes on the XML+HTML sugar
Fixed a problem with attribute hinting appearing after the spacebar within the tag child i.e. &lt;&gt;...&lt;/&gt;, rather than within the tag itself as it should be i.e. &lt;...&gt;&lt;/&gt; </message>
  <tree>f973116cc4e867e5163a2c5584974ba5dbb41ab8</tree>
  <committer>
    <name>Scott Mebberson</name>
    <email>scott@scottmebberson.com</email>
  </committer>
</commit>
