<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I have modified the Interface and Class declarations in the PHP language definition to add support for namespaces for PHP 5.3.0.  This highlights each individual namespace "segment" as a class name.  It works on implements/extends as well.</div><div><br></div><div>Here's a screenshot of what it looks like in action:</div><div><br></div><div><img height="229" width="684" apple-width="yes" apple-height="yes" src="cid:7F8BD0DF-2286-437E-8505-69F920A1ACB0@cg.shawcable.net"></div><div><br></div><div>And here's the code:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">             </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>name = 'meta.interface.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>begin = '^\s*(interface)\s+([a-zA-Z0-9_]+)\s*';</div><div><span class="Apple-tab-span" style="white-space:pre">                      </span>end = '$';</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>beginCaptures = {</div><div><span class="Apple-tab-span" style="white-space:pre">                            </span>1 = { name = 'storage.type.interface.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>2 = { name = 'entity.name.interface.declaration.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                     </span>};</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                         </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>name = 'meta.interface.extends.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                         </span>    begin = '(extends)\s*';</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>    end = '$';</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>    beginCaptures = {</div><div><span class="Apple-tab-span" style="white-space:pre">                              </span>        1 = { name = 'storage.modifier.extends.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                          </span>    };</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>    patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                           </span>        {   name = 'entity.name.interface.extends.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>            match = '[a-zA-Z0-9_]+';</div><div><span class="Apple-tab-span" style="white-space:pre">                           </span>        },</div><div><span class="Apple-tab-span" style="white-space:pre">                               </span>    );</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>);</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>name = 'meta.class.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                     </span>begin = '^\s*(abstract)?\s*(class)\s+([a-zA-Z0-9_]+)\s*';</div><div><span class="Apple-tab-span" style="white-space:pre">                    </span>end = '$';</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>beginCaptures = {</div><div><span class="Apple-tab-span" style="white-space:pre">                            </span>1 = { name = 'storage.modifier.abstract.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>2 = { name = 'storage.type.class.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                            </span>3 = { name = 'entity.name.class.declaration.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>};</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                         </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>name = 'meta.class.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>    begin = '(extends)\s+';</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>    end = '\s+';</div><div><span class="Apple-tab-span" style="white-space:pre">                                   </span>beginCaptures = {</div><div><span class="Apple-tab-span" style="white-space:pre">                                            </span>1 = { name = 'storage.modifier.extends.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                                      </span>};</div><div><span class="Apple-tab-span" style="white-space:pre">                                   </span>patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                                 </span>    {   name = 'entity.name.class.inherited.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                                     </span>        match = '[a-zA-Z0-9_]+';</div><div><span class="Apple-tab-span" style="white-space:pre">                                 </span>    },</div><div><span class="Apple-tab-span" style="white-space:pre">                                     </span>);</div><div><span class="Apple-tab-span" style="white-space:pre">                           </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                           </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>begin = '(implements)\s+';</div><div><span class="Apple-tab-span" style="white-space:pre">                                   </span>end = '(?=\s*extends\s*)|$';</div><div><span class="Apple-tab-span" style="white-space:pre">                                 </span>beginCaptures = {</div><div><span class="Apple-tab-span" style="white-space:pre">                                            </span>1 = { name = 'storage.modifier.implements.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                                           </span>2 = { name = 'entity.name.class.implements.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                                  </span>};</div><div><span class="Apple-tab-span" style="white-space:pre">                                   </span>patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                                         </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>begin = '';</div><div><span class="Apple-tab-span" style="white-space:pre">                                          </span>    end = ',|\s+';</div><div><span class="Apple-tab-span" style="white-space:pre">                                         </span>    patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                                           </span>        {   name = 'entity.name.class.implements.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                                              </span>            match = '([a-zA-Z0-9_]+)';</div><div><span class="Apple-tab-span" style="white-space:pre">                                         </span>        },</div><div><span class="Apple-tab-span" style="white-space:pre">                                               </span>    );</div><div><span class="Apple-tab-span" style="white-space:pre">                                             </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                                   </span>);</div><div><span class="Apple-tab-span" style="white-space:pre">                           </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>);</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>name = 'meta.namespace.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>begin = '^\s*(namespace)\s+([a-zA-Z0-9_]+)\s*';</div><div><span class="Apple-tab-span" style="white-space:pre">                      </span>end = ';|$';</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>beginCaptures = {</div><div><span class="Apple-tab-span" style="white-space:pre">                            </span>1 = { name = 'storage.type.namespace.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>2 = { name = 'entity.name.namespace.declaration.php'; };</div><div><span class="Apple-tab-span" style="white-space:pre">                     </span>};</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>patterns = (</div><div><span class="Apple-tab-span" style="white-space:pre">                         </span>{<span class="Apple-tab-span" style="white-space:pre">   </span>name = 'entity.name.namespace.declaration.php';</div><div><span class="Apple-tab-span" style="white-space:pre">                                      </span>match = '[a-zA-Z0-9_]+';</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>);</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>},</div><div><br></div><div>Hope it can be integrated into future releases.</div><div><br></div><div>-Andrew</div><div><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; ">– – </span></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -khtml-border-horizontal-spacing: 0px; -khtml-border-vertical-spacing: 0px; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; ; font-size: 12px; "><font class="Apple-style-span" color="#666666" size="3"><span class="Apple-style-span" style="font-size: 11px;; color: rgb(102, 102, 102); ; font-family: Helvetica; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Helvetica; min-height: 13px; ; color: rgb(102, 102, 102); font-size: 11px; ; font-family: Helvetica; "><span class="Apple-style-span" style="line-height: 13px;; color: rgb(102, 102, 102); font-size: 11px; ; font-family: Helvetica; "><br style="; color: rgb(102, 102, 102); font-size: 11px; line-height: 13px; ; font-family: Helvetica; "></span></div></span></font></span><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ; font-family: Helvetica; font-size: 12px; "><b style="font-weight: bold; font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-weight: bold; font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; font-weight: bold; "><font class="Apple-style-span" color="#CC9933"><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; ">Andrew </span></span></span></span></font></span></span></span></span></b><b style="font-weight: bold; font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-weight: bold; font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; font-weight: bold; "><font class="Apple-style-span" color="#CC9933"><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(204, 153, 51); font-family: Helvetica; font-size: 12px; font-weight: bold; ">Hanna</span></span></span></span></font></span></span></span></span></b></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ; font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" color="#444444" size="3"><span class="Apple-style-span" style="font-size: 11px;; color: rgb(68, 68, 68); font-family: Helvetica; "><b style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; "><span class="Apple-style-span" style="color: rgb(68, 68, 68); font-family: Helvetica; font-weight: bold; ">Sevenlight Inc.</span></span></span></span></span></span></span></b></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ; font-family: Helvetica; font-size: 12px; "><a href="http://www.sevenlight.com/"><font class="Apple-style-span" face="Lucida Grande" size="2"><span class="Apple-style-span" style="font-size: 10px;; color: rgb(0, 0, 238); -khtml-text-decorations-in-effect: underline; "><font class="Apple-style-span" color="#1E3E69"><span class="Apple-style-span" style="color: rgb(30, 62, 105); font-size: 10px; -khtml-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="color: rgb(30, 62, 105); font-size: 10px; -khtml-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="color: rgb(30, 62, 105); font-size: 10px; -khtml-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="color: rgb(30, 62, 105); font-size: 10px; -khtml-text-decorations-in-effect: underline; ">http://www.sevenlight.com/</span></span></span></span></font></span></font></a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ; font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" color="#666666" size="3"><span class="Apple-style-span" style="font-size: 11px;; color: rgb(102, 102, 102); ; font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-size: 11px; ; font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Helvetica; ">ph 403.770.9544</span></span></span></span></span></span></span></span></span></font></div></span></span></span></span></span></span></span></span></div><br class="Apple-interchange-newline"></span> </div><br></body></html>