]> git.pld-linux.org Git - packages/kdelibs.git/commitdiff
- update kate syntax files
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 22 Oct 2007 17:08:00 +0000 (17:08 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    kdelibs-kate-syntax.patch -> 1.1

kdelibs-kate-syntax.patch [new file with mode: 0644]

diff --git a/kdelibs-kate-syntax.patch b/kdelibs-kate-syntax.patch
new file mode 100644 (file)
index 0000000..63b609b
--- /dev/null
@@ -0,0 +1,10388 @@
+diff -ur kdelibs-3.5.8/kate/data.org/actionscript.xml kdelibs-3.5.8/kate/data/actionscript.xml
+--- kdelibs-3.5.8/kate/data.org/actionscript.xml       2007-01-15 12:33:49.000000000 +0100
++++ kdelibs-3.5.8/kate/data/actionscript.xml   2006-10-30 18:00:03.000000000 +0100
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="ActionScript 2.0" version="1.00" kateversion="2.4" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)"> 
++<language name="ActionScript 2.0" version="1.0" kateversion="2.4" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)"> 
+   <highlighting>
+     
+     <list name="properties">
+@@ -331,4 +331,4 @@
+     </comments>
+     <keywords casesensitive="1"/>
+   </general>
+-</language>
++</language>
+\ Brak znaku nowej linii na końcu pliku
+diff -ur kdelibs-3.5.8/kate/data.org/ada.xml kdelibs-3.5.8/kate/data/ada.xml
+--- kdelibs-3.5.8/kate/data.org/ada.xml        2006-07-22 10:16:36.000000000 +0200
++++ kdelibs-3.5.8/kate/data/ada.xml    2006-08-09 20:12:42.000000000 +0200
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="Ada" version="1.06" kateversion="2.4" section="Sources" extensions="*.adb;*.ads;*.ada;*.a" mimetype="text/x-adasrc">
++<language name="Ada" version="1.07" kateversion="2.4" section="Sources" extensions="*.adb;*.ads;*.ada;*.a" mimetype="text/x-adasrc">
+   <highlighting>
+     <list name="keywords">
+       <item> abort </item>
+@@ -141,16 +141,18 @@
+     </list>
+     <contexts>
+       <context attribute="Normal Text" lineEndContext="#stay" name="Default">
+-        <RegExpr attribute="Keyword" context="#stay" String="if " insensitive="TRUE" beginRegion="Region1" firstNonSpace="true"/>
+-        <StringDetect attribute="Keyword" context="#stay" String="end if" insensitive="TRUE" endRegion="Region1"/>
+-        <RegExpr attribute="Keyword" context="#stay" String="\sloop\s+" insensitive="TRUE" beginRegion="Region3"/>
+-        <RegExpr attribute="Keyword" context="#stay" String="\sloop$" insensitive="TRUE" beginRegion="Region3"/>
+-        <StringDetect attribute="Keyword" context="#stay" String="end loop;" insensitive="TRUE" endRegion="Region3"/>
+-        <RegExpr attribute="Keyword" context="#stay" String="\sselect\s+" insensitive="TRUE" beginRegion="Region4"/>
+-        <RegExpr attribute="Keyword" context="#stay" String="\sselect$" insensitive="TRUE" beginRegion="Region4"/>
+-        <StringDetect attribute="Keyword" context="#stay" String="end select;" insensitive="TRUE" endRegion="Region4"/>
+-        <RegExpr attribute="Keyword" context="#stay" String="\b(begin|case|record)\b" insensitive="true" beginRegion="Region5"/>
+-        <RegExpr attribute="Keyword" context="#stay" String="\bend(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="true" endRegion="Region5"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\brecord\b"       insensitive="true" beginRegion="RecordRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+record\b" insensitive="true"   endRegion="RecordRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bcase\b"         insensitive="true" beginRegion="CaseRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+case\b"   insensitive="true"   endRegion="CaseRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bif\b"           insensitive="true" beginRegion="IfRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+if\b"     insensitive="true"   endRegion="IfRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bloop\b"         insensitive="true" beginRegion="LoopRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+loop\b"   insensitive="true"   endRegion="LoopRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bselect\b"       insensitive="true" beginRegion="SelectRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+select\b" insensitive="true"   endRegion="SelectRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bbegin\b"        insensitive="true" beginRegion="BeginRegion"/>
++        <RegExpr attribute="Keyword" context="#stay" String="\bend\b"          insensitive="true"   endRegion="BeginRegion"/>
+         <StringDetect attribute="Region Marker" context="Region Marker" String="--  BEGIN" beginRegion="RegionMarker" firstNonSpace="true" />
+         <StringDetect attribute="Region Marker" context="Region Marker" String="--  END" endRegion="RegionMarker" firstNonSpace="true" />
+         <keyword attribute="Keyword" context="#stay" String="keywords"/>
+diff -ur kdelibs-3.5.8/kate/data.org/alert.xml kdelibs-3.5.8/kate/data/alert.xml
+--- kdelibs-3.5.8/kate/data.org/alert.xml      2005-10-10 17:05:27.000000000 +0200
++++ kdelibs-3.5.8/kate/data/alert.xml  2007-04-23 18:00:04.000000000 +0200
+@@ -19,14 +19,14 @@
+  *                                                                    *
+  * You should have received a copy of the GNU Library General Public  *
+  * License along with this library; if not, write to the              *
+- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,       *
++ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,   *
+  * Boston, MA  02110-1301, USA.                                       *
+  **********************************************************************
+  This file is included in every file that highlights the "alerts" keywords.
+  That's why extensions and mimetype are empty.
+ -->
+-<language version="1.06" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
++<language version="1.07" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
+   <highlighting>
+     <list name="alerts">
+       <item> FIXME </item>
+@@ -35,6 +35,8 @@
+       <item> NOTICE </item>
+       <item> TASK </item>
+       <item> TODO </item>
++      <item> DEPRECATED </item>
++      <item> WARNING </item>
+       <item> ### </item>
+     </list>
+     <contexts>
+diff -ur kdelibs-3.5.8/kate/data.org/asm-avr.xml kdelibs-3.5.8/kate/data/asm-avr.xml
+--- kdelibs-3.5.8/kate/data.org/asm-avr.xml    2005-10-10 17:05:27.000000000 +0200
++++ kdelibs-3.5.8/kate/data/asm-avr.xml        2007-05-20 13:27:57.000000000 +0200
+@@ -33,7 +33,7 @@
+ -->
+-<language name="AVR Assembler" version="1.03" kateversion="2.4" section="Assembler" extensions="*.asm;*.ASM;*.asm-avr" mimetype="text/x-asm;text/x-asm-avr" author="Roland Nagy" license="GPL">
++<language name="AVR Assembler" version="1.04" kateversion="2.4" section="Assembler" extensions="*.asm;*.ASM;*.asm-avr" mimetype="text/x-asm;text/x-asm-avr" author="Roland Nagy" license="GPL">
+   <highlighting>
+     <list name="keywords">
+       <item> adc</item>
+@@ -46,6 +46,8 @@
+       <item> bld</item>
+       <item> brbc</item>
+       <item> brbs</item>
++      <item> brcc</item>
++      <item> brcs</item>
+       <item> break</item>
+       <item> breq</item>
+       <item> brge</item>
+@@ -96,6 +98,7 @@
+       <item> inc</item>
+       <item> jmp</item>
+       <item> ld</item>
++      <item> ldd</item>
+       <item> ldi</item>
+       <item> lds</item>
+       <item> lpm</item>
+@@ -140,6 +143,7 @@
+       <item> sleep</item>
+       <item> spm</item>
+       <item> st</item>
++      <item> std</item>
+       <item> sts</item>
+       <item> sub</item>
+       <item> subi</item>
+diff -ur kdelibs-3.5.8/kate/data.org/bash.xml kdelibs-3.5.8/kate/data/bash.xml
+--- kdelibs-3.5.8/kate/data.org/bash.xml       2007-01-15 12:33:49.000000000 +0100
++++ kdelibs-3.5.8/kate/data/bash.xml   2007-10-13 00:00:20.000000000 +0200
+@@ -1,15 +1,18 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd"
+ [
+-      <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
+-      <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
+-      <!ENTITY word     "[^|&amp;;()&lt;&gt;\s]+">    <!-- see man bash -->
+-      <!ENTITY eos      "(?=($|\s))">                 <!-- eol or space following -->
+-      <!ENTITY noword   "(?![\w$+-])">                <!-- no word, $, + or - following -->
++        <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
++        <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
++        <!ENTITY word     "[^|&amp;;()&lt;&gt;\s]+">    <!-- see man bash -->
++        <!ENTITY eos      "(?=($|\s))">                 <!-- eol or space following -->
++        <!ENTITY noword   "(?![\w$+-])">                <!-- no word, $, + or - following -->
++        <!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )">     <!-- valid character in a file name -->
+ ]>
+-<language name="Bash" version="2.06" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
++<language name="Bash" version="2.10" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+-<!-- (c) 2004 by Wilbert Berendsen, wilbert@kde.nl
++<!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl)
++    Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)
++    Changes by Sebastian Pipping (webmaster@hartwork.org)
+     Released under the LGPL, part of kdelibs/kate -->
+   <highlighting>
+@@ -21,7 +24,6 @@
+       <item> select </item>
+       <item> until </item>
+       <item> while </item>
+-      <item> . </item>
+       <item> elif </item>
+       <item> then </item>
+       <item> set </item>
+@@ -29,7 +31,6 @@
+     <list name="builtins">
+       <item> : </item>
+-      <item> . </item>
+       <item> source </item>
+       <item> alias </item>
+       <item> bg </item>
+@@ -37,6 +38,7 @@
+       <item> break </item>
+       <item> builtin </item>
+       <item> cd </item>
++      <item> caller </item>
+       <item> command </item>
+       <item> compgen </item>
+       <item> complete </item>
+@@ -68,6 +70,7 @@
+       <item> shopt </item>
+       <item> suspend </item>
+       <item> test </item>
++      <item> time </item>
+       <item> times </item>
+       <item> trap </item>
+       <item> type </item>
+@@ -76,7 +79,7 @@
+       <item> unalias </item>
+       <item> wait </item>
+     </list>
+-    
++
+     <list name="builtins_var">
+       <item> export </item>
+       <item> unset </item>
+@@ -86,7 +89,7 @@
+       <item> read </item>
+       <item> readonly </item>
+     </list>
+-    
++
+     <list name="unixcommands">
+       <!-- /bin -->
+       <item> arch </item>
+@@ -132,6 +135,7 @@
+       <item> getkeycodes </item>
+       <item> gocr </item>
+       <item> grep </item>
++      <item> groff </item>
+       <item> groups </item>
+       <item> gunzip </item>
+       <item> gzexe </item>
+@@ -165,6 +169,7 @@
+       <item> nano </item>
+       <item> netstat </item>
+       <item> nisdomainname </item>
++      <item> nroff </item>
+       <item> openvt </item>
+       <item> pgawk </item>
+       <item> pidof </item>
+@@ -198,6 +203,7 @@
+       <item> tar </item>
+       <item> tempfile </item>
+       <item> touch </item>
++      <item> troff </item>
+       <item> true </item>
+       <item> umount </item>
+       <item> uname </item>
+@@ -414,7 +420,7 @@
+       <item> yes </item>
+       <item> zip </item>
+       <item> zsoelim </item>
+-      
++
+       <!-- others -->
+       <item> dcop </item>
+       <item> kdialog </item>
+@@ -424,317 +430,366 @@
+       <item> xset </item>
+     </list>
+-            
++
+     <contexts>
+       <context attribute="Normal Text" lineEndContext="#stay" name="Start">
+-              <IncludeRules context="FindAll" />
++        <IncludeRules context="FindAll" />
+       </context>
+ <!-- ====== The following rulessets are meant to be included ======== -->
+       <!-- FindAll tries to interpret everything -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="FindAll">
+-              <IncludeRules context="FindComments" />
+-              <IncludeRules context="FindCommands" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <IncludeRules context="FindComments" />
++        <IncludeRules context="FindCommands" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+-      
++
+       <!-- FindMost tries to interpret anything except commands -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="FindMost">
+-              <IncludeRules context="FindComments" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <IncludeRules context="FindComments" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+       <!-- FindComments consumes shell comments till EOL -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="FindComments">
+-              <DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/>
+-      <RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" />
++        <DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/>
++        <RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" />
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="Comment">
+-      <IncludeRules context="##Alerts" />
++        <IncludeRules context="##Alerts" />
+       </context>
+-      
++
+       <!-- FindCommentsParen consumes shell comments till EOL or a closing parenthese -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsParen">
+-              <DetectChar attribute="Comment" context="CommentParen" char="#" firstNonSpace="true"/>
+-      <RegExpr attribute="Normal Text" context="CommentParen" String="[\s;](?=#)" />
++        <DetectChar attribute="Comment" context="CommentParen" char="#" firstNonSpace="true"/>
++        <RegExpr attribute="Normal Text" context="CommentParen" String="[\s;](?=#)" />
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="CommentParen">
+-              <RegExpr attribute="Comment" context="#pop" String="[^)](?=\))" />
+-      <IncludeRules context="##Alerts" />
++        <RegExpr attribute="Comment" context="#pop" String="[^)](?=\))" />
++        <IncludeRules context="##Alerts" />
+       </context>
+-      
++
+       <!-- FindCommentsBackq consumes shell comments till EOL or a backquote -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsBackq">
+-              <DetectChar attribute="Comment" context="CommentBackq" char="#" firstNonSpace="true"/>
+-      <RegExpr attribute="Normal Text" context="CommentBackq" String="[\s;](?=#)" />
++        <DetectChar attribute="Comment" context="CommentBackq" char="#" firstNonSpace="true"/>
++        <RegExpr attribute="Normal Text" context="CommentBackq" String="[\s;](?=#)" />
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
+-              <RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" />
+-      <IncludeRules context="##Alerts" />
++        <RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" />
++        <IncludeRules context="##Alerts" />
+       </context>
+-      
+-      
++
++
+       <!-- FindCommands matches many items that can be expected outside strings, substitutions etc. -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="FindCommands">
+-              <!-- start expression in double parentheses -->
+-              <Detect2Chars attribute="Keyword" context="ExprDblParen" char="(" char1="(" beginRegion="expression" />
+-      <!-- start expression in double brackets -->
+-      <RegExpr attribute="Keyword" context="ExprDblBracket" String="\[\[&eos;" beginRegion="expression" column="0"/>
+-      <RegExpr attribute="Keyword" context="ExprDblBracket" String="\s\[\[&eos;" beginRegion="expression" />
+-      <!-- start expression in single brackets -->
+-      <RegExpr attribute="Builtin" context="ExprBracket" String="\[&eos;" beginRegion="expression" column="0"/>
+-      <RegExpr attribute="Builtin" context="ExprBracket" String="\s\[&eos;" beginRegion="expression" />
+-      <!-- start a group command with { -->
+-      <RegExpr attribute="Keyword" context="Group" String="\{&eos;" beginRegion="group" />
+-              <!-- start a subshell -->
+-      <DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" />
+-      <!-- match do and if blocks -->
+-      <RegExpr attribute="Keyword" context="#stay" String="\bdo&noword;" beginRegion="do" />
+-              <RegExpr attribute="Keyword" context="#stay" String="\bdone&noword;" endRegion="do" />
+-              <RegExpr attribute="Keyword" context="#stay" String="\bif&noword;" beginRegion="if" />
+-              <RegExpr attribute="Keyword" context="#stay" String="\bfi&noword;" endRegion="if" />
+-              <!-- handle case as a special case -->
+-      <RegExpr attribute="Keyword" context="Case" String="\bcase&noword;" beginRegion="case" />
+-      <!-- handle command line options -->
+-      <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
+-      <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
+-      <!-- handle variable assignments -->
+-      <RegExpr attribute="Variable" context="Assign" String="\b&varname;\+?=" />
+-      <RegExpr attribute="Variable" context="AssignSubscr" String="\b&varname;(?=\[[^]]+\]=)" />
+-      <!-- handle functions with function keyword before keywords -->
+-      <StringDetect attribute="Function" context="#stay" String=":()" />
+-      <RegExpr attribute="Keyword" context="FunctionDef" String="\bfunction\b" />
+-      <!-- handle keywords -->
+-      <keyword attribute="Keyword" context="#stay" String="keywords" />
+-      <keyword attribute="Builtin" context="#stay" String="builtins" />
++        <!-- start expression in double parentheses -->
++        <Detect2Chars attribute="Keyword" context="ExprDblParen" char="(" char1="(" beginRegion="expression" />
++        <!-- start expression in double brackets -->
++        <RegExpr attribute="Keyword" context="ExprDblBracket" String="\[\[&eos;" beginRegion="expression" column="0"/>
++        <RegExpr attribute="Keyword" context="ExprDblBracket" String="\s\[\[&eos;" beginRegion="expression" />
++        <!-- start expression in single brackets -->
++        <RegExpr attribute="Builtin" context="ExprBracket" String="\[&eos;" beginRegion="expression" column="0"/>
++        <RegExpr attribute="Builtin" context="ExprBracket" String="\s\[&eos;" beginRegion="expression" />
++        <!-- start a group command with { -->
++        <RegExpr attribute="Keyword" context="Group" String="\{&eos;" beginRegion="group" />
++        <!-- start a subshell -->
++        <DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" />
++        <!-- match do and if blocks -->
++        <RegExpr attribute="Keyword" context="#stay" String="\bdo&noword;" beginRegion="do" />
++        <RegExpr attribute="Keyword" context="#stay" String="\bdone&noword;" endRegion="do" />
++        <RegExpr attribute="Keyword" context="#stay" String="\bif&noword;" beginRegion="if" />
++        <RegExpr attribute="Keyword" context="#stay" String="\bfi&noword;" endRegion="if" />
++        <!-- handle case as a special case -->
++        <RegExpr attribute="Keyword" context="Case" String="\bcase&noword;" beginRegion="case" />
++        <!-- handle command line options -->
++        <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9][A-Za-z0-9_]*" />
++        <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
++        <!-- handle variable assignments -->
++        <RegExpr attribute="Variable" context="Assign" String="\b&varname;\+?=" />
++        <RegExpr attribute="Variable" context="AssignSubscr" String="\b&varname;(?=\[.+\]\+?=)" />
++        <!-- handle functions with function keyword before keywords -->
++        <StringDetect attribute="Function" context="#stay" String=":()" />
++        <RegExpr attribute="Keyword" context="FunctionDef" String="\bfunction\b" />
++        <!-- handle keywords -->
++        <keyword attribute="Keyword" context="#stay" String="keywords" />
++        <RegExpr attribute="Builtin" context="#stay" String="\.(?=\s)" />
++        <keyword attribute="Builtin" context="#stay" String="builtins" />
+         <keyword attribute="Command" context="#stay" String="unixcommands" />
+-      <!-- handle commands that have variable names as argument -->
+-      <keyword attribute="Builtin" context="VarName" String="builtins_var" />
++        <!-- handle commands that have variable names as argument -->
++        <keyword attribute="Builtin" context="VarName" String="builtins_var" />
+         <!-- handle here-string -->
+-      <StringDetect attribute="Redirection" context="#stay" String="&lt;&lt;&lt;" />
+-      <!-- handle here document -->
+-      <StringDetect attribute="Redirection" context="HereDoc" String="&lt;&lt;" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="#stay" String="\d*&lt;&lt;&lt;" />
++        <!-- handle here document -->
++        <StringDetect attribute="Redirection" context="HereDoc" String="&lt;&lt;" lookAhead="true" />
+         <!-- handle process subst -->
+         <RegExpr attribute="Redirection" context="ProcessSubst" String="[&lt;&gt;]\(" />
+         <!-- handle redirection -->
+         <RegExpr attribute="Redirection" context="#stay" String="([0-9]*(&gt;{1,2}|&lt;)(&amp;[0-9]+-?)?|&amp;&gt;|&gt;&amp;|[0-9]*&lt;&gt;)" />
+-      <!-- handle &, &&, | and || -->
+-      <RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
+-      <!-- mark function definitions without function keyword -->
++        <!-- handle &, &&, | and || -->
++        <RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
++        <!-- mark function definitions without function keyword -->
+         <RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" />
+       </context>
+       <!-- FindOthers contains various rules to mark different shell input -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">
+-      <RegExpr attribute="Escape" context="#stay" String="\\[][;&quot;\\'$`{}()|&amp;&lt;&gt;* ]" />
+-      <RegExpr attribute="Keyword" context="#stay" String="\\$" />
+-      <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />
+-        <RegExpr attribute="Path" context="#stay" String="\.?/[\w_@.+-]+(?=([\s/):]|$))" />
+-      <!-- TODO: shell globs -->
++        <RegExpr attribute="Escape" context="#stay" String="\\[][;\\$`{}()|&amp;&lt;&gt;* ]" />
++        <RegExpr attribute="Keyword" context="#stay" String="\\$" />
++        <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />
++        <RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
++        <RegExpr attribute="Path" context="#stay" String="~\w*" />
++        <RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'&quot;]|$))" />
++        <!-- TODO: shell globs beside * and ? (in Path's) -->
+       </context>
+-      
++
+       <!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
+-      <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
+-      <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
+-      <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
+-      <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
++        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="'" />
++        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="&quot;" />
++        <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
++        <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
++        <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
++        <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
+       </context>
+-            
++
+       <!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
+-      <RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
+-      <RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
+-      <RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
+-      <RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
+-      <RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;\}" />
+-      <RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;\*?\}" />
+-      <RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
+-      <RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/])" />
+-      <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
+-      <StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />
++        <RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
++        <RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
++        <RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
++        <RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
++        <RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;(\[[*@]\])?\}" />
++        <RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;(\[[*@]\]|[*@])?\}" />
++        <RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
++        <RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/=?+-])" />
++        <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
++        <StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />
+         <StringDetect attribute="Variable" context="SubstCommand" String="$(" />
+-      <DetectChar attribute="Backquote" context="SubstBackq" char="`" />
+-      <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
++        <DetectChar attribute="Backquote" context="SubstBackq" char="`" />
++        <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
++      </context>
++
++      <!-- FindTests finds operators valid in tests -->
++      <context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
++        <RegExpr attribute="Expression" context="#stay" String="-[abcdefghkprstuwxOGLSNozn](?=\s)"/>
++        <RegExpr attribute="Expression" context="#stay" String="-([no]t|ef)(?=\s)"/>
++        <RegExpr attribute="Expression" context="#stay" String="([!=]=?|[&gt;&lt;])(?=\s)"/>
++        <RegExpr attribute="Expression" context="#stay" String="-(eq|ne|[gl][te])(?=\s)"/>
+       </context>
+-      
+-      
+-      
+ <!-- ====== These are the contexts that can be branched to ======= -->
+       <!-- ExprDblParen consumes an expression started in command mode till )) -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
+-              <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
+-      <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+-      <IncludeRules context="FindMost" />
++        <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
++        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
++        <IncludeRules context="FindMost" />
+       </context>
+-      
++
+       <!-- ExprDblParenSubst like ExprDblParen but matches )) as Variable -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubst">
+-              <Detect2Chars attribute="Variable" context="#pop" char=")" char1=")" endRegion="expression" />
+-      <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+-      <IncludeRules context="FindMost" />
++        <Detect2Chars attribute="Variable" context="#pop" char=")" char1=")" endRegion="expression" />
++        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
++        <IncludeRules context="FindMost" />
+       </context>
+       <!-- ExprSubParen consumes an expression till ) -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="ExprSubParen">
+-              <DetectChar attribute="Normal Text" context="#pop" char=")" />
+-      <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+-      <IncludeRules context="FindMost" />
++        <DetectChar attribute="Normal Text" context="#pop" char=")" />
++        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
++        <IncludeRules context="FindMost" />
+       </context>
+       <!-- ExprBracket consumes an expression till ] -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
+-              <RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
+-              <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+-      <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+-      <IncludeRules context="FindMost" />
++        <RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
++        <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
++        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
++        <IncludeRules context="FindTests" />
++        <IncludeRules context="FindMost" />
+       </context>
+       <!-- ExprDblBracket consumes an expression till ]] -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
+-              <RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
+-              <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+-      <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+-      <IncludeRules context="FindMost" />
++        <RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
++        <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
++        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
++        <IncludeRules context="FindTests" />
++        <IncludeRules context="FindMost" />
+       </context>
+       <!-- Group consumes shell input till } -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="Group">
+-      <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="group" />
+-              <IncludeRules context="FindAll" />
+-      </context>      
++        <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="group" />
++        <IncludeRules context="FindAll" />
++      </context>
+       <!-- SubShell consumes shell input till ) -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="SubShell">
+-      <DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" />
+-              <IncludeRules context="FindAll" />
+-      </context>      
++        <DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" />
++        <IncludeRules context="FindAll" />
++      </context>
+       <!-- Assign consumes an expression till EOL or whitespace -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="Assign" fallthrough="true" fallthroughContext="#pop">
+-              <DetectChar attribute="Variable" context="AssignArray" char="(" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
+-      <RegExpr attribute="Normal Text" context="#stay" String="[\w:,+_./-]+" />
++        <DetectChar attribute="Variable" context="AssignArray" char="(" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
++        <RegExpr attribute="Normal Text" context="#stay" String="[\w:,+_./-]" />
+       </context>
+       <!-- AssignArray consumes everything till ), marking assignments -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="AssignArray">
+-              <DetectChar attribute="Variable" context="#pop" char=")" />
+-      <DetectChar attribute="Variable" context="Subscript" char="[" />
+-      <DetectChar attribute="Variable" context="Assign" char="=" />
+-      <IncludeRules context="FindMost" />
++        <DetectChar attribute="Variable" context="#pop" char=")" />
++        <DetectChar attribute="Variable" context="Subscript" char="[" />
++        <DetectChar attribute="Variable" context="Assign" char="=" />
++        <IncludeRules context="FindMost" />
+       </context>
+-      
++
+       <!-- AssignSubscr first expects a [ then parses subscript and continues with '=value' -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="AssignSubscr" fallthrough="true" fallthroughContext="#pop">
+-              <DetectChar attribute="Variable" context="Subscript" char="[" />
+-      <DetectChar attribute="Variable" context="Assign" char="=" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <DetectChar attribute="Variable" context="Subscript" char="[" />
++        <Detect2Chars attribute="Variable" context="Assign" char="+" char1="=" />
++        <DetectChar attribute="Variable" context="Assign" char="=" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+       <!-- Subscript consumes anything till ], marks as Variable -->
+       <context attribute="Variable" lineEndContext="#stay" name="Subscript">
+-              <DetectChar attribute="Variable" context="#pop" char="]" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <DetectChar attribute="Variable" context="#pop" char="]" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+-      
++
+       <!-- FunctionDef consumes a name, possibly with (), marks as Function -->
+       <context attribute="Function" lineEndContext="#pop" name="FunctionDef" fallthrough="true" fallthroughContext="#pop">
+-              <RegExpr attribute="Function" context="#pop" String="\s+&funcname;(\s*\(\))?" />
+-      </context>            
+-      
++        <RegExpr attribute="Function" context="#pop" String="\s+&funcname;(\s*\(\))?" />
++      </context>
++
+       <!-- VarName consumes spare variable names and assignments -->
+       <context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
+-      <!-- handle command line options -->
+-      <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
+-      <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
+-      <RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
+-      <DetectChar attribute="Variable" context="Subscript" char="[" />
+-      <DetectChar attribute="Variable" context="Assign" char="=" />
+-      <IncludeRules context="FindMost" />
+-      <!-- stay here in spaces and other safe characters -->
+-      <RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
++        <!-- handle command line options -->
++        <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
++        <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
++        <RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
++        <DetectChar attribute="Variable" context="Subscript" char="[" />
++        <DetectChar attribute="Variable" context="Assign" char="=" />
++        <IncludeRules context="FindMost" />
++        <!-- stay here in spaces and other safe characters -->
++        <RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
+       </context>
+       <!-- ProcessSubst handles <(command) and >(command) -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="ProcessSubst">
+-              <DetectChar attribute="Redirection" context="#pop" char=")" />
+-      <IncludeRules context="FindCommentsParen" />
+-      <IncludeRules context="FindCommands" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <DetectChar attribute="Redirection" context="#pop" char=")" />
++        <IncludeRules context="FindCommentsParen" />
++        <IncludeRules context="FindCommands" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+-      <!-- StringSQ consumes anything till ' -->            
++      <!-- StringSQ consumes anything till ' -->
+       <context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
+-              <DetectChar attribute="String SingleQ" context="#pop" char="'" />
++        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
+       </context>
+       <!-- StringDQ consumes anything till ", substitutes vars and expressions -->
+       <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
+-              <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
+-              <RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
+-      <IncludeRules context="FindSubstitutions" />
++        <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
++        <RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
++        <IncludeRules context="FindSubstitutions" />
+       </context>
+-      
++
+       <!-- StringEsc eats till ', but escaping many characters -->
+       <context attribute="String SingleQ" lineEndContext="#stay" name="StringEsc">
+-              <DetectChar attribute="String SingleQ" context="#pop" char="'" />
+-              <RegExpr attribute="String Escape" context="#stay" String="\\[abefnrtv\\']" />
+-              <RegExpr attribute="String Escape" context="#stay" String="\\([0-7]{1,3}|x[A-Fa-f0-9]{1,2}|c.)" />
++        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
++        <RegExpr attribute="String Escape" context="#stay" String="\\[abefnrtv\\']" />
++        <RegExpr attribute="String Escape" context="#stay" String="\\([0-7]{1,3}|x[A-Fa-f0-9]{1,2}|c.)" />
+       </context>
+       <!-- VarBrace is called as soon as ${xxx is encoutered -->
+-      <context attribute="Variable" lineEndContext="#stay" name="VarBrace">
++      <context attribute="Error" lineEndContext="#stay" name="VarBrace">
+         <DetectChar attribute="Variable" context="#pop" char="}" />
+-              <DetectChar attribute="Variable" context="Subscript" char="[" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />
+-      <!-- TODO: highlight various special parameter expansions } -->
++        <DetectChar attribute="Variable" context="Subscript" char="[" />
++        <RegExpr attribute="Variable" context="VarAlt" String="(:?[-=?+]|##?|%%?)" />
++        <RegExpr attribute="Variable" context="VarSubst" String="//?" />
++        <DetectChar attribute="Variable" context="VarSub" char=":" />
++      </context>
++
++      <!-- VarAlt is to handle default/alternate/etc values of variables -->
++      <context attribute="Normal Text" lineEndContext="#stay" name="VarAlt">
++        <DetectChar attribute="Variable" context="#pop#pop" char="}" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++      </context>
++
++      <!-- VarSubst is to handle substitutions on variables -->
++      <context attribute="Normal Text" lineEndContext="#stay" name="VarSubst">
++        <DetectChar attribute="Variable" context="#pop#pop" char="}" />
++        <DetectChar attribute="Variable" context="VarSubst2" char="/" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++      </context>
++      <context attribute="Normal Text" lineEndContext="#stay" name="VarSubst2">
++        <DetectChar attribute="Variable" context="#pop#pop#pop" char="}" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++      </context>
++
++      <!-- VarSub is to substrings of variables -->
++      <context attribute="Error" lineEndContext="#stay" name="VarSub">
++        <DetectChar attribute="Variable" context="VarSub2" char=":" />
++        <DetectChar attribute="Variable" context="#pop#pop" char="}" />
++        <RegExpr attribute="Variable" context="#stay" String="&varname;" />
++        <RegExpr attribute="Variable" context="#stay" String="[0-9]+(?=[:}])" />
++        <IncludeRules context="FindSubstitutions" />
++      </context>
++      <context attribute="Error" lineEndContext="#stay" name="VarSub2">
++        <DetectChar attribute="Variable" context="#pop#pop#pop" char="}" />
++        <RegExpr attribute="Variable" context="#stay" String="&varname;" />
++        <RegExpr attribute="Variable" context="#stay" String="[0-9](?=[:}])" />
++        <IncludeRules context="FindSubstitutions" />
+       </context>
+-      
++
++
+       <!-- SubstFile is called after a <( or >( is encoutered -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="SubstFile">
+-              <DetectChar attribute="Redirection" context="#pop" char=")" />
+-      <IncludeRules context="FindCommentsParen" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <DetectChar attribute="Redirection" context="#pop" char=")" />
++        <IncludeRules context="FindCommentsParen" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+-      
++
+       <!-- SubstCommand is called after a $( is encountered -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="SubstCommand">
+-              <DetectChar attribute="Variable" context="#pop" char=")" />
+-      <IncludeRules context="FindCommentsParen" />
+-      <IncludeRules context="FindCommands" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <DetectChar attribute="Variable" context="#pop" char=")" />
++        <IncludeRules context="FindCommentsParen" />
++        <IncludeRules context="FindCommands" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+-      
++
+       <!-- SubstBackq is called when a backquote is encountered -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
+-              <DetectChar attribute="Keyword" context="#pop" char="`" />
+-      <IncludeRules context="FindCommentsBackq" />
+-      <IncludeRules context="FindCommands" />
+-      <IncludeRules context="FindStrings" />
+-      <IncludeRules context="FindSubstitutions" />      
+-      <IncludeRules context="FindOthers" />
++        <DetectChar attribute="Backquote" context="#pop" char="`" />
++        <IncludeRules context="FindCommentsBackq" />
++        <IncludeRules context="FindCommands" />
++        <IncludeRules context="FindStrings" />
++        <IncludeRules context="FindSubstitutions" />
++        <IncludeRules context="FindOthers" />
+       </context>
+       <!-- Case is called after the case keyword is encoutered. We handle this because of
+@@ -747,58 +802,58 @@
+       <!-- CaseIn is called when the construct 'case ... in' has been found. -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="CaseIn">
+         <RegExpr attribute="Keyword" context="#pop#pop" String="\besac(?=$|[\s;)])" endRegion="case" />
+-              <DetectChar attribute="Keyword" context="CaseExpr" char=")" beginRegion="caseexpr" />
+-      <AnyChar attribute="Keyword" context="#stay" String="(|" />
++        <DetectChar attribute="Keyword" context="CaseExpr" char=")" beginRegion="caseexpr" />
++        <AnyChar attribute="Keyword" context="#stay" String="(|" />
+         <IncludeRules context="FindMost" />
+       </context>
+       <!-- CaseExpr eats shell input till ;; -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="CaseExpr">
+         <Detect2Chars attribute="Keyword" context="#pop" char=";" char1=";" endRegion="caseexpr" />
+-      <IncludeRules context="FindAll" />
++        <IncludeRules context="FindAll" />
+       </context>
+       <!-- HereDoc consumes Here-documents. It is called at the beginning of the "<<" construct. -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="HereDoc">
+-      <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocNQ"  String="(&lt;&lt;(?!-)\s*(&word;))" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
+-      <RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
+-      <StringDetect attribute="Redirection" context="#pop"  String="&lt;&lt;" /><!-- always met -->
++        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
++        <RegExpr attribute="Redirection" context="HereDocNQ"  String="(&lt;&lt;\s*(&word;))" lookAhead="true" />
++        <StringDetect attribute="Redirection" context="#pop"  String="&lt;&lt;" /><!-- always met -->
+       </context>
+       <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
+-      <IncludeRules context="FindAll" />
++        <IncludeRules context="FindAll" />
+       </context>
+       <context attribute="Normal Text" lineEndContext="#stay" name="HereDocQ" dynamic="true">
+-      <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
+-      <RegExpr attribute="Redirection" context="#pop#pop" String="%2[\s;]*$" dynamic="true" column="0"/>
++        <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
++        <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="true" column="0"/>
+       </context>
+       <context attribute="Normal Text" lineEndContext="#stay" name="HereDocNQ" dynamic="true">
+-      <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
+-      <RegExpr attribute="Redirection" context="#pop#pop" String="%2[\s;]*$" dynamic="true" column="0"/>
+-      <IncludeRules context="FindSubstitutions" />
++        <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
++        <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="true" column="0"/>
++        <IncludeRules context="FindSubstitutions" />
+       </context>
+       <context attribute="Normal Text" lineEndContext="#stay" name="HereDocIQ" dynamic="true">
+-      <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
+-      <RegExpr attribute="Redirection" context="#pop#pop" String="\s*%2[\s;]*$" dynamic="true" column="0"/>
++        <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
++        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="true" column="0"/>
+       </context>
+       <context attribute="Normal Text" lineEndContext="#stay" name="HereDocINQ" dynamic="true">
+-      <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
+-      <RegExpr attribute="Redirection" context="#pop#pop" String="\s*%2[\s;]*$" dynamic="true" column="0"/>
+-      <IncludeRules context="FindSubstitutions" />
++        <RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
++        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="true" column="0"/>
++        <IncludeRules context="FindSubstitutions" />
+       </context>
+     </contexts>
+-    
++
+     <itemDatas>
+       <itemData name="Normal Text"    defStyleNum="dsNormal" />
+       <itemData name="Comment"                defStyleNum="dsComment" />
+@@ -815,15 +870,16 @@
+       <itemData name="String Escape"  defStyleNum="dsDataType" />
+       <itemData name="Variable"       defStyleNum="dsOthers" />
+       <itemData name="Expression"     defStyleNum="dsOthers" />
+-      <itemData name="Function"       defStyleNum="dsChar" bold="1" />
++      <itemData name="Function"       defStyleNum="dsFunction" />
+       <itemData name="Path"           defStyleNum="dsNormal" />
+       <itemData name="Option"                 defStyleNum="dsNormal" />
++      <itemData name="Error"            defStyleNum="dsError" />
+     </itemDatas>
+   </highlighting>
+   <general>
+     <comments>
+       <comment name="singleLine" start="#"/>
+     </comments>
+-    <keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-" additionalDeliminator="`"/>
++    <keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-/" additionalDeliminator="`"/>
+   </general>
+ </language>
+diff -ur kdelibs-3.5.8/kate/data.org/cmake.xml kdelibs-3.5.8/kate/data/cmake.xml
+--- kdelibs-3.5.8/kate/data.org/cmake.xml      2007-05-14 09:52:27.000000000 +0200
++++ kdelibs-3.5.8/kate/data/cmake.xml  2007-05-11 12:00:07.000000000 +0200
+@@ -3,7 +3,7 @@
+ <!-- Author: Alexander Neundorf <neundorf@kde.org> //-->
+ <!-- cmake 2.0.3 syntax highlighting -->
+ <!-- dsKeyword, dsDataType, dsDecVal, dsBaseN, dsFloat, dsChar, dsString, dsComment, dsOthers, new in KDE 3.3: dsAlert, dsFunction, dsRegionMarker, dsError -->
+-<language name="CMake" version="1.03" kateversion="2.4" section="Other" extensions="CMakeLists.txt;*.cmake;" mimetype="">
++<language name="CMake" version="1.04" kateversion="2.4" section="Other" extensions="CMakeLists.txt;*.cmake;" mimetype="">
+   <highlighting>
+     <list name = "commands">
+@@ -167,6 +167,7 @@
+       <item> MATCHES </item>
+       <item> MODULE </item>
+       <item> NAME </item>
++      <item> NAMES </item>
+       <item> NAME_WE </item>
+       <item> NOT </item>
+       <item> NOTEQUAL </item>
+diff -ur kdelibs-3.5.8/kate/data.org/cpp.xml kdelibs-3.5.8/kate/data/cpp.xml
+--- kdelibs-3.5.8/kate/data.org/cpp.xml        2007-10-08 11:51:56.000000000 +0200
++++ kdelibs-3.5.8/kate/data/cpp.xml    2007-10-18 00:00:29.000000000 +0200
+@@ -1,6 +1,13 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="C++" version="1.38" kateversion="2.4" section="Sources" extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" priority="9">
++<language name="C++" version="1.41" kateversion="2.4" section="Sources" extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" priority="9">
++<!--
++##########################################################################
++## Fixes by Sebastian Pipping (webmaster@hartwork.org)
++##
++## NOTE: Keep in sync with C highlighter! (c.xml)
++##########################################################################
++-->
+   <highlighting>
+     <list name="keywords">
+       <item> asm </item>
+@@ -153,8 +160,8 @@
+     <contexts>
+       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+         <DetectSpaces />
+-      <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="Outscoped" firstNonSpace="true" />
+-        <DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="true" />
++      <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
++        <DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
+         <StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
+         <StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
+         <keyword attribute="Keyword" context="#stay" String="keywords" />
+@@ -185,42 +192,58 @@
+         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+         <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
+       </context>
++
+       <context attribute="String" lineEndContext="#pop" name="String">
+         <LineContinue attribute="String" context="#stay"/>
+         <HlCStringChar attribute="String Char" context="#stay"/>
+         <DetectChar attribute="String" context="#pop" char="&quot;"/>
+       </context>
++
+       <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
+       </context>
++
+       <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+         <DetectSpaces />
+         <IncludeRules context="##Alerts" />
+         <DetectIdentifier />
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+         <DetectSpaces />
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+         <IncludeRules context="##Alerts" />
+         <DetectIdentifier />
+       </context>
++
++      <context attribute="Error" lineEndContext="#pop" name="AfterHash">
++        <!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
++      </context>
++
+       <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+         <LineContinue attribute="Preprocessor" context="#stay"/>
+-        <RegExpr attribute="Preprocessor" context="Define" String="define.*((?=\\))"/>
+-        <RegExpr attribute="Preprocessor" context="#stay" String="define.*"/>
+         <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+         <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+         <IncludeRules context="##Doxygen" />
++        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
++
+         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+-        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*"/>
+       </context>
++
+       <context attribute="Preprocessor" lineEndContext="#pop" name="Define">
+         <LineContinue attribute="Preprocessor" context="#stay"/>
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
+         <DetectSpaces />
+-        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
++        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
+         <DetectIdentifier />
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
+         <DetectSpaces />
+         <IncludeRules context="##Alerts" />
+@@ -229,9 +252,11 @@
+         <IncludeRules context="##Doxygen" />
+         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+-        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true" />
+-        <RegExpr attribute="Preprocessor" context="#pop" String="#\s*(endif|else|elif)" endRegion="Outscoped" firstNonSpace="true" />
++        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
+         <DetectSpaces />
+         <IncludeRules context="##Alerts" />
+@@ -240,8 +265,8 @@
+         <IncludeRules context="##Doxygen" />
+         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+-        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true"/>
+-        <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="Outscoped" firstNonSpace="true"/>
++        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
+       </context>
+     </contexts>
+     <itemDatas>
+@@ -261,6 +286,7 @@
+       <itemData name="Preprocessor" defStyleNum="dsOthers"/>
+       <itemData name="Prep. Lib"    defStyleNum="dsOthers"/>
+       <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
++      <itemData name="Error"        defStyleNum="dsError" />
+     </itemDatas>
+   </highlighting>
+   <general>
+diff -ur kdelibs-3.5.8/kate/data.org/css.xml kdelibs-3.5.8/kate/data/css.xml
+--- kdelibs-3.5.8/kate/data.org/css.xml        2007-01-15 12:33:49.000000000 +0100
++++ kdelibs-3.5.8/kate/data/css.xml    2007-10-18 00:00:29.000000000 +0200
+@@ -1,6 +1,24 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="CSS" version="2.00" kateversion="2.4" section="Markup" extensions="*.css" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
++
++<!--
++
++    Kate CSS syntax highlighting definition
++
++
++    Changelog:
++
++    - Version 2.01, by Mathieu Bonnet:
++
++        - Added CSS 3 property "border-radius".
++        - Added Gecko CSS properties "-moz-border-radius" and "-moz-box-flex".
++        - Added Gecko CSS value "-moz-box".
++        - Added Trident CSS functional notation "expression".
++        - Extended the id and class syntax specifications, as per CSS 2.1 grammar.
++
++-->
++
++<language name="CSS" version="2.01" kateversion="2.4" section="Markup" extensions="*.css" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+   <highlighting>
+     <list name="properties">
+@@ -130,10 +148,15 @@
+       <item> z-index </item>
+       <!-- CSS3 -->
++      <item> border-radius </item>
+       <item> box-sizing </item>
+       <item> opacity </item>
+       <item> text-shadow </item>
++      <!-- Gecko rendering engine CSS property extensions -->
++      <item> -moz-border-radius </item>
++      <item> -moz-box-flex </item>
++
+       <!-- konq specific -->
+       <item> konq_bgpos_x </item>
+       <item> konq_bgpos_y </item>
+@@ -349,6 +372,10 @@
+       <item> monospace </item>
+       <item> border-box </item>
+       <item> content-box </item>
++      
++      <!-- Gecko rendering engine CSS value extensions -->
++      <item> -moz-box </item>      
++      
+     </list>
+@@ -410,6 +437,10 @@
+       <!-- in @font-face -->
+       <item> local </item>
+       <item> format </item>
++      
++      <!-- Trident (a.k.a., MSHTML) rendering engine functional notation extensions -->
++      <item> expression </item>
++      
+     </list>
+     <list name="mediatypes">
+@@ -472,8 +503,8 @@
+         <DetectChar attribute="Property" context="RuleSet" char="{" beginRegion="ruleset" />
+         <!--parse selectors-->
+       <DetectChar attribute="Selector Attr" context="SelAttr" char="[" />
+-      <RegExpr attribute="Selector Id" context="#stay" String="#[A-Za-z0-9][\w\-]*" />
+-      <RegExpr attribute="Selector Class" context="#stay" String="\.[A-Za-z0-9][\w\-]*" />
++      <RegExpr attribute="Selector Id" context="#stay" String="#([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
++      <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
+       <RegExpr attribute="Selector Pseudo" context="#stay" String=":lang\([\w_-]+\)" />
+       <DetectChar attribute="Selector Pseudo" context="SelPseudo" char=":" />
+       <IncludeRules context="FindStrings" />
+diff -ur kdelibs-3.5.8/kate/data.org/c.xml kdelibs-3.5.8/kate/data/c.xml
+--- kdelibs-3.5.8/kate/data.org/c.xml  2006-07-22 10:16:36.000000000 +0200
++++ kdelibs-3.5.8/kate/data/c.xml      2007-10-18 00:00:28.000000000 +0200
+@@ -1,6 +1,13 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="C" version="1.25" kateversion="2.4" section="Sources" extensions="*.c;*.C;*.h" mimetype="text/x-csrc;text/x-c++src;text/x-chdr" priority="5">
++<language name="C" version="1.41" kateversion="2.4" section="Sources" extensions="*.c;*.C;*.h" mimetype="text/x-csrc;text/x-c++src;text/x-chdr" priority="5">
++<!--
++##########################################################################
++## Fixes by Sebastian Pipping (webmaster@hartwork.org)
++##
++## NOTE: Keep in sync with C++ highlighter! (cpp.xml)
++##########################################################################
++-->
+   <highlighting>
+     <list name="keywords">
+       <item> break </item>
+@@ -46,8 +53,8 @@
+     <contexts>
+       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+         <DetectSpaces />
+-      <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="Outscoped" firstNonSpace="true" />
+-        <DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="true" />
++      <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
++        <DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
+         <StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
+         <StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
+         <keyword attribute="Keyword" context="#stay" String="keywords"/>
+@@ -77,35 +84,51 @@
+         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+         <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+       </context>
++
+       <context attribute="String" lineEndContext="#pop" name="String">
+         <LineContinue attribute="String" context="#stay"/>
+         <HlCStringChar attribute="String Char" context="#stay"/>
+         <DetectChar attribute="String" context="#pop" char="&quot;"/>
+       </context>
++
+       <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
+       </context>
++
+       <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
++        <LineContinue attribute="Comment" context="#stay"/>
+         <IncludeRules context="##Alerts" />
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+         <IncludeRules context="##Alerts" />
+       </context>
++
++      <context attribute="Error" lineEndContext="#pop" name="AfterHash">
++        <!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
++      </context>
++
+       <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+         <LineContinue attribute="Preprocessor" context="#stay"/>
+-        <RegExpr attribute="Preprocessor" context="Define" String="define.*((?=\\))"/>
+-        <RegExpr attribute="Preprocessor" context="#stay" String="define.*"/>
+         <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+         <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+         <IncludeRules context="##Doxygen" />
+-        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2"/>
++        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
+       </context>
++
+       <context attribute="Preprocessor" lineEndContext="#pop" name="Define">
+         <LineContinue attribute="Preprocessor" context="#stay"/>
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
+         <DetectSpaces />
+         <IncludeRules context="##Alerts" />
+@@ -114,9 +137,11 @@
+         <IncludeRules context="##Doxygen" />
+         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+-        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true" />
+-        <RegExpr attribute="Preprocessor" context="#pop" String="#\s*(endif|else|elif)" endRegion="Outscoped" firstNonSpace="true" />
++        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
++        <RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
+       </context>
++
+       <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
+         <DetectSpaces />
+         <IncludeRules context="##Alerts" />
+@@ -125,8 +150,8 @@
+         <IncludeRules context="##Doxygen" />
+         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+-        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true" />
+-        <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="Outscoped" firstNonSpace="true" />
++        <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
++        <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
+       </context>
+     </contexts>
+     <itemDatas>
+@@ -146,6 +171,7 @@
+       <itemData name="Prep. Lib"    defStyleNum="dsOthers"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
+       <itemData name="Alert"        defStyleNum="dsAlert" />
+       <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
++      <itemData name="Error"        defStyleNum="dsError" />
+     </itemDatas>
+   </highlighting>
+   <general>
+@@ -153,6 +179,6 @@
+       <comment name="singleLine" start="//" />
+       <comment name="multiLine" start="/*" end="*/" />
+     </comments>
+-    <keywords casesensitive="1" additionalDeliminator="'&quot;" />
++    <keywords casesensitive="1" />
+   </general>
+ </language>
+diff -ur kdelibs-3.5.8/kate/data.org/debiancontrol.xml kdelibs-3.5.8/kate/data/debiancontrol.xml
+--- kdelibs-3.5.8/kate/data.org/debiancontrol.xml      2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/debiancontrol.xml  2007-10-19 00:00:12.000000000 +0200
+@@ -1,9 +1,9 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="Debian Control" version="0.82" kateversion="2.4" section="Other" extensions="" mimetype="">
++<language name="Debian Control" version="0.83" kateversion="2.4" section="Other" extensions="control" mimetype="">
+     <highlighting>
+         <contexts>
+-            <context attribute="Normal Text" lineEndContext="#stay">
++            <context attribute="Normal Text" lineEndContext="#stay" name="INIT">
+                 <StringDetect attribute="Keyword" context="DependencyField" String="Depends:"/>
+                 <StringDetect attribute="Keyword" context="DependencyField" String="Recommends:"/>
+                 <StringDetect attribute="Keyword" context="DependencyField" String="Suggests:"/>
+diff -ur kdelibs-3.5.8/kate/data.org/doxygen.xml kdelibs-3.5.8/kate/data/doxygen.xml
+--- kdelibs-3.5.8/kate/data.org/doxygen.xml    2005-10-10 17:05:27.000000000 +0200
++++ kdelibs-3.5.8/kate/data/doxygen.xml        2007-05-25 00:00:06.000000000 +0200
+@@ -1,29 +1,32 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE language SYSTEM "language.dtd">
++<!DOCTYPE language SYSTEM "language.dtd"
++[
++        <!ENTITY wordsep "([][,?;()]|\.$|\.?\s)">     <!-- things that end a TagWord -->
++]>
+ <!--
+   This file is part of KDE's kate project.
+-  copyright   : (C) 2004 by Dominik Haumann
+-  email       : dhdev at gmx dot de
++  Copyright 2004 Dominik Haumann (dhdev@gmx.de)
++  Copyright 2007 Matthew Woehlke (mw_triad@users.sourceforge.net)
+  **********************************************************************
+  * This library is free software; you can redistribute it and/or      *
+- * modify it under the terms of the GNU Library General Public        *
++ * modify it under the terms of the GNU Lesser General Public         *
+  * License as published by the Free Software Foundation; either       *
+  * version 2 of the License, or (at your option) any later version.   *
+  *                                                                    *
+  * This library is distributed in the hope that it will be useful,    *
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  *
+- * Library General Public License for more details.                   *
++ * Lesser General Public License for more details.                    *
+  *                                                                    *
+- * You should have received a copy of the GNU Library General Public  *
++ * You should have received a copy of the GNU Lesser General Public   *
+  * License along with this library; if not, write to the              *
+- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,       *
++ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,   *
+  * Boston, MA  02110-1301, USA.                                       *
+  **********************************************************************
+  -->
+-<language name="Doxygen" version="1.25" kateversion="2.4" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
++<language name="Doxygen" version="1.28" kateversion="2.4" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
+   <highlighting>
+     <!-- note: all tags may begin with a \ or @ char
+          so if you add/change tags you have to do it twice -->
+@@ -36,6 +39,7 @@
+       <item> \dot </item>
+       <item> \else </item>
+       <item> \endcode </item>
++      <item> \endcond </item>
+       <item> \enddot </item>
+       <item> \endhtmlonly </item>
+       <item> \endif </item>
+@@ -64,7 +68,6 @@
+       <item> \nosubgrouping </item>
+       <item> \note </item>
+       <item> \only </item>
+-      <item> \par </item>
+       <item> \post </item>
+       <item> \pre </item>
+       <item> \remarks </item>
+@@ -88,6 +91,7 @@
+       <item> @dot </item>
+       <item> @else </item>
+       <item> @endcode </item>
++      <item> @endcond </item>
+       <item> @enddot </item>
+       <item> @endhtmlonly </item>
+       <item> @endif </item>
+@@ -116,7 +120,6 @@
+       <item> @nosubgrouping </item>
+       <item> @note </item>
+       <item> @only </item>
+-      <item> @par </item>
+       <item> @post </item>
+       <item> @pre </item>
+       <item> @remarks </item>
+@@ -140,6 +143,7 @@
+       <item> \b </item>
+       <item> \c </item>
+       <item> \class </item>
++      <item> \cond </item>
+       <item> \copydoc </item>
+       <item> \def </item>
+       <item> \dontinclude </item>
+@@ -160,7 +164,6 @@
+       <item> \namespace </item>
+       <item> \p </item>
+       <item> \package </item>
+-      <item> \param </item>
+       <item> \ref </item>
+       <item> \relatesalso </item>
+       <item> \relates </item>
+@@ -177,6 +180,7 @@
+       <item> @b </item>
+       <item> @c </item>
+       <item> @class </item>
++      <item> @cond </item>
+       <item> @copydoc </item>
+       <item> @def </item>
+       <item> @dontinclude </item>
+@@ -197,7 +201,6 @@
+       <item> @namespace </item>
+       <item> @p </item>
+       <item> @package </item>
+-      <item> @param </item>
+       <item> @ref </item>
+       <item> @relatesalso </item>
+       <item> @relates </item>
+@@ -208,6 +211,11 @@
+       <item> @version </item>
+       <item> @xrefitem </item>
+     </list>
++    <list name="TagParam">
++      <item> \param </item>
++
++      <item> @param </item>
++    </list>
+     <list name="TagWordWord">
+       <item> \image </item>
+@@ -246,6 +254,7 @@
+       <item> \mainpage </item>
+       <item> \name </item>
+       <item> \overload </item>
++      <item> \par </item>
+       <item> \short </item>
+       <item> \skip </item>
+       <item> \skipline </item>
+@@ -264,6 +273,7 @@
+       <item> @mainpage </item>
+       <item> @name </item>
+       <item> @overload </item>
++      <item> @par </item>
+       <item> @short </item>
+       <item> @skip </item>
+       <item> @skipline </item>
+@@ -281,13 +291,18 @@
+     -->
+       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+         <RegExpr attribute="Comment" context="LineComment" String="//(!|(/(?=[^/]|$)))&lt;?"/>
+-        <RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|\*$)&lt;?" beginRegion="BlockComment"/>
++        <RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]&lt;|\*$)" beginRegion="BlockComment"/>
++        <RegExpr attribute="Region" context="#stay" String="//\s*@\{\s*$" beginRegion="MemberGroup"/>
++        <RegExpr attribute="Region" context="#stay" String="//\s*@\}\s*$"   endRegion="MemberGroup"/>
++        <RegExpr attribute="Region" context="#stay" String="/\*\s*@\{\s*\*/" beginRegion="MemberGroup"/>
++        <RegExpr attribute="Region" context="#stay" String="/\*\s*@\}\s*\*/"   endRegion="MemberGroup"/>
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="LineComment">
+         <DetectSpaces />
+         <IncludeRules context="##Alerts" />
+         <keyword attribute="Tags" context="#stay" String="TagOnly" />
+         <keyword attribute="Tags" context="SL_TagWord" String="TagWord" />
++        <keyword attribute="Tags" context="SL_TagParam" String="TagParam" />
+         <keyword attribute="Tags" context="SL_TagWordWord" String="TagWordWord" />
+         <keyword attribute="Tags" context="SL_TagString" String="TagString" />
+         <keyword attribute="Tags" context="SL_TagWordString" String="TagWordString" />
+@@ -300,8 +315,11 @@
+         <DetectSpaces />
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment"/>
+         <IncludeRules context="##Alerts" />
++        <Detect2Chars attribute="Region" context="#stay" char="@" char1="{" />
++        <Detect2Chars attribute="Region" context="#stay" char="@" char1="}" />
+         <keyword attribute="Tags" context="#stay" String="TagOnly" />
+         <keyword attribute="Tags" context="ML_TagWord" String="TagWord" />
++        <keyword attribute="Tags" context="ML_TagParam" String="TagParam" />
+         <keyword attribute="Tags" context="ML_TagWordWord" String="TagWordWord" />
+         <keyword attribute="Tags" context="ML_TagString" String="TagString" />
+         <keyword attribute="Tags" context="ML_TagWordString" String="TagWordString" />
+@@ -313,27 +331,33 @@
+       </context>
+ <!-- NOTE: all contexts beginning with ML_ are for multiline comments
+-     The following contexts contain a Detect2Chars that looks for a */ sequence to end multiline comments. Singleline comments do not have this limitation - that's why all contexts are copy&pasted and the line <Detect2Chars ... */> is removed. <IncludeRules context="acontext"> could be used instead but it would make context switching much more complex and very hard to understand!
++     The following contexts contain a Detect2Chars that looks for a */ sequence to end multiline comments. Singleline comments do not have this limitation - that's why all contexts are copy&pasted and the line <Detect2Chars ... */> is removed. <IncludeRules context="acontext"> could be used instead but it would make context switching much more complex and very hard to understand! (But use IncludeRules where the rules don't refer to another SL_*/ML_* context, to help maintainability.)
+ -->
+       <!-- tag contexts -->
+       <context attribute="Comment" lineEndContext="#pop" name="ML_TagWord">
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+-        <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
+-        <RegExpr attribute="Word" context="#stay" String="\S" />
++        <IncludeRules context="SL_TagWord" />
+       </context>
+-      <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordWord">
++      <context attribute="Comment" lineEndContext="#pop" name="ML_TagParam">
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+         <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
++        <StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in]" />
++        <StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[out]" />
++        <StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in,out]" />
++        <RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
+         <RegExpr attribute="Word" context="#stay" String="\S" />
+       </context>
+-      <context attribute="Comment" lineEndContext="#pop" name="ML_Tag2ndWord">
++      <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordWord">
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+         <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
++        <RegExpr attribute="Word" context="ML_Tag2ndWord" String="\S(?=&wordsep;)" />
+         <RegExpr attribute="Word" context="#stay" String="\S" />
+       </context>
++      <!-- TODO for kate 2.x, convert references to "#pop!ML_TagWord" -->
++      <context attribute="Comment" lineEndContext="#pop#pop" name="ML_Tag2ndWord">
++        <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" lookAhead="true"/>
++        <IncludeRules context="SL_Tag2ndWord" />
++      </context>
+       <context attribute="Comment" lineEndContext="#pop" name="ML_TagString">
+         <DetectSpaces />
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+@@ -344,9 +368,7 @@
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString">
+         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+-        <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
+-        <RegExpr attribute="Word" context="#stay" String="\S" />
++        <IncludeRules context="SL_TagWordString" />
+       </context>
+       <!-- html contexts -->
+@@ -380,17 +402,27 @@
+       <!-- tag contexts -->
+       <context attribute="Comment" lineEndContext="#pop" name="SL_TagWord">
+         <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
++        <keyword attribute="Tags" context="#pop" String="TagWord" lookAhead="true"/>
++        <RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
++        <RegExpr attribute="Word" context="#stay" String="\S" />
++      </context>
++      <context attribute="Comment" lineEndContext="#pop" name="SL_TagParam">
++        <DetectSpaces />
++        <StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in]" />
++        <StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[out]" />
++        <StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in,out]" />
++        <RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
+         <RegExpr attribute="Word" context="#stay" String="\S" />
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="SL_TagWordWord">
+         <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
++        <RegExpr attribute="Word" context="SL_Tag2ndWord" String="\S(?=&wordsep;)" />
+         <RegExpr attribute="Word" context="#stay" String="\S" />
+       </context>
+-      <context attribute="Comment" lineEndContext="#pop" name="SL_Tag2ndWord">
++      <!-- TODO for kate 2.x, convert references to "#pop!SL_TagWord" -->
++      <context attribute="Comment" lineEndContext="#pop#pop" name="SL_Tag2ndWord">
+         <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
++        <RegExpr attribute="Word" context="#pop#pop" String="\S(?=&wordsep;)" />
+         <RegExpr attribute="Word" context="#stay" String="\S" />
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="SL_TagString">
+@@ -402,7 +434,7 @@
+       </context>
+       <context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString">
+         <DetectSpaces />
+-        <RegExpr attribute="Word" context="#pop" String="\S\s" />
++        <RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
+         <RegExpr attribute="Word" context="#stay" String="\S" />
+       </context>
+@@ -436,6 +468,7 @@
+       <itemData name="HTML Tag"    defStyleNum="dsKeyword" color="#000000" selColor="#ffffff" bold="1" italic="0" />
+       <itemData name="Description" defStyleNum="dsString"  color="#ff0000" />
+       <itemData name="Comment"     defStyleNum="dsComment" color="#0000ff" selColor="#ffffff" italic="1" />
++      <itemData name="Region"      defStyleNum="dsRegionMarker" />
+       <itemData name="Identifier"  defStyleNum="dsOthers" />
+       <itemData name="HTML Comment" defStyleNum="dsComment" />
+       <itemData name="Types"       defStyleNum="dsDataType" />
+diff -ur kdelibs-3.5.8/kate/data.org/d.xml kdelibs-3.5.8/kate/data/d.xml
+--- kdelibs-3.5.8/kate/data.org/d.xml  2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/d.xml      2007-09-12 18:00:06.000000000 +0200
+@@ -5,7 +5,11 @@
+   D.XML supports syntax highlighting for the D programming language under Kate.
++  Copyright (C) 2007 - Diggory Hardy <diggory.hardy@gmail.com>
++  Copyright (C) 2007 - Aziz Köksal <aziz.koeksal@gmail.com>
++  Copyright (C) 2007 - Jari-Matti Mäkelä <jmjm@iki.fi>
+   Copyright (C) 2004 - Simon J Mackenzie <project.katedxml@smackoz.fastmail.fm>
++
+   This code is released under the LGPL as part of kdelibs/kate.
+   ========================================================================
+@@ -18,27 +22,49 @@
+   Updates for D.XML can be obtained from http://kate.kde.org/hl/
+   UPDATE HISTORY:-
+-  2004.08.15 - D.XML 1.36 - D 0.98 - Current release of D.
+-                                   - package, writef(strictly speaking writyef isn't a keyword) - keywords are now supported.
+-  2004.??.?? - D.XML 1.35 - D 0.?? - Not sure how this release got posted!
+-  2004.05.23 - D.XML 1.34 - D 0.90 - updated.
+-  2004.05.19 - D.XML 1.33 - D 0.89 - mixin - keyword is now supported.
+-  2004.05.19 - D.XML 1.32 - D 0.77 - pragma, typeof - keywords are now supported.
+-  2004.05.19 - D.XML 1.31 - D 0.76 - is - keyword is now supported.
+-  2003.09.06 - D.XML 1.30 - D 0.71 - foreach - keyword is now supported.
+-  2003.08.18 - D.XML 1.20 - D 0.69 - floats are now supported.
+-                                   - embedded underscores in integer and float literals are now supported.
+-  2003.08.11 - D.XML 1.10          - updated.
+-  2003.07.18 - D.XML 1.00          - First released.
+-
+-  TODO:-
+-  - Kate string translation cannot handle \" as a literal within a D string.  The " will be interpreted as an end of string marker
+-    when it should be ignored because of the preceding back-slash.
++  2007.09.10 - D.XML 1.44 - D 1.021/2.004 - Added __EOF__ to specialtokens.
++                                          - Replaced float regexps with more accurate ones. Not sure about speed.
++                                          - Fixed Octal regexp not to match 0_ .
++  2007.07.24 - D.XML 1.43 - D 1.020/2.003 - Added System to ltypes.
++                                          - Improved matching of version declarations.
++                                          - Fixed matching of hexadecimal floats.
++                                          - Deprecated style is stroked out again.
++  2007.07.21 - D.XML 1.42 - D 1.018/2.002 - d.xml validates again according to language.xml.
++                                          - HTML entities are highlighted now.
++                                          - Numbers before and after the slice operator are not highl. as floats anymore.
++                                          - Added C++ to ltypes.
++                                          - Improved matching of module/import declarations.
++  2007.07.01 - D.XML 1.41 - D 1.017/2.001 - fixed matching of numbers, added deprecated style, minor changes to styles, updated authors line
++  2007.07.01 - D.XML 1.40 - D 1.017/2.001 - matches now .di extensions, removed phobos-specific printf/writef and added
++                                          - library defined symbols string, wstring, dstring, size_t, ptrdiff_t, hash_t,
++                                          - Error, Exception, Object, TypeInfo and ClassInfo
++  2007.06.30 - D.XML 1.39 - D 1.017 - matching is much faster now, added "lib" to pragma types, added special tokens,
++                                    - /+ +/ can be nested now, numbers are matched more correctly, character literals don't span multiple lines anymore
++                                    - escape sequences inside strings and character literals are highlighted,
++                                    - non-hex characters in hex strings are highlighted with the Error style,
++                                    - using more default styles instead of custom ones
++  2007.04.11 - D.XML 1.38 - D 1.011 - ref, macro keywords are now supported, fixed \\ inside a string, updated author
++  2007.02.12 - D.XML 1.37 - D 1.006 - bool, foreach_reverse, lazy, scope and typeid keywords are now supported, fixed \"
++                                    - inside a string, fixed ending of wysiwyg strings.
++  2004.08.15 - D.XML 1.36 - D 0.98  - Current release of D.
++                                    - package, writef(strictly speaking writef isn't a keyword) - keywords are now supported.
++  2004.??.?? - D.XML 1.35 - D 0.??  - Not sure how this release got posted!
++  2004.05.23 - D.XML 1.34 - D 0.90  - updated.
++  2004.05.19 - D.XML 1.33 - D 0.89  - mixin - keyword is now supported.
++  2004.05.19 - D.XML 1.32 - D 0.77  - pragma, typeof - keywords are now supported.
++  2004.05.19 - D.XML 1.31 - D 0.76  - is - keyword is now supported.
++  2003.09.06 - D.XML 1.30 - D 0.71  - foreach - keyword is now supported.
++  2003.08.18 - D.XML 1.20 - D 0.69  - floats are now supported.
++                                    - embedded underscores in integer and float literals are now supported.
++  2003.08.11 - D.XML 1.10           - updated.
++  2003.07.18 - D.XML 1.00           - First released.
++
++  TODO:- Deliminated strings and Token strings (D2.0) are not supported.
+    ========================================================================
+ -->
+-<language name="D" section="Sources" extensions="*.d;*.D" mimetype="text/x-dsrc" version="1.36" kateversion="2.2" casesensitive="true" author="Simon J Mackenzie (project.katedxml@smackoz.fastmail.fm)" license="LGPL">
++<language name="D" section="Sources" extensions="*.d;*.D;*.di;*.DI;" mimetype="text/x-dsrc" version="1.43" kateversion="2.2" casesensitive="true" author="Aziz Köksal (aziz.koeksal@gmail.com), Jari-Matti Mäkelä (jmjm@iki.fi), Simon J Mackenzie (project.katedxml@smackoz.fastmail.fm)" license="LGPL">
+   <highlighting>
+     <list name="keywords">
+       <item> abstract </item>
+@@ -60,7 +86,6 @@
+       <item> default </item>
+       <item> delegate </item>
+       <item> delete </item>
+-      <item> deprecated </item>
+       <item> do </item>
+       <item> else </item>
+@@ -72,6 +97,7 @@
+       <item> finally </item>
+       <item> for </item>
+       <item> foreach </item>
++      <item> foreach_reverse </item>
+       <item> function </item>
+       <item> goto </item>
+@@ -83,6 +109,9 @@
+       <item> invariant </item>
+       <item> is </item>
++      <item> lazy </item>
++
++      <item> macro </item>
+       <item> mixin </item>
+       <item> new </item>
+@@ -96,8 +125,10 @@
+       <item> protected </item>
+       <item> public </item>
++      <item> ref </item>
+       <item> return </item>
++      <item> scope </item>
+       <item> static </item>
+       <item> struct </item>
+       <item> super </item>
+@@ -110,6 +141,7 @@
+       <item> true </item>
+       <item> try </item>
+       <item> typedef </item>
++      <item> typeid </item>
+       <item> typeof </item>
+       <item> union </item>
+@@ -119,13 +151,19 @@
+       <item> while </item>
+       <item> with </item>
+     </list>
++
++    <list name="deprecated">
++      <item> deprecated </item>
++    </list>
++
+     <list name="modules">
+       <item> module </item>
+       <item> import </item>
+     </list>
++
+     <list name="types">
+       <item> void </item>
+-      <item> bit </item>
++      <item> bool </item>
+       <item> byte </item>
+       <item> ubyte </item>
+       <item> short </item>
+@@ -149,24 +187,38 @@
+       <item> wchar </item>
+       <item> dchar </item>
+     </list>
+-    <list name="phobos">
+-      <item> printf </item>
+-      <item> writef </item>
++
++    <list name="libsymbols">
++      <item> string </item>
++      <item> wstring </item>
++      <item> dstring </item>
++      <item> size_t </item>
++      <item> ptrdiff_t </item>
++      <item> hash_t </item>
++      <item> Error </item>
++      <item> Exception </item>
++      <item> Object </item>
++      <item> TypeInfo </item>
++      <item> ClassInfo </item>
+     </list>
+     <list name="linkage">
+       <item> extern </item>
+     </list>
++
+     <list name="ltypes">
+       <item> C </item>
++      <!-- <item> C++ </item> --><!-- is handled specially in Linkage rule -->
+       <item> D </item>
+       <item> Windows </item>
+       <item> Pascal </item>
++      <item> System </item>
+     </list>
+     <list name="debug">
+       <item> debug </item>
+     </list>
++
+     <list name="assert">
+       <item> assert </item>
+     </list>
+@@ -174,13 +226,16 @@
+     <list name="pragma">
+       <item> pragma </item>
+     </list>
++
+     <list name="ptypes">
+       <item> msg </item>
++      <item> lib </item>
+     </list>
+     <list name="version">
+       <item> version </item>
+     </list>
++
+     <list name="vtypes">
+       <item> DigitalMars </item>
+       <item> X86 </item>
+@@ -195,6 +250,17 @@
+       <item> none </item>
+     </list>
++    <list name="specialtokens">
++      <item> __FILE__ </item>
++      <item> __LINE__ </item>
++      <item> __DATE__ </item>
++      <item> __TIME__ </item>
++      <item> __TIMESTAMP__ </item>
++      <item> __VENDOR__ </item>
++      <item> __VERSION__ </item>
++      <item> __EOF__ </item>
++    </list>
++
+     <list name="unittest">
+       <item> unittest </item>
+     </list>
+@@ -204,144 +270,214 @@
+         <keyword attribute="Keyword"        context="#stay"      String="keywords"/>
+         <keyword attribute="Module"         context="ModuleName" String="modules"/>
+         <keyword attribute="Type"           context="#stay"      String="types"/>
+-        <keyword attribute="Phobos Library" context="#stay"      String="phobos"/>
++        <keyword attribute="LibrarySymbols" context="#stay"      String="libsymbols"/>
+         <keyword attribute="Linkage"        context="Linkage"    String="linkage"/>
+         <keyword attribute="Debug"          context="#stay"      String="debug"/>
+         <keyword attribute="Assert"         context="#stay"      String="assert"/>
+         <keyword attribute="Pragma"         context="Pragmas"    String="pragma"/>
+         <keyword attribute="Version"        context="Version"    String="version"/>
+         <keyword attribute="Unit Test"      context="#stay"      String="unittest"/>
++        <keyword attribute="SpecialTokens"  context="#stay"      String="specialtokens"/>
++        <keyword attribute="Deprecated"     context="Deprecated" String="deprecated"/>
+-        <Detect2Chars attribute="Wysiwyg"   context="Wysiwyg" char="r" char1="&quot;"/>
+-        <Detect2Chars attribute="Hex"       context="Hex"     char="x" char1="&quot;"/>
+-
+-        <RegExpr attribute="Normal Text"    context="#pop" String="[_a-z][\w]*" insensitive="true"/>
+-
+-        <RegExpr attribute="Pragma"         context="#pop" String="\#[ ]*line"/>
+-
+-        <RegExpr attribute="Escape String"  context="#pop" String="\\[n|t|&quot;]"/>
+-        <RegExpr attribute="Escape String"  context="#pop" String="(\\r\\n)"/>
+-        <RegExpr attribute="Escape String"  context="#pop" String="\\0[0-7]+"/>
+-        <RegExpr attribute="Escape String"  context="#pop" String="\\u[\d]+"    insensitive="true"/>
+-        <RegExpr attribute="Escape String"  context="#pop" String="\\x[\da-fA-F]+"/>
+-
+-        <RegExpr attribute="Binary"  context="#pop" String="0b[01]+[_01]*[ ]*\.\.[ ]*0b[01]+[_01]*(UL|LU|U|L)?"             insensitive="true"/>
+-        <RegExpr attribute="Octal"   context="#pop" String="0[0-7]+[_0-7]*[ ]*\.\.[ ]*0[0-7]+[_0-7]*(UL|LU|U|L)?"           insensitive="true"/>
+-        <RegExpr attribute="Hex"     context="#pop" String="0x[\da-f]+[_\da-f]*[ ]*\.\.[ ]*0x[\da-f]+[_\da-f]*(UL|LU|U|L)?" insensitive="true"/>
+-        <RegExpr attribute="Integer" context="#pop" String="[\d]+[_\d]*(UL|LU|U|L)?[ ]*\.\.[ ]*[\d]+[_\d]*(UL|LU|U|L)?"     insensitive="true"/>
+-
+-        <RegExpr attribute="Float" context="#pop" String="[\d]*[_\d]*\.[_\d]*(e-|e|e\+)?[\d]+[_\d]*(F|L|I|FI|LI|)?"                 insensitive="true"/>
+-        <RegExpr attribute="Float" context="#pop" String="[\d]*[_\d]*\.?[_\d]*(e-|e|e\+)[\d]+[_\d]*(F|L|I|FI|LI|)?"                 insensitive="true"/>
+-        <RegExpr attribute="Float" context="#pop" String="0x[\da-f]+[_\da-f]*\.[_\da-f]*(p-|p|p\+)?[\da-f]+[_\da-f]*(F|L|I|FI|LI)?" insensitive="true"/>
+-        <RegExpr attribute="Float" context="#pop" String="0x[\da-f]+[_\da-f]*\.?[_\da-f]*(p-|p|p\+)[\da-f]+[_\da-f]*(F|L|I|FI|LI)?" insensitive="true"/>
+-
+-        <RegExpr attribute="Binary"  context="#pop" String="0B[01]+[_01]*(UL|LU|U|L)?"       insensitive="true"/>
+-        <RegExpr attribute="Octal"   context="#pop" String="0[0-7]+[_0-7]*(UL|LU|U|L)?"      insensitive="true"/>
+-        <RegExpr attribute="Hex"     context="#pop" String="0x[\da-f]+[_\da-f]*(UL|LU|U|L)?" insensitive="true"/>
+-        <RegExpr attribute="Integer" context="#pop" String="[\d]+[_\d]*(UL|LU|U|L)?"         insensitive="true"/>
+-
+-        <DetectChar attribute="Char"    context="Char"    char="'"/>
+-        <DetectChar attribute="String"  context="String"  char="&quot;"/>
+-        <DetectChar attribute="Wysiwyg" context="Wysiwyg" char="`"/>
++        <!-- Scan r" or x" before scanning Normal Text -->
++        <Detect2Chars attribute="RawString" context="RawString" char="r" char1="&quot;"/>
++        <Detect2Chars attribute="HexString" context="HexString" char="x" char1="&quot;"/>
++        <DetectIdentifier attribute="Normal Text"/>
++
++        <HlCStringChar attribute="EscapeString" context="#pop"/>
++        <Detect2Chars attribute="EscapeString" context="UnicodeShort"   char="\" char1="u"/>
++        <Detect2Chars attribute="EscapeString" context="UnicodeLong"   char="\" char1="U"/>
++        <Detect2Chars attribute="EscapeString" context="HTMLEntity"   char="\" char1="&amp;"/>
++
++        <DetectChar attribute="Char"     context="CharLiteral" char="'"/>
++        <DetectChar attribute="String"   context="String"      char="&quot;"/>
++        <DetectChar attribute="BQString" context="BQString"    char="`"/>
+         <Detect2Chars attribute="Comment" context="CommentLine"   char="/" char1="/"/>
+-        <Detect2Chars attribute="Comment" context="CommentBlockA" char="/" char1="*" beginRegion="CommentA"/>
+-        <Detect2Chars attribute="Comment" context="CommentBlockB" char="/" char1="+" beginRegion="CommentB"/>
++        <Detect2Chars attribute="Comment" context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/>
++        <Detect2Chars attribute="Comment" context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/>
+         <DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="BraceA" />
+         <DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="BraceA" />
++
++        <!-- Match ... and .. before numbers are matched. -->
++        <StringDetect attribute="Normal Text" context="#pop" String="..."/>
++        <Detect2Chars attribute="Normal Text"   char="." char1="."/>
++
++        <!-- Float -->
++        <!-- Floats must be matched before Binary|Octal|Hex|Integer -->
++        <!-- Works as is supported by gdc 0.24; in particular exponents cannot start with _ -->
++        
++        <!-- Hexadecimal float with decimal exponent-->
++        <!-- (old regexp: 0[xX]_*[\da-fA-F][\da-fA-F_]*\.?[\da-fA-F_]*[pP][-+]?\d[\d_]*[fFL]?i? ) -->
++        <RegExpr attribute="Float" context="#pop" String="0[xX][_a-fA-F\d]*(\.[_a-fA-F\d]*)?[pP][-+]?[\d]+[_\d]*[fFL]?i?"/>
++        <!-- Old float regexps:
++        - Float starting with a dot
++        <RegExpr attribute="Float" context="#pop" String="\.\d[\d_]*([eE][-+]?\d[\d_]*)?[fFL]?i?"/>
++        - Float with a non-optional exponent
++        <RegExpr attribute="Float" context="#pop" String="\d[\d_]*[eE][-+]?\d[\d_]*[fFL]?i?"/>
++        - Float with a dot after the integer part
++        - (?!\.) looks ahead and avoids matching the slice operator
++        <RegExpr attribute="Float" context="#pop" String="\d[\d_]*\.(?!\.)[\d_]*([eE][-+]?\d[\d_]*)?[fFL]?i?"/>
++        - Integer floats
++        <RegExpr attribute="Float" context="#pop" String="\d[\d_]*([fF]i?|[fFL]?i)"/>
++        -->
++        <!-- All floats except integers -->
++        <!-- RegExpr is branched rather than using look aheads for efficiency at the expense of extra length -->
++        <RegExpr attribute="Float" context="#pop" String="[\d][_\d]*(\.(?!\.)[_\d]*([eE][-+]?[\d]+[_\d]*)?[fFL]?i?|[eE][-+]?[\d]+[_\d]*[fFL]?i?|[fF]i?|[fFL]?i)"/>
++        <RegExpr attribute="Float" context="#pop" String="\.[\d][_\d]*([eE][-+]?[\d]+[_\d]*)?[fFL]?i?"/>
++
++        <!-- Binary|Octal|Hex|Integer -->
++        <RegExpr attribute="Binary"  context="#pop" String="0[bB]_*[01][01_]*(L[uU]?|[uU]L?)?"/>
++        <!-- Octal must be matched before Integer -->
++        <RegExpr attribute="Octal"   context="#pop" String="0_*[0-7][0-7_]*(L[uU]?|[uU]L?)?"/>
++        <RegExpr attribute="Hex"     context="#pop" String="0[xX]_*[\da-fA-F][\da-fA-F_]*(L[uU]?|[uU]L?)?"/>
++        <RegExpr attribute="Integer" context="#pop" String="\d+[\d_]*(L[uU]?|[uU]L?)?"/>
++
++        <StringDetect attribute="Pragma" context="#pop" String="#line"/>
++      </context>
++
++      <!-- \u 4HexDigits -->
++      <context attribute="EscapeString" lineEndContext="#pop" name="UnicodeShort">
++        <RegExpr attribute="EscapeString" context="#pop" String="[\da-fA-F]{4}"/>
++      </context>
++      <!-- \U 8HexDigits -->
++      <context attribute="EscapeString" lineEndContext="#pop" name="UnicodeLong">
++        <RegExpr attribute="EscapeString" context="#pop" String="[\da-fA-F]{8}"/>
++      </context>
++      <!-- \& Alpha Alphanumerical+ ; -->
++      <context attribute="EscapeString" lineEndContext="#pop" name="HTMLEntity" fallthrough="true" fallthroughContext="#pop">
++        <RegExpr attribute="EscapeString" context="#pop" String="[a-zA-Z]\w+;"/>
+       </context>
+       <context attribute="Module Name" lineEndContext="#stay" name="ModuleName">
+-        <DetectChar   attribute="Normal Text" context="#stay"         char=","/>
+-        <DetectChar   attribute="Normal Text" context="#pop"          char=";"/>
+         <Detect2Chars attribute="Comment"     context="CommentLine"   char="/" char1="/"/>
+-        <Detect2Chars attribute="Comment"     context="CommentBlockA" char="/" char1="*" beginRegion="CommentA"/>
+-        <Detect2Chars attribute="Comment"     context="CommentBlockB" char="/" char1="+" beginRegion="CommentB"/>
++        <Detect2Chars attribute="Comment"     context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/>
++        <Detect2Chars attribute="Comment"     context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/>
++        <RegExpr context="#pop" String="[^\s\w.:,]"/>
+       </context>
+-      <context attribute="Linkage" lineEndContext="#pop" name="Linkage">
+-        <keyword    attribute="Type"         context="#pop"  String="types"/>
+-        <DetectChar attribute="Normal Text"  context="#stay" char="("/>
+-        <keyword    attribute="Linkage Type" context="#stay" String="ltypes"/>
+-        <DetectChar attribute="Normal Text"  context="#pop"  char=")"/>
++      <context attribute="Deprecated" lineEndContext="#stay" name="Deprecated">
++        <Detect2Chars attribute="Comment"     context="CommentLine"   char="/" char1="/"/>
++        <Detect2Chars attribute="Comment"     context="CommentBlock"  char="/" char1="*" beginRegion="CommentBlock"/>
++        <Detect2Chars attribute="Comment"     context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/>
++        <RegExpr      attribute="Normal Text" context="#pop" String="[;({=]" />
++      </context>
++
++      <context attribute="Linkage" lineEndContext="#pop" name="Linkage" fallthrough="true" fallthroughContext="#pop">
++        <DetectSpaces/>
++        <DetectChar attribute="Normal Text" context="Linkage2" char="("/>
++      </context>
++      <context attribute="Linkage" lineEndContext="#pop" name="Linkage2" fallthrough="true" fallthroughContext="#pop">
++        <DetectSpaces/>
++        <StringDetect attribute="Linkage Type" context="#pop" String="C++"/>
++        <keyword    attribute="Linkage Type" context="#pop" String="ltypes"/>
++        <RegExpr attribute="Error" context="#pop" String="[^)]+"/>
++      </context>
++
++      <context attribute="Version" lineEndContext="#pop" name="Version" fallthrough="true" fallthroughContext="#pop">
++        <DetectSpaces/>
++        <DetectChar attribute="Normal Text"  context="Version2"  char="="/>
++        <DetectChar attribute="Normal Text"  context="Version2" char="("/>
+         <DetectChar attribute="Normal Text"  context="#pop"  char=";"/>
++        <DetectChar attribute="Normal Text"  context="#pop" char=")"/>
++        <RegExpr attribute="Error" context="#pop" String="[^\n]+"/>
+       </context>
+-      <context attribute="Version" lineEndContext="#pop" name="Version">
+-        <DetectChar attribute="Normal Text"  context="#pop"  char="="/>
+-        <DetectChar attribute="Normal Text"  context="#stay" char="("/>
+-        <keyword    attribute="Version Type" context="#stay" String="vtypes"/>
+-        <RegExpr    attribute="Normal Text"  context="#pop"  String="\w" insensitive="true"/>
+-        <DetectChar attribute="Normal Text"  context="#pop"  char=")"/>
++      <context attribute="Version" lineEndContext="#pop" name="Version2" fallthrough="true" fallthroughContext="#pop">
++        <DetectSpaces/>
++        <keyword    attribute="Version Type" context="#pop" String="vtypes"/>
++        <DetectIdentifier attribute="Normal Text" context="#pop"/>
++        <Int attribute="Integer" context="#pop"/>
++        <RegExpr attribute="Error" context="#pop" String="[^);]+"/>
+       </context>
++
+       <context attribute="Pragma" lineEndContext="#pop" name="Pragmas">
+         <DetectChar attribute="Normal Text"  context="#stay" char="("/>
+-        <keyword    attribute="Version Type" context="#stay" String="ptypes"/>
+-        <keyword    attribute="Version Type" context="#stay" String="vtypes"/>
+-        <RegExpr    attribute="Keyword"  context="#pop" String="[_a-z][\w]*" insensitive="true"/>
+-        <DetectChar attribute="Normal Text"  context="#pop"  char=","/>
+-        <DetectChar attribute="Normal Text"  context="#pop"  char=")"/>
+-      </context>
+-
+-      <context attribute="Wysiwyg" lineEndContext="#stay" name="Wysiwyg">
+-        <DetectChar attribute="Wysiwyg" context="#pop" char="&quot;"/>
+-        <DetectChar attribute="Wysiwyg" context="#pop" char="`"/>
+-      </context>
+-      <context attribute="Hex" lineEndContext="#stay" name="Hex">
+-        <DetectChar attribute="Hex" context="#pop" char="&quot;"/>
+-      </context>
+-      <context attribute="Char" lineEndContext="#stay" name="Char">
+-        <Detect2Chars attribute="Char" context="#stay" char="\" char1="'"/>
+-        <Detect2Chars attribute="Char" context="#stay" char="\" char1="\"/>
++        <keyword    attribute="Version Type" context="#pop" String="ptypes"/>
++        <DetectIdentifier attribute="Normal Text" context="#pop"/>
++      </context>
++
++      <!-- Strings -->
++      <!-- r"..." -->
++      <context attribute="RawString" lineEndContext="#stay" name="RawString">
++        <DetectChar attribute="RawString" context="#pop" char="&quot;"/>
++      </context>
++      <!-- `...` -->
++      <context attribute="BQString" lineEndContext="#stay" name="BQString">
++        <DetectChar attribute="BQString" context="#pop" char="`"/>
++      </context>
++      <!-- x"..." -->
++      <context attribute="HexString" lineEndContext="#stay" name="HexString">
++        <DetectChar attribute="HexString" context="#pop" char="&quot;"/>
++        <RegExpr attribute="Error" context="#stay" String="[^\sa-fA-F\d&quot;]+" />
++      </context>
++      <!-- '...' -->
++      <context attribute="Char" lineEndContext="#pop" name="CharLiteral" fallthrough="true" fallthroughContext="#pop">
++        <HlCStringChar attribute="EscapeSequence" context="#stay"/>
++        <DetectChar    attribute="Char" context="#pop"  char="'"/>
++        <RegExpr attribute="EscapeSequence" context="#stay" String="\\(u[\da-fA-F]{4}|U[\da-fA-F]{8}|&amp;[a-zA-Z]\w+;)"/>
+         <DetectChar   attribute="Char" context="#pop"  char="'"/>
++        <RegExpr attribute="Char" context="#stay" String=".'"/>
+       </context>
++      <!-- "..." -->
+       <context attribute="String" lineEndContext="#stay" name="String">
++        <Detect2Chars attribute="String" context="#stay" char="\" char1="&quot;"/>
+         <DetectChar attribute="String" context="#pop" char="&quot;"/>
++        <HlCStringChar attribute="EscapeSequence"/>
++        <RegExpr attribute="EscapeSequence" context="#stay" String="\\(u[\da-fA-F]{4}|U[\da-fA-F]{8}|&amp;[a-zA-Z]\w+;)" />
+       </context>
+-      <context attribute="Comment" lineEndContext="#pop" name="CommentLine">
+-      </context>
+-      <context attribute="Comment" lineEndContext="#stay" name="CommentBlockA">
+-        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentA"/>
+-      </context>
+-      <context attribute="Comment" lineEndContext="#stay" name="CommentBlockB">
+-        <Detect2Chars attribute="Comment" context="#pop" char="+" char1="/" endRegion="CommentB"/>
++      <!-- Comments -->
++      <context attribute="Comment" lineEndContext="#pop" name="CommentLine"/>
++      <context attribute="Comment" lineEndContext="#stay" name="CommentBlock">
++        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentBlock"/>
++      </context>
++      <context attribute="Comment" lineEndContext="#stay" name="CommentNested">
++       <Detect2Chars attribute="Comment" context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/>
++       <Detect2Chars attribute="Comment" context="#pop" char="+" char1="/" endRegion="CommentNested"/>
+       </context>
+     </contexts>
+     <itemDatas>
+       <itemData name="Normal Text"    defStyleNum="dsNormal"/>
+-      <itemData name="Keyword"        defStyleNum="dsKeyword"  color="#000000" selColor="#ffffff" bold="1" italic="0"/>
+-      <itemData name="Module"         defStyleNum="dsKeyword"  color="#0000ff" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Module Name"    defStyleNum="dsKeyword"  color="#0000ff" selColor="#ffffff" bold="1" italic="1"/>
++      <itemData name="Keyword"        defStyleNum="dsKeyword"/>
+       <itemData name="Type"           defStyleNum="dsDataType"/>
+-      <itemData name="Phobos Library" defStyleNum="dsKeyword"  color="#000000" selColor="#ffffff" bold="1" italic="1"/>
+-      <itemData name="Linkage"        defStyleNum="dsKeyword"  color="#ff0000" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Linkage Type"   defStyleNum="dsDataType" color="#ff0000" selColor="#ffffff" bold="1" italic="1"/>
+-      <itemData name="Debug"          defStyleNum="dsKeyword"  color="#ff00ff" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Assert"         defStyleNum="dsKeyword"  color="#0000ff" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Version"        defStyleNum="dsKeyword"  color="#ff0000" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Version Type"   defStyleNum="dsDataType" color="#ff0000" selColor="#ffffff" bold="1" italic="1"/>
+-      <itemData name="Unit Test"      defStyleNum="dsKeyword"  color="#ff00ff" selColor="#ffffff" bold="1" italic="0"/>
+-      <itemData name="Pragma"         defStyleNum="dsKeyword"  color="#00aa00" selColor="#ffffff" bold="1" italic="0"/>
+-
+       <itemData name="Integer"        defStyleNum="dsDecVal"/>
+-      <itemData name="Binary"         defStyleNum="dsBaseN"    color="#00dddd" selColor="#00ffff" bold="0" italic="0"/>
+-      <itemData name="Octal"          defStyleNum="dsBaseN"    color="#00aaaa" selColor="#00ffff" bold="0" italic="0"/>
+-      <itemData name="Hex"            defStyleNum="dsBaseN"    color="#006666" selColor="#00ffff" bold="0" italic="0"/>
++      <itemData name="Binary"         defStyleNum="dsBaseN"/>
++      <itemData name="Octal"          defStyleNum="dsBaseN"/>
++      <itemData name="Hex"            defStyleNum="dsBaseN"/>
+       <itemData name="Float"          defStyleNum="dsFloat"/>
+-      <itemData name="Escape String"  defStyleNum="dsString"   color="#00aa00" selColor="#ff0000" bold="0" italic="0"/>
+-      <itemData name="String"         defStyleNum="dsString"   color="#00aa00" selColor="#ff0000" bold="0" italic="0"/>
+-      <itemData name="Char"           defStyleNum="dsChar"     color="#ff00ff" selColor="#ff00ff" bold="0" italic="0"/>
+-      <itemData name="Wysiwyg"        defStyleNum="dsChar"     color="#a100a1" selColor="#ff00ff" bold="0" italic="0"/>
++      <itemData name="LibrarySymbols" defStyleNum="dsDataType"/>
++      <itemData name="Deprecated"     defStyleNum="dsComment" strikeOut="true"/>
++      <itemData name="SpecialTokens"  defStyleNum="dsNormal"   color="#00aa00"/>
++      <itemData name="Module"         defStyleNum="dsKeyword"  color="#0000ff" selColor="#ffffff"/>
++      <itemData name="Module Name"    defStyleNum="dsNormal"  color="#0000ff" selColor="#ffffff"/>
++      <itemData name="Linkage"        defStyleNum="dsKeyword"  color="#ff0000" selColor="#ffffff"/>
++      <itemData name="Linkage Type"   defStyleNum="dsNormal" color="#ff0000" selColor="#ffffff" bold="1"/>
++      <itemData name="Debug"          defStyleNum="dsKeyword"  color="#ff00ff" selColor="#ffffff"/>
++      <itemData name="Assert"         defStyleNum="dsKeyword"  color="#0000ff" selColor="#ffffff"/>
++      <itemData name="Version"        defStyleNum="dsKeyword"  color="#ff0000" selColor="#ffffff"/>
++      <itemData name="Version Type"   defStyleNum="dsNormal" color="#ff0000" selColor="#ffffff" bold="1"/>
++      <itemData name="Unit Test"      defStyleNum="dsKeyword"  color="#ff00ff" selColor="#ffffff" bold="1"/>
++      <itemData name="Pragma"         defStyleNum="dsKeyword"  color="#00aa00" selColor="#ffffff" bold="1"/>
++
++      <itemData name="EscapeString"   defStyleNum="dsString"/>
++      <itemData name="EscapeSequence" defStyleNum="dsString" color="#00aa88" selColor="#ff0000"/>
++      <itemData name="String"         defStyleNum="dsString"/>
++      <itemData name="Char"           defStyleNum="dsChar"/>
++      <itemData name="RawString"      defStyleNum="dsString"      color="#a100a1" selColor="#ff00ff"/>
++      <itemData name="BQString"       defStyleNum="dsString"    color="#a100a1" selColor="#ff00ff"/>
++      <itemData name="HexString"      defStyleNum="dsString"    color="#a10022" selColor="#ff0055"/>
+       <itemData name="Comment"        defStyleNum="dsComment"/>
++      <itemData name="Error"          defStyleNum="dsError"/>
+     </itemDatas>
+   </highlighting>
+   <general>
+     <comments>
+     <comment name="singleLine" start="//"/>
+-    <comment name="multiLine"  start="/+" end="+/"/>
++    <comment name="multiLine"  start="/+" end="+/" region="CommentNested"/>
+     </comments>
+     <keywords casesensitive="true"/>
+   </general>
+diff -ur kdelibs-3.5.8/kate/data.org/fstab.xml kdelibs-3.5.8/kate/data/fstab.xml
+--- kdelibs-3.5.8/kate/data.org/fstab.xml      2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/fstab.xml  2007-10-22 19:02:14.173274755 +0200
+@@ -1,96 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE language SYSTEM "language.dtd">
+-
+-<language name="fstab" version="1.00" kateversion="2.4" section="Configuration" extensions="fstab;mtab" author="Diego Iastrubni (elcuco@kde.org)" license="Public Domain" >
+-      <highlighting>
+-              <list name="valid_fs">
+-                      <item> ext2 </item>
+-                      <item> ext3 </item>
+-                      <item> fat </item>
+-                      <item> vfat </item>
+-                      <item> reiser </item>
+-                      <item> proc </item>
+-                      <item> none </item>
+-                      <item> sysfs </item>
+-                      <item> ntfs </item>
+-                      <item> umsdos </item>
+-                      <item> swap </item>
+-                      <item> minix </item>
+-                      <item> iso9660 </item>
+-              </list>
+-              
+-              <contexts>
+-                      <!-- <file system> <mount point> <type> <options> <dump>  <pass>  -->
+-                      <context name="device"      attribute="Device"      lineEndContext="#stay">
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <RegExpr context="mount_point" String="[\s]*" />
+-                      </context>
+-
+-                      <context name="mount_point" attribute="Mount Point" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <RegExpr context="_type" String="[\s]*" />
+-                      </context>
+-                                              
+-                      <context name="_type" attribute="Normal" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <RegExpr context="type" String="[\S]*" />
+-                      </context>
+-                      
+-                      <context name="type" attribute="Type" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <keyword    context="#stay"  attribute="Valid FileSystem" String="Valid FileSystem" />
+-                              <RegExpr context="options" String="[\s]*"/>
+-                      </context>
+-                              
+-                      <context name="options" attribute="Options" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <RegExpr context="dump" String="[\s]*"/>
+-                      </context>
+-                      
+-                      <context name="dump" attribute="Dump" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <RegExpr context="pass" String="[\s]*"/>
+-                      </context>
+-                      
+-                      <context name="pass" attribute="Pass" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" firstNonSpace="1" />
+-                              <RegExpr context="__error" String="[\s]*"/>
+-                      </context>
+-                      
+-                      <context name="__error" attribute="Pass" lineEndContext="device" >
+-                              <DetectChar context="comment"  char="#" />
+-                              <RegExpr context="error" String="[\S]*"/>
+-                      </context>
+-                      
+-                      <!-- error -->
+-                      <context name="error" attribute="Error" lineEndContext="device" >
+-                      </context>
+-                      
+-                      <!-- comment -->
+-                      <context name="comment" attribute="Comment" lineEndContext="#pop" >
+-                      </context>
+-              </contexts>
+-              
+-              <itemDatas>
+-                      <itemData name="Device"     defStyleNum="dsKeyword" />
+-                      <itemData name="Mount Point" defStyleNum="dsDataType"  />
+-                      <itemData name="Type"       defStyleNum="dsFunction"  />
+-                      <itemData name="Options"    defStyleNum="dsKeyword"  />
+-                      <itemData name="Dump"       defStyleNum="dsDecVal"  />
+-                      <itemData name="Pass"       defStyleNum="dsDecVal"  />
+-                      
+-                      <itemData name="Valid FileSystem" defStyleNum="dsDataType" italic="1"/>
+-                      
+-                      <itemData name="Normal"     defStyleNum="dsNormal" />
+-                      <itemData name="Comment"    defStyleNum="dsComment" />
+-                      <itemData name="Error"      defStyleNum="dsError" />
+-              </itemDatas>
+-      </highlighting>
+-      
+-      <general>
+-              <comments>
+-                      <comment name="singleLine" start="#" />
+-              </comments>
+-      </general>
+-</language>
+-
+diff -ur kdelibs-3.5.8/kate/data.org/gettext.xml kdelibs-3.5.8/kate/data/gettext.xml
+--- kdelibs-3.5.8/kate/data.org/gettext.xml    2005-11-08 23:38:50.000000000 +0100
++++ kdelibs-3.5.8/kate/data/gettext.xml        2006-04-14 21:49:08.000000000 +0200
+@@ -6,6 +6,8 @@
+   copyright   : (C) 2004 by Dominik Haumann
+   email       : dhdev at gmx dot de
++  last change : 2004-03-18
++
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+diff -ur kdelibs-3.5.8/kate/data.org/html.xml kdelibs-3.5.8/kate/data/html.xml
+--- kdelibs-3.5.8/kate/data.org/html.xml       2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/html.xml   2007-01-30 12:00:08.000000000 +0100
+@@ -4,7 +4,7 @@
+       <!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+       <!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+ ]>
+-<language name="HTML" version="1.98" kateversion="2.4" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
++<language name="HTML" version="1.99" kateversion="2.4" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
+ <highlighting>
+ <contexts>
+@@ -24,10 +24,16 @@
+     <RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="TRUE" beginRegion="pre" />
+     <RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="TRUE" beginRegion="div" />
+     <RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="TRUE" beginRegion="table" />
++    <RegExpr attribute="Element" context="El Open" String="&lt;ul\b" insensitive="TRUE" beginRegion="ul" />
++    <RegExpr attribute="Element" context="El Open" String="&lt;ol\b" insensitive="TRUE" beginRegion="ol" />
++    <RegExpr attribute="Element" context="El Open" String="&lt;dl\b" insensitive="TRUE" beginRegion="dl" />
+     <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />
+     <RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="TRUE" endRegion="pre" />
+     <RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="TRUE" endRegion="div" />
+     <RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="TRUE" endRegion="table" />
++    <RegExpr attribute="Element" context="El Close" String="&lt;/ul\b" insensitive="TRUE" endRegion="ul" />
++    <RegExpr attribute="Element" context="El Close" String="&lt;/ol\b" insensitive="TRUE" endRegion="ol" />
++    <RegExpr attribute="Element" context="El Close" String="&lt;/dl\b" insensitive="TRUE" endRegion="dl" />
+     <RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />
+     <!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />
+     <IncludeRules context="FindEntityRefs" />
+diff -ur kdelibs-3.5.8/kate/data.org/inform.xml kdelibs-3.5.8/kate/data/inform.xml
+--- kdelibs-3.5.8/kate/data.org/inform.xml     2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/inform.xml 2006-04-14 21:49:08.000000000 +0200
+@@ -2,7 +2,6 @@
+ <!DOCTYPE language SYSTEM "language.dtd">
+ <!-- author: Giancarlo Niccolai (giancarlo@niccolai.ws) -->
+ <!-- This file is released under GPL license 2.0 or any later version at your choice. -->
+-<!-- $Id$ -->
+ <language name="Inform" version="1.23" kateversion="2.3" section="Sources" extensions="*.inf;*.h" mimetype="text/x-inform-src" author="Giancarlo Niccolai (giancarlo@niccolai.ws)" license="GPL">
+ <highlighting>
+    <list name="keywords">
+diff -ur kdelibs-3.5.8/kate/data.org/javascript.xml kdelibs-3.5.8/kate/data/javascript.xml
+--- kdelibs-3.5.8/kate/data.org/javascript.xml 2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/javascript.xml     2007-10-18 18:00:12.000000000 +0200
+@@ -3,7 +3,7 @@
+ <!-- Author: Anders Lund <anders@alweb.dk> //-->
+ <!-- Minor changes: Joseph Wenninger <jowenn@kde.org> //-->
+ <!-- Full JavaScript 1.0 support by Whitehawk Stormchaser //-->
+-<language name="JavaScript" version="1.10" kateversion="2.3" section="Scripts" extensions="*.js" mimetype="text/x-javascript" author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
++<language name="JavaScript" version="1.11" kateversion="2.3" section="Scripts" extensions="*.js" mimetype="text/x-javascript;application/x-javascript" author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
+   <highlighting>
+     <list name="keywords">
+         <item> if </item>
+diff -ur kdelibs-3.5.8/kate/data.org/java.xml kdelibs-3.5.8/kate/data/java.xml
+--- kdelibs-3.5.8/kate/data.org/java.xml       2007-01-15 12:33:49.000000000 +0100
++++ kdelibs-3.5.8/kate/data/java.xml   2007-10-06 06:00:12.000000000 +0200
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="Java" version="1.16" kateversion="2.4" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
++<language name="Java" version="1.18" kateversion="2.4" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
+       <highlighting>
+               <list name="java15">
+                       <item> ACTIVE </item>
+@@ -3273,6 +3273,431 @@
+                       <item> _Remote_Stub </item>
+                       <item> _ServantActivatorStub </item>
+                       <item> _ServantLocatorStub </item>
++                      
++<!--                  new classes of jdk 6.0 -->
++
++                      <item> AbstractAnnotationValueVisitor6 </item>
++                      <item> AbstractElementVisitor6 </item>
++                      <item> AbstractMarshallerImpl </item>
++                      <item> AbstractOwnableSynchronizer </item>
++                      <item> AbstractProcessor </item>
++                      <item> AbstractQueuedLongSynchronizer </item>
++                      <item> AbstractScriptEngine </item>
++                      <item> AbstractTypeVisitor6 </item>
++                      <item> AbstractUnmarshallerImpl </item>
++                      <item> ActivationDataFlavor </item>
++                      <item> AlgorithmMethod </item>
++                      <item> AnnotationMirror </item>
++                      <item> AnnotationValue </item>
++                      <item> AnnotationValueVisitor </item>
++                      <item> ArrayDeque </item>
++                      <item> AsyncHandler </item>
++                      <item> AttachmentMarshaller </item>
++                      <item> AttachmentPart </item>
++                      <item> AttachmentUnmarshaller </item>
++                      <item> Binder </item>
++                      <item> BindingProvider </item>
++                      <item> Bindings </item>
++                      <item> BlockingDeque </item>
++                      <item> BreakIteratorProvider </item>
++                      <item> C14NMethodParameterSpec </item>
++                      <item> CanonicalizationMethod </item>
++                      <item> Characters </item>
++                      <item> ClientInfoStatus </item>
++                      <item> CollapsedStringAdapter </item>
++                      <item> CollatorProvider </item>
++                      <item> CommandInfo </item>
++                      <item> CommandMap </item>
++                      <item> CommandObject </item>
++                      <item> CommonDataSource </item>
++                      <item> Compilable </item>
++                      <item> CompiledScript </item>
++                      <item> Completion </item>
++                      <item> Completions </item>
++                      <item> CompositeDataInvocationHandler </item>
++                      <item> CompositeDataView </item>
++                      <item> ConcurrentNavigableMap </item>
++                      <item> ConcurrentSkipListMap </item>
++                      <item> ConcurrentSkipListSet </item>
++                      <item> ConfigurationSpi </item>
++                      <item> Console </item>
++                      <item> ConstructorProperties </item>
++                      <item> CookieManager </item>
++                      <item> CookiePolicy </item>
++                      <item> CookieStore </item>
++                      <item> CurrencyNameProvider </item>
++                      <item> Data </item>
++                      <item> DataContentHandler </item>
++                      <item> DataContentHandlerFactory </item>
++                      <item> DataHandler </item>
++                      <item> DatatypeConverter </item>
++                      <item> DatatypeConverterInterface </item>
++                      <item> DateFormatProvider </item>
++                      <item> DateFormatSymbolsProvider </item>
++                      <item> DecimalFormatSymbolsProvider </item>
++                      <item> DeclaredType </item>
++                      <item> DefaultRowSorter </item>
++                      <item> DefaultValidationEventHandler </item>
++                      <item> DeflaterInputStream </item>
++                      <item> Deque </item>
++                      <item> DescriptorKey </item>
++                      <item> DescriptorRead </item>
++                      <item> Desktop </item>
++                      <item> Detail </item>
++                      <item> DetailEntry </item>
++                      <item> Diagnostic </item>
++                      <item> DiagnosticCollector </item>
++                      <item> DiagnosticListener </item>
++                      <item> DigestMethod </item>
++                      <item> DigestMethodParameterSpec </item>
++                      <item> Dispatch </item>
++                      <item> DOMCryptoContext </item>
++                      <item> DomHandler </item>
++                      <item> DOMSignContext </item>
++                      <item> DOMStructure </item>
++                      <item> DOMURIReference </item>
++                      <item> DOMValidateContext </item>
++                      <item> DropMode </item>
++                      <item> ElementFilter </item>
++                      <item> ElementKind </item>
++                      <item> ElementKindVisitor6 </item>
++                      <item> Elements </item>
++                      <item> ElementScanner6 </item>
++                      <item> ElementVisitor </item>
++                      <item> EndDocument </item>
++                      <item> EndElement </item>
++                      <item> Endpoint </item>
++                      <item> EntityDeclaration </item>
++                      <item> ErrorType </item>
++                      <item> EventException </item>
++                      <item> EventFilter </item>
++                      <item> EventReaderDelegate </item>
++                      <item> EventTarget </item>
++                      <item> ExcC14NParameterSpec </item>
++                      <item> ExecutableElement </item>
++                      <item> ExecutableType </item>
++                      <item> FileDataSource </item>
++                      <item> FileNameExtensionFilter </item>
++                      <item> FileObject </item>
++                      <item> Filer </item>
++                      <item> FilerException </item>
++                      <item> FileTypeMap </item>
++                      <item> ForwardingFileObject </item>
++                      <item> ForwardingJavaFileManager </item>
++                      <item> ForwardingJavaFileObject </item>
++                      <item> Generated </item>
++                      <item> GridBagLayoutInfo </item>
++                      <item> GroupLayout </item>
++                      <item> HandlerChain </item>
++                      <item> HandlerResolver </item>
++                      <item> HexBinaryAdapter </item>
++                      <item> HMACParameterSpec </item>
++                      <item> Holder </item>
++                      <item> HTTPBinding </item>
++                      <item> HttpCookie </item>
++                      <item> HTTPException </item>
++                      <item> IDN </item>
++                      <item> ImmutableDescriptor </item>
++                      <item> InflaterOutputStream </item>
++                      <item> InitParam </item>
++                      <item> InterfaceAddress </item>
++                      <item> Invocable </item>
++                      <item> IOError </item>
++                      <item> JavaCompiler </item>
++                      <item> JavaFileManager </item>
++                      <item> JavaFileObject </item>
++                      <item> JAXBContext </item>
++                      <item> JAXBElement </item>
++                      <item> JAXBException </item>
++                      <item> JAXBIntrospector </item>
++                      <item> JAXBResult </item>
++                      <item> JAXBSource </item>
++                      <item> JMX </item>
++                      <item> JMXAddressable </item>
++                      <item> KeyInfo </item>
++                      <item> KeyInfoFactory </item>
++                      <item> KeyName </item>
++                      <item> KeySelector </item>
++                      <item> KeySelectorException </item>
++                      <item> KeySelectorResult </item>
++                      <item> KeyValue </item>
++                      <item> LayoutPath </item>
++                      <item> LayoutStyle </item>
++                      <item> LinearGradientPaint </item>
++                      <item> LinkedBlockingDeque </item>
++                      <item> LocaleNameProvider </item>
++                      <item> LocaleServiceProvider </item>
++                      <item> Location </item>
++                      <item> LockInfo </item>
++                      <item> LogicalHandler </item>
++                      <item> LogicalMessage </item>
++                      <item> LogicalMessageContext </item>
++                      <item> MailcapCommandMap </item>
++                      <item> Marshaller </item>
++                      <item> MessageContext </item>
++                      <item> MessageFactory </item>
++                      <item> Messager </item>
++                      <item> MimeHeader </item>
++                      <item> MimeHeaders </item>
++                      <item> MimeType </item>
++                      <item> MimeTypeParameterList </item>
++                      <item> MimetypesFileTypeMap </item>
++                      <item> MirroredTypeException </item>
++                      <item> MirroredTypesException </item>
++                      <item> MLetContent </item>
++                      <item> MonitorInfo </item>
++                      <item> MultipleGradientPaint </item>
++                      <item> MutationEvent </item>
++                      <item> MXBean </item>
++                      <item> Namespace </item>
++                      <item> NavigableMap </item>
++                      <item> NavigableSet </item>
++                      <item> NClob </item>
++                      <item> NestingKind </item>
++                      <item> NodeSetData </item>
++                      <item> NormalizedStringAdapter </item>
++                      <item> Normalizer </item>
++                      <item> NoSuchMechanismException </item>
++                      <item> NotationDeclaration </item>
++                      <item> NotIdentifiableEvent </item>
++                      <item> NotIdentifiableEventImpl </item>
++                      <item> NoType </item>
++                      <item> NullType </item>
++                      <item> NumberFormatProvider </item>
++                      <item> OctetStreamData </item>
++                      <item> Oneway </item>
++                      <item> OptionChecker </item>
++                      <item> PackageElement </item>
++                      <item> ParseConversionEvent </item>
++                      <item> ParseConversionEventImpl </item>
++                      <item> Path2D </item>
++                      <item> PGPData </item>
++                      <item> PolicySpi </item>
++                      <item> PortInfo </item>
++                      <item> PostConstruct </item>
++                      <item> PreDestroy </item>
++                      <item> PrimitiveType </item>
++                      <item> PrintConversionEvent </item>
++                      <item> PrintConversionEventImpl </item>
++                      <item> ProcessingEnvironment </item>
++                      <item> Processor </item>
++                      <item> PropertyException </item>
++                      <item> RadialGradientPaint </item>
++                      <item> ReferenceType </item>
++                      <item> RequestWrapper </item>
++                      <item> Resource </item>
++                      <item> Resources </item>
++                      <item> Response </item>
++                      <item> ResponseWrapper </item>
++                      <item> RetrievalMethod </item>
++                      <item> RoundEnvironment </item>
++                      <item> RowFilter </item>
++                      <item> RowId </item>
++                      <item> RowIdLifetime </item>
++                      <item> RowSorter </item>
++                      <item> RowSorterEvent </item>
++                      <item> RowSorterListener </item>
++                      <item> RunnableFuture </item>
++                      <item> RunnableScheduledFuture </item>
++                      <item> SAAJMetaFactory </item>
++                      <item> SAAJResult </item>
++                      <item> SchemaOutputResolver </item>
++                      <item> ScriptContext </item>
++                      <item> ScriptEngine </item>
++                      <item> ScriptEngineFactory </item>
++                      <item> ScriptEngineManager </item>
++                      <item> ScriptException </item>
++                      <item> Service </item>
++                      <item> ServiceConfigurationError </item>
++                      <item> ServiceDelegate </item>
++                      <item> ServiceLoader </item>
++                      <item> ServiceMode </item>
++                      <item> SignatureMethod </item>
++                      <item> SignatureMethodParameterSpec </item>
++                      <item> SignatureProperties </item>
++                      <item> SignatureProperty </item>
++                      <item> SignedInfo </item>
++                      <item> SimpleAnnotationValueVisitor6 </item>
++                      <item> SimpleBindings </item>
++                      <item> SimpleElementVisitor6 </item>
++                      <item> SimpleJavaFileObject </item>
++                      <item> SimpleScriptContext </item>
++                      <item> SimpleTypeVisitor6 </item>
++                      <item> SOAPBinding </item>
++                      <item> SOAPBinding </item>
++                      <item> SOAPBody </item>
++                      <item> SOAPBodyElement </item>
++                      <item> SOAPConnection </item>
++                      <item> SOAPConnectionFactory </item>
++                      <item> SOAPConstants </item>
++                      <item> SOAPElement </item>
++                      <item> SOAPElementFactory </item>
++                      <item> SOAPEnvelope </item>
++                      <item> SOAPException </item>
++                      <item> SOAPFactory </item>
++                      <item> SOAPFault </item>
++                      <item> SOAPFaultElement </item>
++                      <item> SOAPFaultException </item>
++                      <item> SOAPHandler </item>
++                      <item> SOAPHeader </item>
++                      <item> SOAPHeaderElement </item>
++                      <item> SOAPMessage </item>
++                      <item> SOAPMessageContext </item>
++                      <item> SOAPMessageHandler </item>
++                      <item> SOAPMessageHandlers </item>
++                      <item> SOAPPart </item>
++                      <item> SortOrder </item>
++                      <item> SourceVersion </item>
++                      <item> SplashScreen </item>
++                      <item> SQLClientInfoException </item>
++                      <item> SQLDataException </item>
++                      <item> SQLFeatureNotSupportedException </item>
++                      <item> SQLIntegrityConstraintViolationException </item>
++                      <item> SQLInvalidAuthorizationSpecException </item>
++                      <item> SQLNonTransientConnectionException </item>
++                      <item> SQLNonTransientException </item>
++                      <item> SQLRecoverableException </item>
++                      <item> SQLSyntaxErrorException </item>
++                      <item> SQLTimeoutException </item>
++                      <item> SQLTransactionRollbackException </item>
++                      <item> SQLTransientConnectionException </item>
++                      <item> SQLTransientException </item>
++                      <item> SQLXML </item>
++                      <item> SSLParameters </item>
++                      <item> StandardEmitterMBean </item>
++                      <item> StandardJavaFileManager </item>
++                      <item> StandardLocation </item>
++                      <item> StartDocument </item>
++                      <item> StartElement </item>
++                      <item> StatementEvent </item>
++                      <item> StatementEventListener </item>
++                      <item> StAXResult </item>
++                      <item> StAXSource </item>
++                      <item> StreamFilter </item>
++                      <item> StreamReaderDelegate </item>
++                      <item> SupportedAnnotationTypes </item>
++                      <item> SupportedOptions </item>
++                      <item> SupportedSourceVersion </item>
++                      <item> SwingWorker </item>
++                      <item> SystemTray </item>
++                      <item> TableRowSorter </item>
++                      <item> TableStringConverter </item>
++                      <item> TimeZoneNameProvider </item>
++                      <item> Tool </item>
++                      <item> ToolProvider </item>
++                      <item> Transform </item>
++                      <item> TransformException </item>
++                      <item> TransformParameterSpec </item>
++                      <item> TransformService </item>
++                      <item> TrayIcon </item>
++                      <item> TypeConstraintException </item>
++                      <item> TypeElement </item>
++                      <item> TypeKind </item>
++                      <item> TypeKindVisitor6 </item>
++                      <item> TypeMirror </item>
++                      <item> TypeParameterElement </item>
++                      <item> TypeVisitor </item>
++                      <item> UIEvent </item>
++                      <item> UnknownAnnotationValueException </item>
++                      <item> UnknownElementException </item>
++                      <item> UnknownTypeException </item>
++                      <item> Unmarshaller </item>
++                      <item> UnmarshallerHandler </item>
++                      <item> UnsupportedDataTypeException </item>
++                      <item> URIDereferencer </item>
++                      <item> URIParameter </item>
++                      <item> URIReference </item>
++                      <item> URIReferenceException </item>
++                      <item> URLDataSource </item>
++                      <item> ValidationEvent </item>
++                      <item> ValidationEventCollector </item>
++                      <item> ValidationEventHandler </item>
++                      <item> ValidationEventImpl </item>
++                      <item> ValidationEventLocator </item>
++                      <item> ValidationEventLocatorImpl </item>
++                      <item> ValidationException </item>
++                      <item> VariableElement </item>
++                      <item> W3CDomHandler </item>
++                      <item> WebEndpoint </item>
++                      <item> WebFault </item>
++                      <item> WebMethod </item>
++                      <item> WebParam </item>
++                      <item> WebResult </item>
++                      <item> WebService </item>
++                      <item> WebServiceClient </item>
++                      <item> WebServiceContext </item>
++                      <item> WebServiceException </item>
++                      <item> WebServicePermission </item>
++                      <item> WebServiceProvider </item>
++                      <item> WebServiceRef </item>
++                      <item> WebServiceRefs </item>
++                      <item> Wrapper </item>
++                      <item> X509Data </item>
++                      <item> X509IssuerSerial </item>
++                      <item> XmlAccessOrder </item>
++                      <item> XmlAccessorOrder </item>
++                      <item> XmlAccessorType </item>
++                      <item> XmlAccessType </item>
++                      <item> XmlAdapter </item>
++                      <item> XmlAnyAttribute </item>
++                      <item> XmlAnyElement </item>
++                      <item> XmlAttachmentRef </item>
++                      <item> XmlAttribute </item>
++                      <item> XMLCryptoContext </item>
++                      <item> XmlElement </item>
++                      <item> XmlElementDecl </item>
++                      <item> XmlElementRef </item>
++                      <item> XmlElementRefs </item>
++                      <item> XmlElements </item>
++                      <item> XmlElementWrapper </item>
++                      <item> XmlEnum </item>
++                      <item> XmlEnumValue </item>
++                      <item> XMLEvent </item>
++                      <item> XMLEventAllocator </item>
++                      <item> XMLEventConsumer </item>
++                      <item> XMLEventFactory </item>
++                      <item> XMLEventReader </item>
++                      <item> XMLEventWriter </item>
++                      <item> XmlID </item>
++                      <item> XmlIDREF </item>
++                      <item> XmlInlineBinaryData </item>
++                      <item> XMLInputFactory </item>
++                      <item> XmlJavaTypeAdapter </item>
++                      <item> XmlJavaTypeAdapters </item>
++                      <item> XmlList </item>
++                      <item> XmlMimeType </item>
++                      <item> XmlMixed </item>
++                      <item> XmlNs </item>
++                      <item> XmlNsForm </item>
++                      <item> XMLObject </item>
++                      <item> XMLOutputFactory </item>
++                      <item> XmlRegistry </item>
++                      <item> XMLReporter </item>
++                      <item> XMLResolver </item>
++                      <item> XmlRootElement </item>
++                      <item> XmlSchema </item>
++                      <item> XmlSchemaType </item>
++                      <item> XmlSchemaTypes </item>
++                      <item> XMLSignature </item>
++                      <item> XMLSignatureException </item>
++                      <item> XMLSignatureFactory </item>
++                      <item> XMLSignContext </item>
++                      <item> XMLStreamConstants </item>
++                      <item> XMLStreamException </item>
++                      <item> XMLStreamReader </item>
++                      <item> XMLStreamWriter </item>
++                      <item> XMLStructure </item>
++                      <item> XmlTransient </item>
++                      <item> XmlType </item>
++                      <item> XMLValidateContext </item>
++                      <item> XmlValue </item>
++                      <item> XPathFilter2ParameterSpec </item>
++                      <item> XPathFilterParameterSpec </item>
++                      <item> XPathType </item>
++                      <item> XSLTTransformParameterSpec </item>
++                      <item> ZipError </item>
++                      
++<!--                  end new classes -->
+               </list>
+               <list name="keywords">
+                       <item> abstract </item>
+@@ -3352,6 +3777,7 @@
+                                       <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
+                               </Int>
+                               <HlCChar attribute="Char" context="#stay"/>
++                              <RegExpr attribute="Char" context="#stay" String="'\\u[0-9a-fA-F]{4}'"/>
+                               <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
+                               <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
+                               <DetectChar attribute="String" context="String" char="&quot;"/>
+@@ -3370,6 +3796,7 @@
+                       <context attribute="String" lineEndContext="#pop" name="String">
+                               <LineContinue attribute="String" context="#stay"/>
+                               <HlCStringChar attribute="String Char" context="#stay"/>
++                              <RegExpr attribute="String Char" context="#stay" String="\\u[0-9a-fA-F]{4}"/>
+                               <DetectChar attribute="String" context="#pop" char="&quot;"/>
+                       </context>
+                       <context attribute="Printf" lineEndContext="#pop" name="Printf">
+diff -ur kdelibs-3.5.8/kate/data.org/lilypond.xml kdelibs-3.5.8/kate/data/lilypond.xml
+--- kdelibs-3.5.8/kate/data.org/lilypond.xml   2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/lilypond.xml       2007-10-06 00:00:15.000000000 +0200
+@@ -1,373 +1,848 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE language SYSTEM "language.dtd">
+-<!-- Andrea Primiani - primiani at dag dot it
+-      version1.0 - 14 august 2004 -->
+-<language name="LilyPond" section="Other" extensions="*.ly;*.LY" mimetype="" casesensitive="true" author="Andrea Primiani (primiani@dag.it)" license="LGPL" version="1.01" kateversion="2.3">
+-    <highlighting>
+-<!-- repeat keywords -->
+-    <list name="repeats">
+-      <item> \repeat </item>
+-      <item> volta </item>
+-      <item> unfold </item>
+-      <item> "tremolo" </item>
+-      <item> "percent" </item>
+-      <item> \alternative </item>
+-    </list>
+-<!-- header keywords -->
+-        <list name="commands">
+-          <item> \clef </item>
+-          <item> \key </item>
+-          <item> \tempo </item>
+-          <item> \time </item>
+-      </list>
+-      <contexts>
+-           <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+-              <keyword attribute="Repeat" context="#stay" String="repeats" />
+-              <keyword attribute="Keyword" context="Keyword" String="commands" />
+-<!-- detects all keywords and pre-defined variables -->
+-              <StringDetect attribute="Keyword" context="#stay" String="\addquote" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\aeolian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\applymusic" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\applyoutput" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\autochange" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\bar" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\bold" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\bookpaper" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\book" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\breathe" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\breve " />
+-              <StringDetect attribute="Keyword" context="#stay" String="\cadenzaOff" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\cadenzaOn" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\change" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\chords" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\column" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\consists" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\context" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\default" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\dorian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\dotsBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\dotsDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\dotsUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\drums"/>
+-              <StringDetect attribute="Keyword" context="#stay" String="\dynamicBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\dynamicDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\dynamicUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\emptyText" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\fatText" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\figures" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\finger" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\flat" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\germanChords" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\include" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\input" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\italic" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\ionian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\locrian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\longa" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\lydian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\lyricsto" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\major" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\mark" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\markup" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\midi" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\minor" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\mixolydian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\musicglyph" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\newlyrics" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\new" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\noBeam" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\notes"/>
+-              <StringDetect attribute="Keyword" context="#stay" String="\octave" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\once" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\oneVoice" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\override" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\pageBreak" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\paper" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\partcombine" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\partial" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\phrasingSlurBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\phrasingSlurDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\phrasingSlurUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\phrigian" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\property" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\quote" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\raise" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\relative" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\remove" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\renameinput" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\rest" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\revert" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\score" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\scriptBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\scriptDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\scriptUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\semiGermanChords" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\setEasyHeads" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\setHairpinCresc" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\setTextCresc" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\set" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\shiftOff" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\shiftOnnn" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\shiftOnn" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\shiftOn" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\simultaneous" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\skip " />
+-              <StringDetect attribute="Keyword" context="#stay" String="\slurBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\slurDotted" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\slurDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\slurSolid" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\slurUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\smaller" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\startGroup" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\startTextSpan" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\stemBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\stemDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\stemUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\stopGroup" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\stopTextSpan" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tag" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tempo" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\thumb" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tieBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tieDotted" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tieDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tieSolid" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tieUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\transpose" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\transposition" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tupletBoth" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tupletDown" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\tupletUp" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\typewriter" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\voiceFour" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\unset" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\voiceOne" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\voiceThree" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\voiceTwo" />
+-              <StringDetect attribute="Keyword" context="#stay" String="\with" />
+-<!-- decoration keywords -->
+-              <StringDetect attribute="Decoration" context="#stay" String="\accento" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\acciaccatura" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\appoggiatura" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\arpeggioBoth" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\arpeggioBracket" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\arpeggioDown" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\arpeggioUp" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\arpeggio" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\coda" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\downbow" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\downmordent" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\downprall" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\fermataMarkup" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\fermata" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\flageolet" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\glissando" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\grace" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\harmonic" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\lheel" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\lineprall" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\longfermata" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\ltoe" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\melismaEnd" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\melisma" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\mordent" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\open" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\portato" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\prall" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\pralldown" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\prallmordent" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\prallprall" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\prallup" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\reverseturn" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\rheel" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\rtoe" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\segno" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\shortfermata" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\signumcongruentiae" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\sostenutoDown" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\sostenutoUp" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\staccatissimo" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\staccato" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\stopped" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\sustainDown" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\sustainUp" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\tenuto" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\thumb" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\trill" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\turn" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\upbow" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\upmordent" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\upprall" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\varcoda" />
+-              <StringDetect attribute="Decoration" context="#stay" String="\verylongfermata" />
+-<!-- drum note keywords -->
+-              <StringDetect attribute="Drums" context="#stay" String=" hihat" />
+-              <StringDetect attribute="Drums" context="#stay" String=" snaredrum" />
+-              <StringDetect attribute="Drums" context="#stay" String=" crashcymbal" />
+-              <StringDetect attribute="Drums" context="#stay" String=" openhihat" />
+-              <StringDetect attribute="Drums" context="#stay" String=" halfopenhihat" />
+-              <StringDetect attribute="Drums" context="#stay" String=" closedhihat" />
+-              <StringDetect attribute="Drums" context="#stay" String=" bassdrum" />
+-              <StringDetect attribute="Drums" context="#stay" String=" snare" />
+-              <StringDetect attribute="Drums" context="#stay" String=" bd" />
+-              <StringDetect attribute="Drums" context="#stay" String=" sn" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cymc" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cyms" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cymr" />
+-              <StringDetect attribute="Drums" context="#stay" String=" hhho" />
+-              <StringDetect attribute="Drums" context="#stay" String=" hhc" />
+-              <StringDetect attribute="Drums" context="#stay" String=" hho" />
+-              <StringDetect attribute="Drums" context="#stay" String=" hhp" />
+-              <StringDetect attribute="Drums" context="#stay" String=" hh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cb" />
+-              <StringDetect attribute="Drums" context="#stay" String=" hc" />
+-              <StringDetect attribute="Drums" context="#stay" String=" ssl" />
+-              <StringDetect attribute="Drums" context="#stay" String=" ssh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" ss" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tommmh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tommh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tomh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" toml" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tomfh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tomfl" />
+-              <StringDetect attribute="Drums" context="#stay" String=" timh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" timl" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cgho" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cghm" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cgh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cglo" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cglm" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cgl" />
+-              <StringDetect attribute="Drums" context="#stay" String=" boho" />
+-              <StringDetect attribute="Drums" context="#stay" String=" bohm" />
+-              <StringDetect attribute="Drums" context="#stay" String=" boh" />
+-              <StringDetect attribute="Drums" context="#stay" String=" bolo" />
+-              <StringDetect attribute="Drums" context="#stay" String=" bolm" />
+-              <StringDetect attribute="Drums" context="#stay" String=" bol" />
+-              <StringDetect attribute="Drums" context="#stay" String=" trio" />
+-              <StringDetect attribute="Drums" context="#stay" String=" trim" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tri" />
+-              <StringDetect attribute="Drums" context="#stay" String=" guis" />
+-              <StringDetect attribute="Drums" context="#stay" String=" guil" />
+-              <StringDetect attribute="Drums" context="#stay" String=" gui" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cl" />
+-              <StringDetect attribute="Drums" context="#stay" String=" tamb" />
+-              <StringDetect attribute="Drums" context="#stay" String=" cab" />
+-              <StringDetect attribute="Drums" context="#stay" String=" mar" />
+-<!-- detects tuplets -->
+-          <RegExpr attribute="Tuplet" context="#pop" String="\\times [1-9]?/[1-9]?" />
+-<!-- detects lyrics expression -->        
+-          <StringDetect attribute="Lyrics" context="Lyrics" String="\lyrics {" beginRegion="lyrics" />
+-          <StringDetect attribute="Lyrics" context="Lyrics" String="\newlyrics {" beginRegion="lyrics" />
+-<!-- detects \header {   } zone -->
+-          <RegExpr attribute="Keyword" context="Header" String="\\header\s*{" beginRegion="header" />
+-<!-- detects quoted strings -->
+-          <RangeDetect attribute="String" context="#stay" char="&quot;" char1="&quot;"/>
+-<!-- detects other { } ranges -->
+-          <DetectChar attribute="Chord" context="#stay" char="{" />
+-          <DetectChar attribute="Chord" context="#stay" char="}" />
+-<!-- in old Lilypond the same was for [ ] -->
+-          <DetectChar attribute="Chord" context="#stay" char="[" />
+-          <DetectChar attribute="Chord" context="#stay" char="]" />
+-<!-- detects <> for chords -->
+-          <DetectChar attribute="Chord" context="#stay" char="&lt;" />
+-          <DetectChar attribute="Chord" context="#stay" char="&gt;" />
+-<!-- detects #( ) command lines       -->
+-          <Detect2Chars attribute="Header" context="Command" char="#" char1="(" beginRegion="command" />
+-<!-- detects context delimiter << (was <) -->
+-          <Detect2Chars attribute="Context" context="#stay" char="&lt;" char1="&lt;" beginRegion="context"/>
+-          <Detect2Chars attribute="Context" context="#stay" char="&gt;" char1="&gt;" endRegion="context"/>
+-<!-- detects ~ for ties -->
+-          <DetectChar attribute="Chord" context="#stay" char="~" />
+-<!-- detects bar beginning (or chord) symbols and sends to Bar context -->
+-          <DetectChar attribute="Bar" context="#stay" char="|" />
+-<!-- detects n:m note repeat marks -->
+-          <RegExpr attribute="Repeat" context="#stay" String="[1-9]+:[1-9]+\b" />
+-<!-- detects ( for slur beginning  -->
+-          <RegExpr attribute="Slur" context="#stay" String="\\?\(" />
+-          <RegExpr attribute="Slur" context="#stay" String="\\?\)" />
+-<!-- detects dynamic marks -->
+-          <RegExpr attribute="Dynamics" context="#stay" String="\\fff\b" />
+-          <RegExpr attribute="Dynamics" context="#stay" String="\\ff\b" /> 
+-          <RegExpr attribute="Dynamics" context="#stay" String="\\ppp\b" />
+-          <RegExpr attribute="Dynamics" context="#stay" String="\\pp\b" />
+-          <RegExpr attribute="Dynamics" context="#stay" String="\\m?[f|p]\b" />
+-          <RegExpr attribute="Dynamics" context="#stay" String="\\[s|r]fz?\b" />
+-<!-- detects articulation marks -->
+-          <RegExpr attribute="Dynamics" context="#stay" String="_[_.\|+&gt;^-]\b?" />
+-          <RegExpr attribute="Dynamics" context="#stay" String="\^[_.\|+&gt;^-]\b?" />
+-          <RegExpr attribute="Dynamics" context="#stay" String="-[_.\|+&gt;^-]\b?" />
+-<!-- detects \< for crescendo and \> for diminuendo - both end with \! -->
+-          <Detect2Chars attribute="Dynamics" context="#stay" char="\" char1="&lt;" />
+-          <Detect2Chars attribute="Dynamics" context="#stay" char="\" char1="&gt;" />
+-          <Detect2Chars attribute="Dynamics" context="#stay" char="\" char1="!" />
+-<!-- detects fingering marks -->
+-          <RegExpr attribute="Dynamics" context="#stay" String="-[0-5]\b" />
+-<!-- detects % comment lines  -->     
+-          <DetectChar attribute="Comment" context="Comment" char="%" />
+-         </context>
+-<!-- returns to Normal context at the end of line -->    
+-         <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop" />
+-         <context name="Comment" attribute="Comment" lineEndContext="#pop" />
+-         <context name="Slur" attribute="Normal" lineEndContext="#stay" >
+-              <RegExpr attribute="Slur" context="Slur" String="\\?\(" />
+-              <RegExpr attribute="Slur" context="#pop" String="\\?\)" />
+-         </context>
+-<!-- detects >> as end of Context region -->
+-         <context name="Context" attribute="Normal Text" lineEndContext="#stay" >
+-              <Detect2Chars attribute="Context" context="#pop" char="&gt;" char1="&gt;" endRegion="context"/>
+-         </context>
+-         <context name="Command" attribute="Header" lineEndContext="#stay" >
+-              <DetectChar attribute="Header" context="Command" char="(" />
+-              <DetectChar attribute="Header" context="#pop" char=")" endRegion="command" />
+-         </context>
+-<!-- returns to Normal context at the end of header -->
+-         <context name="Header" attribute="Header" lineEndContext="#stay">
+-<!-- the header ends at the } char -->
+-              <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="header"/>
+-         </context>
+-<!-- returns to Normal context at the end of lyrics -->
+-         <context name="Lyrics" attribute="Lyrics" lineEndContext="#stay">
+-<!-- detects % comment lines  -->     
+-          <DetectChar attribute="Comment" context="Comment" char="%" />
+-<!-- the region ends at the } char -->
+-              <DetectChar attribute="Lyrics" context="#pop" char="}" endRegion="lyrics"/>
+-         </context>
+-<!-- repeat region: detects other keywords and } as repeat end -->
+-         <context name="Repeat" attribute="Normal Text" lineEndContext="#stay">
+-<!-- the repeat region ends at the } char -->
+-         <DetectChar attribute="Normal Text" context="#pop" char="}" />
+-         <StringDetect attribute="Repeat" context="#pop" String="&quot;tremolo&quot;"  />
+-         <StringDetect attribute="Repeat" context="#pop" String="&quot;percent&quot;"  />
+-         <RegExpr attribute="Repeat" context="#pop" String="volta\b+[1-9]\b+" />
+-         </context>
+-<!-- detects keywords after the \ char  -->
+-         <context name="Keyword" attribute="Keyword" lineEndContext="#pop"/>
+-       </contexts>
+-        <itemDatas>
+-          <itemData name="Normal Text" defStyleNum="dsNormal"/>
+-        <itemData name="Keyword" defStyleNum="dsKeyword" bold="true" />
+-          <itemData name="Decoration" defStyleNum="dsKeyword" bold="true" color="#3300bb"/>
+-        <itemData name="Comment" defStyleNum="dsComment"/>
+-        <itemData name="Tuplet" defStyleNum="dsFloat" color="#00bbaa" />
+-        <itemData name="String" defStyleNum="dsString" bold="true"/>
+-        <itemData name="Preprocessor" defStyleNum="dsString" italic="true"/>
+-        <itemData name="Dynamics" defStyleNum="dsString" color="#ee5000"/>
+-        <itemData name="Header" defStyleNum="dsFloat"/>
+-        <itemData name="Chord" defStyleNum="dsDataType" bold="true"/>
+-        <itemData name="Context" defStyleNum="dsDataType"/>
+-        <itemData name="Lyrics" defStyleNum="dsDataType" color="#00bb00"/>
+-        <itemData name="Bar" defStyleNum="dsChar" color="#0000ff"/>
+-        <itemData name="Sharp" defStyleNum="dsNormal" bold="true"/>
+-        <itemData name="Slur" defStyleNum="dsChar" bold="true"/>
+-        <itemData name="Repeat" defStyleNum="dsDataType" italic="true"/>
+-        <itemData name="Drums" defStyleNum="dsKeyword" color="#003333"/>
+-      </itemDatas>
+- </highlighting>
+-  <general>
+-    <comments>
+-      <comment name="singleLine" start="%" />
+-    </comments>
+-    <keywords casesensitive="true" weakDeliminator="\" />
+-  </general>
++<!DOCTYPE language SYSTEM "language.dtd" [
++<!ENTITY markupnotextargs "arrow-head|beam|char|double(flat|sharp)|draw-(circle|line)|epsfile|filled-box|flat|fret-diagram(-terse|-verbose)?|fromproperty|justify-(field|string)|lookup|markalphabet|markletter|musicglyph|natural|note-by-number|note|null|semi(flat|sharp)|sesqui(flat|sharp)|sharp|simple|slashed-digit|stencil|strut|tied-lyric|triangle|verbatim-file|wordwrap-field">
++
++<!ENTITY markupwithtextargs "markup|bigger|bold|box|bracket|caps|center-align|circle|column|combine|concat|dir-column|dynamic|fill-line|finger|fontCaps|fontsize|fraction|general-align|halign|hbracket|hcenter-in|hcenter|hspace|huge|italic|justify|larger?|left-align|line|lower|magnify|medium|normal-size-(sub|super)|normal-text|normalsize|number|on-the-fly|override|pad-(around|markup|to-box|x)|page-ref|postscript|put-adjacent|raise|right-align|roman|rotate|sans|small(er)?|smallCaps|sub|super|teeny|text|tiny|translate(-scaled)?|transparent|typewriter|upright|vcenter|whiteout|with-(color|dimensions|url)|wordwrap(-string)?|(markup|column-|justified-|override-|wordwrap-)lines">
++      
++<!ENTITY scripts "accent|marcato|staccatissimo|espressivo|staccato|tenuto|portato|upbow|downbow|flageolet|thumb|lheel|rheel|ltoe|open|stopped|turn|reverseturn|trill|prall|mordent|prallprall|prallmordent|upprall|downprall|upmordent|downmordent|pralldown|prallup|lineprall|signumcongruentiae|shortfermata|fermata|longfermata|verylongfermata|segno|coda|varcoda">
++      
++<!ENTITY sections "score|paper|header|book|layout|midi">
++      
++<!ENTITY keywords "accepts|alias|change|consists|context|default|defaultchild|denies|description|grobdescriptions|include|invalid|name|new|objectid|once|override|relative|remove|revert|sequential|set|simultaneous|type|unset|version|with|\\">
++      
++<!ENTITY commands "acciaccatura|afterGrace|aikenHeads|allowPageTurn|alternative|apply(Context|Music|Output)|appoggiatura|arpeggio(Bracket|Down|Neutral|Up)?|ascendens|auctum|augmentum|autoBeam(Off|On)|autochange|balloon(Text|GrobText)|bar|barNumberCheck|bendAfter|breathe|break|breve|cadenza(Off|On)|caesura|cavum|clef(\s+(treble|violin|G|alto|C|bass|F|french|soprano|mezzosoprano|baritone|varbaritone|subbass|percussion|tab))?|compressMusic|cueDuring|deminutum|descendens|displayLilyMusic|displayMusic|divisio(Maior|Maxima|Minima)|dynamic(Down|Neutral|Up)|dots(Down|Neutral|Up)|emptyText|fatText|featherDurations|figuremode|figures|finalis|flexa|frenchChords|germanChords|glissando|grace|harmonic|hideNotes|hideStaffSwitch|inclinatum|italianChords|keepWithTag|key|killCues|label|laissezVibrer|layout|linea|longa|mark|maxima|melisma(End)?|no(Beam|Break|PageBreak|PageTurn)|normalsize|octave|oneVoice|oriscus|overrideProperty|page-ref|pageBreak|pageTurn|paper|parallelMusic|parenthesize|partcombine|partial(\s*\d+)?|pes|phrasingSlur(Down|Neutral|Up)|pitchedTrill|property|quilisma|quoteDuring|relative|RemoveEmptyStaffContext|removeWithTag|repeat(\s+(unfold|volta|tremolo|percent)(\s+\d+)?)?|repeatTie|resetRelativeOctave|rest|sacredHarpHeads|scoreTweak|semiGermanChords|setEasyHeads|setHairpinCresc|setHairpinDim|setTextDecresc|setTextDim|setTextCresc|shiftDurations|shift(Off|On|Onn|Onnn)|showStaffSwitch|skip|slur(Dashed|Dotted|Down|Neutral|Solid|Up)|small|sostenuto(Down|Up)|spacingTweaks|startTextSpan|startTrillSpan|stem(Both|Down|Neutral|Up)|stopTextSpan|stopTrillSpan|stropha|super|sustain(Down|Up)|table-of-contents|tag|tempo|tie(Both|Dashed|Dotted|Down|Neutral|Solid|Up)|time(\s*\d+/\d+)?|times(\s*\d+/\d+)?|tiny|tocItem|transpose|transposedCueDuring|transposition|tuplet(Down|Neutral|Up)|tweak|unfoldRepeats|unHideNotes|virga|virgula|voice(One|Two|Three|Four)|withMusicProperty|cm|mm|in|pt|major|minor|ionian|locrian|aeolian|mixolydian|lydian|phrygian|dorian">
++      
++<!ENTITY dynamics "ppppp|pppp|ppp|pp|p|mp|mf|f|ff|fff|ffff|fp|sf|sff|sp|spp|sfz|rfz|cr|decr">
++      
++<!ENTITY settings "first-page-number|print-first-page-number|print-page-number|paper-(width|height)|(top|bottom|left)-margin|line-width|(head|foot)-separation|page-top-space|ragged-(bottom|last-bottom|right)|system-count|between-system-(space|padding)|page-breaking-between-system-padding|horizontal-shift|(before|after|between)-title-space|printallheaders|indent|dedication|(sub){,2}title|poet|composer|meter|opus|arranger|instrument|piece|breakbefore|copyright|tagline|mutopia(title|composer|poet|opus|instrument)|date|enteredby|source|style|copyright|maintainer|maintainerEmail|maintainerWeb|moreInfo|lastupdated|texidoc|force-assignment|input-encoding|output-scale|blank-last-page-force|blank-page-force|page-limit-inter-system-space|page-limit-inter-system-space-factor">
++
++<!ENTITY performers "Beam|Control_track|Drum_note|Dynamic|Key|Lyric|Note|Piano_pedal|Slur|Staff|Swallow|Tempo|Tie|Time_signature">
++<!ENTITY translators "Note_swallow|Rest_swallow|Skip_event_swallow|Timing">
++<!ENTITY engravers "Accidental|Ambitus|Arpeggio|Auto_beam|Axis_group|Balloon|Bar|Bar_number|Beam|Bend|Break_align|Breathing_sign|Chord_name|Chord_tremolo|Clef|Cluster_spanner|Collision|Completion_heads|Custos|Default_bar_line|Dot_column|Dots|Drum_notes|Dynamic|Engraver|Extender|Figured_bass|Figured_bass_position|Fingering|Font_size|Forbid_line_break|Fretboard|Glissando|Grace_beam|Grace|Grace_spacing|Grid_line_span|Grid_point|Grob_pq|Hara_kiri|Horizontal_bracket|Hyphen|Instrument_name|Instrument_switch|Key|Laissez_vibrer|Ledger_line|Ligature_bracket|Lyric|Mark|Measure_grouping|Melody|Mensural_ligature|Metronome_mark|Multi_measure_rest|New_fingering|Note_head_line|Note_heads|Note_name|Note_spacing|Ottava_spanner|Output_property|Page_turn|Paper_column|Parenthesis|Part_combine|Percent_repeat|Phrasing_slur|Piano_pedal_align|Piano_pedal|Pitch_squash|Pitched_trill|Repeat_acknowledge|Repeat_tie|Rest_collision|Rest|Rhythmic_column|Script_column|Script|Script_row|Separating_line_group|Slash_repeat|Slur|Spacing|Span_arpeggio|Span_bar|Spanner_break_forbid|Staff_collecting|Staff_symbol|Stanza_number_align|Stanza_number|Stem|String_number|Swallow|System_start_delimiter|Tab_harmonic|Tab_note_heads|Tab_staff_symbol|Text|Text_spanner|Tie|Time_signature|Translator|Trill_spanner|Tuplet|Tweak|Vaticana_ligature|Vertical_align|Vertically_spaced_contexts|Volta">
++
++]>
++<language name="LilyPond" section="Other" extensions="*.ly;*.LY" mimetype="" casesensitive="true" author="Wilbert Berendsen (info@wilbertberendsen.nl)" license="LGPL" version="2.00" kateversion="2.4">
++      <!-- I borrowed some colors and the drum names from Andrea Primiani's first version. -->
++<highlighting>
++
++<list name="contexts">
++      <item> ChoirStaff </item> 
++      <item> ChordNames </item> 
++      <item> CueVoice </item> 
++      <item> Devnull </item> 
++      <item> DrumStaff </item> 
++      <item> DrumVoice </item> 
++      <item> FiguredBass </item> 
++      <item> FretBoards </item> 
++      <item> Global </item> 
++      <item> GrandStaff </item> 
++      <item> GregorianTranscriptionStaff </item> 
++      <item> GregorianTranscriptionVoice </item> 
++      <item> InnerChoirStaff </item> 
++      <item> InnerStaffGroup </item> 
++      <item> Lyrics </item> 
++      <item> MensuralStaff </item> 
++      <item> MensuralVoice </item> 
++      <item> NoteNames </item> 
++      <item> PianoStaff </item> 
++      <item> RhythmicStaff </item> 
++      <item> Score </item> 
++      <item> Staff </item> 
++      <item> StaffGroup </item> 
++      <item> TabStaff </item> 
++      <item> TabVoice </item> 
++      <item> VaticanaStaff </item> 
++      <item> VaticanaVoice </item> 
++      <item> Voice </item>
++</list>
++      
++<list name="layoutobjects">
++      <item> Accidental </item> 
++      <item> AccidentalCautionary </item> 
++      <item> AccidentalPlacement </item> 
++      <item> AccidentalSuggestion </item> 
++      <item> Ambitus </item> 
++      <item> AmbitusAccidental </item> 
++      <item> AmbitusLine </item> 
++      <item> AmbitusNoteHead </item> 
++      <item> Arpeggio </item> 
++      <item> BalloonTextItem </item> 
++      <item> BarLine </item> 
++      <item> BarNumber </item> 
++      <item> BassFigure </item> 
++      <item> BassFigureAlignment </item> 
++      <item> BassFigureAlignmentPositioning </item> 
++      <item> BassFigureBracket </item> 
++      <item> BassFigureContinuation </item> 
++      <item> BassFigureLine </item> 
++      <item> Beam </item> 
++      <item> BendAfter </item> 
++      <item> BreakAlignGroup </item> 
++      <item> BreakAlignment </item> 
++      <item> BreathingSign </item> 
++      <item> ChordName </item> 
++      <item> Clef </item> 
++      <item> ClusterSpanner </item> 
++      <item> ClusterSpannerBeacon </item> 
++      <item> CombineTextScript </item> 
++      <item> Custos </item> 
++      <item> DotColumn </item> 
++      <item> Dots </item> 
++      <item> DoublePercentRepeat </item> 
++      <item> DoublePercentRepeatCounter </item> 
++      <item> DynamicLineSpanner </item> 
++      <item> DynamicText </item> 
++      <item> DynamicTextSpanner </item> 
++      <item> Fingering </item> 
++      <item> FretBoard </item> 
++      <item> Glissando </item> 
++      <item> GraceSpacing </item> 
++      <item> GridLine </item> 
++      <item> GridPoint </item> 
++      <item> Hairpin </item> 
++      <item> HarmonicParenthesesItem </item> 
++      <item> HorizontalBracket </item> 
++      <item> InstrumentName </item> 
++      <item> InstrumentSwitch </item> 
++      <item> KeyCancellation </item> 
++      <item> KeySignature </item> 
++      <item> LaissezVibrerTie </item> 
++      <item> LaissezVibrerTieColumn </item> 
++      <item> LedgerLineSpanner </item> 
++      <item> LeftEdge </item> 
++      <item> LigatureBracket </item> 
++      <item> LyricExtender </item> 
++      <item> LyricHyphen </item> 
++      <item> LyricSpace </item> 
++      <item> LyricText </item> 
++      <item> MeasureGrouping </item> 
++      <item> MelodyItem </item> 
++      <item> MensuralLigature </item> 
++      <item> MetronomeMark </item> 
++      <item> MultiMeasureRest </item> 
++      <item> MultiMeasureRestNumber </item> 
++      <item> MultiMeasureRestText </item> 
++      <item> NonMusicalPaperColumn </item> 
++      <item> NoteCollision </item> 
++      <item> NoteColumn </item> 
++      <item> NoteHead </item> 
++      <item> NoteName </item> 
++      <item> NoteSpacing </item> 
++      <item> OctavateEight </item> 
++      <item> OttavaBracket </item> 
++      <item> PaperColumn </item> 
++      <item> ParenthesesItem </item> 
++      <item> PercentRepeat </item> 
++      <item> PercentRepeatCounter </item> 
++      <item> PhrasingSlur </item> 
++      <item> PianoPedalBracket </item> 
++      <item> RehearsalMark </item> 
++      <item> RepeatSlash </item> 
++      <item> RepeatTie </item> 
++      <item> RepeatTieColumn </item> 
++      <item> Rest </item> 
++      <item> RestCollision </item> 
++      <item> Script </item> 
++      <item> ScriptColumn </item> 
++      <item> ScriptRow </item> 
++      <item> SeparationItem </item> 
++      <item> Slur </item> 
++      <item> SostenutoPedal </item> 
++      <item> SostenutoPedalLineSpanner </item> 
++      <item> SpacingSpanner </item> 
++      <item> SpanBar </item> 
++      <item> StaffSpacing </item> 
++      <item> StaffSymbol </item> 
++      <item> StanzaNumber </item> 
++      <item> Stem </item> 
++      <item> StemTremolo </item> 
++      <item> StringNumber </item> 
++      <item> StrokeFinger </item> 
++      <item> SustainPedal </item> 
++      <item> SustainPedalLineSpanner </item> 
++      <item> System </item> 
++      <item> SystemStartBar </item> 
++      <item> SystemStartBrace </item> 
++      <item> SystemStartBracket </item> 
++      <item> SystemStartSquare </item> 
++      <item> TabNoteHead </item> 
++      <item> TextScript </item> 
++      <item> TextSpanner </item> 
++      <item> Tie </item> 
++      <item> TieColumn </item> 
++      <item> TimeSignature </item> 
++      <item> TrillPitchAccidental </item> 
++      <item> TrillPitchGroup </item> 
++      <item> TrillPitchHead </item> 
++      <item> TrillSpanner </item> 
++      <item> TupletBracket </item> 
++      <item> TupletNumber </item> 
++      <item> UnaCordaPedal </item> 
++      <item> UnaCordaPedalLineSpanner </item> 
++      <item> VaticanaLigature </item> 
++      <item> VerticalAlignment </item> 
++      <item> VerticalAxisGroup </item> 
++      <item> VoiceFollower </item> 
++      <item> VoltaBracket </item> 
++      <item> VoltaBracketSpanner </item> 
++</list>
++
++<list name="properties">
++      <item> aDueText </item>
++      <item> alignAboveContext </item>
++      <item> alignBassFigureAccidentals </item>
++      <item> alignBelowContext </item>
++      <item> associatedVoice </item>
++      <item> autoAccidentals </item>
++      <item> autoBeamCheck </item>
++      <item> autoBeamSettings </item>
++      <item> autoBeaming </item>
++      <item> autoCautionaries </item>
++      <item> automaticBars </item>
++      <item> barAlways </item>
++      <item> barCheckSynchronize </item>
++      <item> barNumberVisibility </item>
++      <item> bassFigureFormatFunction </item>
++      <item> bassStaffProperties </item>
++      <item> beatGrouping </item>
++      <item> beatLength </item>
++      <item> chordChanges </item>
++      <item> chordNameExceptions </item>
++      <item> chordNameExceptionsFull </item>
++      <item> chordNameExceptionsPartial </item>
++      <item> chordNameFunction </item>
++      <item> chordNameSeparator </item>
++      <item> chordNoteNamer </item>
++      <item> chordPrefixSpacer </item>
++      <item> chordRootNamer </item>
++      <item> clefGlyph </item>
++      <item> clefOctavation </item>
++      <item> clefPosition </item>
++      <item> connectArpeggios </item>
++      <item> countPercentRepeats </item>
++      <item> createKeyOnClefChange </item>
++      <item> createSpacing </item>
++      <item> crescendoSpanner </item>
++      <item> crescendoText </item>
++      <item> currentBarNumber </item>
++      <item> decrescendoSpanner </item>
++      <item> decrescendoText </item>
++      <item> defaultBarType </item>
++      <item> doubleSlurs </item>
++      <item> drumPitchTable </item>
++      <item> drumStyleTable </item>
++      <item> explicitClefVisibility </item>
++      <item> explicitKeySignatureVisibility </item>
++      <item> extendersOverRests </item>
++      <item> extraNatural </item>
++      <item> figuredBassAlterationDirection </item>
++      <item> figuredBassCenterContinuations </item>
++      <item> figuredBassFormatter </item>
++      <item> figuredBassPlusDirection </item>
++      <item> fingeringOrientations </item>
++      <item> firstClef </item>
++      <item> followVoice </item>
++      <item> fontSize </item>
++      <item> forbidBreak </item>
++      <item> forceClef </item>
++      <item> gridInterval </item>
++      <item> hairpinToBarline </item>
++      <item> harmonicAccidentals </item>
++      <item> highStringOne </item>
++      <item> ignoreBarChecks </item>
++      <item> ignoreFiguredBassRest </item>
++      <item> ignoreMelismata </item>
++      <item> implicitBassFigures </item>
++      <item> implicitTimeSignatureVisibility </item>
++      <item> instrumentCueName </item>
++      <item> instrumentEqualizer </item>
++      <item> instrumentName </item>
++      <item> instrumentTransposition </item>
++      <item> internalBarNumber </item>
++      <item> keepAliveInterfaces </item>
++      <item> keyAlterationOrder </item>
++      <item> keySignature </item>
++      <item> majorSevenSymbol </item>
++      <item> markFormatter </item>
++      <item> maximumFretStretch </item>
++      <item> measureLength </item>
++      <item> measurePosition </item>
++      <item> melismaBusyProperties </item>
++      <item> metronomeMarkFormatter </item>
++      <item> middleCPosition </item>
++      <item> midiInstrument </item>
++      <item> midiMaximumVolume </item>
++      <item> midiMinimumVolume </item>
++      <item> minimumFret </item>
++      <item> minimumPageTurnLength </item>
++      <item> minimumRepeatLengthForPageTurn </item>
++      <item> noteToFretFunction </item>
++      <item> ottavation </item>
++      <item> output </item>
++      <item> pedalSostenutoStrings </item>
++      <item> pedalSostenutoStyle </item>
++      <item> pedalSustainStrings </item>
++      <item> pedalSustainStyle </item>
++      <item> pedalUnaCordaStrings </item>
++      <item> pedalUnaCordaStyle </item>
++      <item> printKeyCancellation </item>
++      <item> printOctaveNames </item>
++      <item> printPartCombineTexts </item>
++      <item> proportionalNotationDuration </item>
++      <item> recordEventSequence </item>
++      <item> rehearsalMark </item>
++      <item> repeatCommands </item>
++      <item> restNumberThreshold </item>
++      <item> shapeNoteStyles </item>
++      <item> shortInstrumentName </item>
++      <item> shortVocalName </item>
++      <item> skipBars </item>
++      <item> skipTypesetting </item>
++      <item> soloIIText </item>
++      <item> soloText </item>
++      <item> squashedPosition </item>
++      <item> staffLineLayoutFunction </item>
++      <item> stanza </item>
++      <item> stemLeftBeamCount </item>
++      <item> stemRightBeamCount </item>
++      <item> stringNumberOrientations </item>
++      <item> stringOneTopmost </item>
++      <item> stringTunings </item>
++      <item> strokeFingerOrientations </item>
++      <item> subdivideBeams </item>
++      <item> suggestAccidentals </item>
++      <item> systemStartDelimiter </item>
++      <item> systemStartDelimiterHierarchy </item>
++      <item> tablatureFormat </item>
++      <item> tempoUnitCount </item>
++      <item> tempoUnitDuration </item>
++      <item> tempoWholesPerMinute </item>
++      <item> tieWaitForNote </item>
++      <item> timeSignatureFraction </item>
++      <item> timing </item>
++      <item> tonic </item>
++      <item> trebleStaffProperties </item>
++      <item> tremoloFlags </item>
++      <item> tupletFullLength </item>
++      <item> tupletFullLengthNote </item>
++      <item> tupletSpannerDuration </item>
++      <item> useBassFigureExtenders </item>
++      <item> verticallySpacedContexts </item>
++      <item> vocalName </item>
++      <item> voltaOnThisStaff </item>
++      <item> voltaSpannerDuration </item>
++      <item> whichBar </item>
++</list>
++
++<list name="drumpitchnames">
++      <item> acousticbassdrum </item>
++      <item> acousticsnare </item>
++      <item> agh </item>
++      <item> agl </item>
++      <item> bassdrum </item>
++      <item> bd </item>
++      <item> bda </item>
++      <item> boh </item>
++      <item> bohm </item>
++      <item> boho </item>
++      <item> bol </item>
++      <item> bolm </item>
++      <item> bolo </item>
++      <item> cab </item>
++      <item> cabasa </item>
++      <item> cb </item>
++      <item> cgh </item>
++      <item> cghm </item>
++      <item> cgho </item>
++      <item> cgl </item>
++      <item> cglm </item>
++      <item> cglo </item>
++      <item> chinesecymbal </item>
++      <item> cl </item>
++      <item> claves </item>
++      <item> closedhihat </item>
++      <item> cowbell </item>
++      <item> crashcymbal </item>
++      <item> crashcymbala </item>
++      <item> crashcymbalb </item>
++      <item> cuim </item>
++      <item> cuio </item>
++      <item> cymc </item>
++      <item> cymca </item>
++      <item> cymcb </item>
++      <item> cymch </item>
++      <item> cymr </item>
++      <item> cymra </item>
++      <item> cymrb </item>
++      <item> cyms </item>
++      <item> da </item>
++      <item> db </item>
++      <item> dc </item>
++      <item> dd </item>
++      <item> de </item>
++      <item> electricsnare </item>
++      <item> fivedown </item>
++      <item> fiveup </item>
++      <item> fourdown </item>
++      <item> fourup </item>
++      <item> gui </item>
++      <item> guil </item>
++      <item> guiro </item>
++      <item> guis </item>
++      <item> halfopenhihat </item>
++      <item> handclap </item>
++      <item> hc </item>
++      <item> hh </item>
++      <item> hhc </item>
++      <item> hhho </item>
++      <item> hho </item>
++      <item> hhp </item>
++      <item> hiagogo </item>
++      <item> hibongo </item>
++      <item> hiconga </item>
++      <item> highfloortom </item>
++      <item> hightom </item>
++      <item> hihat </item>
++      <item> himidtom </item>
++      <item> hisidestick </item>
++      <item> hitimbale </item>
++      <item> hiwoodblock </item>
++      <item> loagogo </item>
++      <item> lobongo </item>
++      <item> loconga </item>
++      <item> longguiro </item>
++      <item> longwhistle </item>
++      <item> losidestick </item>
++      <item> lotimbale </item>
++      <item> lowfloortom </item>
++      <item> lowmidtom </item>
++      <item> lowoodblock </item>
++      <item> lowtom </item>
++      <item> mar </item>
++      <item> maracas </item>
++      <item> mutecuica </item>
++      <item> mutehibongo </item>
++      <item> mutehiconga </item>
++      <item> mutelobongo </item>
++      <item> muteloconga </item>
++      <item> mutetriangle </item>
++      <item> onedown </item>
++      <item> oneup </item>
++      <item> opencuica </item>
++      <item> openhibongo </item>
++      <item> openhiconga </item>
++      <item> openhihat </item>
++      <item> openlobongo </item>
++      <item> openloconga </item>
++      <item> opentriangle </item>
++      <item> pedalhihat </item>
++      <item> rb </item>
++      <item> ridebell </item>
++      <item> ridecymbal </item>
++      <item> ridecymbala </item>
++      <item> ridecymbalb </item>
++      <item> shortguiro </item>
++      <item> shortwhistle </item>
++      <item> sidestick </item>
++      <item> sn </item>
++      <item> sna </item>
++      <item> snare </item>
++      <item> sne </item>
++      <item> splashcymbal </item>
++      <item> ss </item>
++      <item> ssh </item>
++      <item> ssl </item>
++      <item> tamb </item>
++      <item> tambourine </item>
++      <item> tamtam </item>
++      <item> threedown </item>
++      <item> threeup </item>
++      <item> timh </item>
++      <item> timl </item>
++      <item> tomfh </item>
++      <item> tomfl </item>
++      <item> tomh </item>
++      <item> toml </item>
++      <item> tommh </item>
++      <item> tomml </item>
++      <item> tri </item>
++      <item> triangle </item>
++      <item> trim </item>
++      <item> trio </item>
++      <item> tt </item>
++      <item> twodown </item>
++      <item> twoup </item>
++      <item> ua </item>
++      <item> ub </item>
++      <item> uc </item>
++      <item> ud </item>
++      <item> ue </item>
++      <item> vibraslap </item>
++      <item> vibs </item>
++      <item> wbh </item>
++      <item> wbl </item>
++      <item> whl </item>
++      <item> whs </item>
++</list>
++      
++<list name="musicexpressions">
++      <item> AbsoluteDynamicEvent </item> 
++      <item> AnnotateOutputEvent </item> 
++      <item> ApplyContext </item> 
++      <item> ApplyOutputEvent </item> 
++      <item> ArpeggioEvent </item> 
++      <item> ArticulationEvent </item> 
++      <item> AutoChangeMusic </item> 
++      <item> BarCheck </item> 
++      <item> BassFigureEvent </item> 
++      <item> BeamEvent </item> 
++      <item> BeamForbidEvent </item> 
++      <item> BendAfterEvent </item> 
++      <item> BreathingEvent </item> 
++      <item> ClusterNoteEvent </item> 
++      <item> ContextChange </item> 
++      <item> ContextSpeccedMusic </item> 
++      <item> CrescendoEvent </item> 
++      <item> DecrescendoEvent </item> 
++      <item> Event </item> 
++      <item> EventChord </item> 
++      <item> ExtenderEvent </item> 
++      <item> FingeringEvent </item> 
++      <item> GlissandoEvent </item> 
++      <item> GraceMusic </item> 
++      <item> HarmonicEvent </item> 
++      <item> HyphenEvent </item> 
++      <item> KeyChangeEvent </item> 
++      <item> LabelEvent </item> 
++      <item> LaissezVibrerEvent </item> 
++      <item> LigatureEvent </item> 
++      <item> LineBreakEvent </item> 
++      <item> LyricCombineMusic </item> 
++      <item> LyricEvent </item> 
++      <item> MarkEvent </item> 
++      <item> MultiMeasureRestEvent </item> 
++      <item> MultiMeasureRestMusic </item> 
++      <item> MultiMeasureTextEvent </item> 
++      <item> Music </item> 
++      <item> NoteEvent </item> 
++      <item> NoteGroupingEvent </item> 
++      <item> OverrideProperty </item> 
++      <item> PageBreakEvent </item> 
++      <item> PageTurnEvent </item> 
++      <item> PartCombineMusic </item> 
++      <item> PercentEvent </item> 
++      <item> PercentRepeatedMusic </item> 
++      <item> PesOrFlexaEvent </item> 
++      <item> PhrasingSlurEvent </item> 
++      <item> PropertySet </item> 
++      <item> PropertyUnset </item> 
++      <item> QuoteMusic </item> 
++      <item> RelativeOctaveCheck </item> 
++      <item> RelativeOctaveMusic </item> 
++      <item> RepeatTieEvent </item> 
++      <item> RepeatedMusic </item> 
++      <item> RestEvent </item> 
++      <item> RevertProperty </item> 
++      <item> ScriptEvent </item> 
++      <item> SequentialMusic </item> 
++      <item> SimultaneousMusic </item> 
++      <item> SkipEvent </item> 
++      <item> SkipMusic </item> 
++      <item> SlurEvent </item> 
++      <item> SoloOneEvent </item> 
++      <item> SoloTwoEvent </item> 
++      <item> SostenutoEvent </item> 
++      <item> SpacingSectionEvent </item> 
++      <item> SpanEvent </item> 
++      <item> StaffSpanEvent </item> 
++      <item> StringNumberEvent </item> 
++      <item> StrokeFingerEvent </item> 
++      <item> SustainEvent </item> 
++      <item> TextScriptEvent </item> 
++      <item> TextSpanEvent </item> 
++      <item> TieEvent </item> 
++      <item> TimeScaledMusic </item> 
++      <item> TransposedMusic </item> 
++      <item> TremoloEvent </item> 
++      <item> TremoloRepeatedMusic </item> 
++      <item> TremoloSpanEvent </item> 
++      <item> TrillSpanEvent </item> 
++      <item> TupletSpanEvent </item> 
++      <item> UnaCordaEvent </item> 
++      <item> UnfoldedRepeatedMusic </item> 
++      <item> UnisonoEvent </item> 
++      <item> UnrelativableMusic </item> 
++      <item> VoiceSeparator </item> 
++      <item> VoltaRepeatedMusic </item> 
++</list>
++
++<contexts>
++      <context name="LilyDefaultMode" attribute="Normal Text" lineEndContext="#stay">
++              <RegExpr attribute="Tremolo" context="#stay" String=":\d*"/>
++              <IncludeRules context="LilyPond"/>
++      </context>
++      
++      <context name="LilyPond" attribute="Normal Text" lineEndContext="#stay">
++              <Detect2Chars attribute="Keyword" context="#stay" char="&lt;" char1="&lt;" beginRegion="simultaneous"/>
++              <Detect2Chars attribute="Keyword" context="#stay" char="&gt;" char1="&gt;" endRegion="simultaneous"/>
++              <DetectChar attribute="Keyword" context="#stay" char="{" beginRegion="sequential"/>
++              <DetectChar attribute="Keyword" context="#stay" char="}" endRegion="sequential"/>
++              <Detect2Chars attribute="Comment" context="CommentMulti" char="%" char1="{"/>
++              <DetectChar attribute="Comment" context="CommentSingle" char="%"/>
++              <DetectChar attribute="String" context="String" char="&quot;"/>
++              <DetectChar attribute="Scheme" context="Scheme" char="#"/>
++              <RegExpr attribute="Command" context="NoteMode" String="\\(notemode|notes)\b"/>
++              <RegExpr attribute="DrumMode" context="DrumMode" String="\\(drummode|drums)\b"/>
++              <RegExpr attribute="ChordMode" context="ChordMode" String="\\(chordmode|chords)\b"/>
++              <RegExpr attribute="LyricMode" context="LyricMode" String="\\(lyricmode|lyrics|addlyrics)\b"/>
++              <RegExpr attribute="LyricMode" context="LyricsTo" String="\\lyricsto\b"/>
++              <RegExpr attribute="Markup" context="Markup" String="\\(markup(lines)?)(?![a-zA-Z])"/>
++              <DetectChar attribute="BarCheck" context="#stay" char="|"/>
++              <RegExpr attribute="Dynamic" context="#stay" String="\\[&gt;!&lt;]"/>
++              <RegExpr attribute="Dynamic" context="#stay" String="\\(&dynamics;)(?![a-zA-Z])"/>
++              <RegExpr attribute="Keyword" context="#stay" String="\\(&keywords;)(?![a-zA-Z])"/>
++              <RegExpr attribute="Section" context="#stay" String="\\(&sections;)(?![a-zA-Z])"/>
++              <RegExpr attribute="Script" context="#stay" String="\\(&scripts;)(?![a-zA-Z])"/>
++              <RegExpr attribute="Command" context="#stay" String="\\(&commands;)(?![a-zA-Z])"/>
++              <RegExpr attribute="Engraver" context="#stay" String="\b(&engravers;)_engraver\b"/>
++              <RegExpr attribute="Engraver" context="#stay" String="\b(&performers;)_performer\b"/>
++              <RegExpr attribute="Engraver" context="#stay" String="\b(&translators;)_translator\b"/>
++              <keyword attribute="Context" context="#stay" String="contexts"/>
++              <keyword attribute="LayoutObject" context="#stay" String="layoutobjects"/>
++              <keyword attribute="Property" context="#stay" String="properties"/>
++              <RegExpr attribute="Setting" context="#stay" String="\b(&settings;)\b"/>
++              <RegExpr attribute="Articulation" context="#stay" String="[-_^][0-5_.|+&gt;^-]?"/>
++              <RegExpr attribute="Slur" context="#stay" String="\\?[()]"/>
++              <AnyChar attribute="Chord" context="#stay" String="&lt;&gt;"/>
++              <AnyChar attribute="Beam" context="#stay" String="[]"/>
++              <DetectChar attribute="Tie" context="#stay" char="~"/>
++              <RegExpr attribute="Scaling" context="#stay" String="\*\d+([*/]\d+)*"/>
++              <RegExpr attribute="OtherCmd" context="#stay" String="\\[A-Za-z]+(-[A-Za-z]+)*"/>
++      </context>
++
++      <context name="CommentSingle" attribute="Comment" lineEndContext="#pop">
++              <IncludeRules context="##Alerts"/>
++      </context>
++      
++      <context name="CommentMulti" attribute="Comment" lineEndContext="#stay">
++              <Detect2Chars attribute="Comment" context="#pop" char="%" char1="}"/>
++              <IncludeRules context="##Alerts"/>
++      </context>
++
++      <context name="String" attribute="String" lineEndContext="#stay">
++              <DetectChar attribute="String" context="#pop" char="&quot;"/>
++              <Detect2Chars attribute="String" context="#stay" char="\" char1="\;"/>
++              <Detect2Chars attribute="String" context="#stay" char="\" char1="&quot;"/>
++      </context>
++
++      <!-- Markup -->
++      <context name="Markup" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
++              <DetectChar attribute="Keyword" context="Markup2" char="{" beginRegion="markup"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++              <RegExpr attribute="Markup" context="NoteMode" String="\\score\b"/>
++              <RegExpr attribute="Markup" context="#stay" String="\\(&markupwithtextargs;)(?![a-zA-Z])"/>
++              <DetectChar attribute="Scheme" context="Scheme" char="#"/>
++              <RegExpr attribute="Normal Text" context="#pop" String="[^&quot;\s\\#%{}$]+"/>
++              <RegExpr attribute="Markup" context="#pop" String="\\(&markupnotextargs;)(?![a-zA-Z])"/>
++      </context>
++              
++      <context name="Markup2" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop#pop" char="}" endRegion="markup"/>
++              <IncludeRules context="MarkupRules"/>
++      </context>
++      
++      <context name="MarkupRules" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="markup"/>
++              <DetectChar attribute="Keyword" context="MarkupRules" char="{" beginRegion="markup"/>
++              <Detect2Chars attribute="Comment" context="CommentMulti" char="%" char1="{"/>
++              <DetectChar attribute="Comment" context="CommentSingle" char="%"/>
++              <DetectChar attribute="String" context="String" char="&quot;"/>
++              <DetectChar attribute="Scheme" context="Scheme" char="#"/>
++              <RegExpr attribute="Markup" context="NoteMode" String="\\score\b"/>
++              <RegExpr attribute="Markup" context="#stay" String="\\(&markupnotextargs;|&markupwithtextargs;)(?![a-zA-Z])"/>
++              <RegExpr attribute="OtherCmd" context="#stay" String="\\[A-Za-z]+(-[A-Za-z]+)*"/>
++      </context>
++
++      <!-- Scheme -->
++      <context name="Scheme" attribute="Scheme" lineEndContext="#stay" fallthrough="true" fallthroughContext="Scheme2">
++              <DetectSpaces context="Scheme2"/>
++      </context>
++      
++      <context name="Scheme2" attribute="Scheme" lineEndContext="#pop#pop">
++              <DetectChar attribute="SchemeKeyword" context="Scheme3" char="(" beginRegion="scheme"/>
++              <IncludeRules context="SchemeRules"/>
++              <DetectSpaces context="#pop#pop"/>
++      </context>
++      
++      <context name="Scheme3" attribute="Scheme" lineEndContext="#stay">
++              <DetectChar attribute="SchemeKeyword" context="#pop#pop#pop" char=")" endRegion="scheme"/>
++              <IncludeRules context="SchemeRules"/>
++      </context>
++      
++      <context name="SchemeRules" attribute="Scheme" lineEndContext="#stay">
++              <DetectChar attribute="Scheme" context="SchemeRules" char="(" beginRegion="scheme"/>
++              <DetectChar attribute="Scheme" context="#pop" char=")" endRegion="scheme"/>
++              <DetectChar attribute="String" context="String" char="&quot;"/>
++              <DetectChar attribute="Comment" context="CommentSingle" char=";"/>
++              <Detect2Chars attribute="Comment" context="SchemeBlockComment" char="#" char1="!"/>
++              <Detect2Chars attribute="SchemeKeyword" context="SchemeLily" char="#" char1="{" beginRegion="schemelily"/>
++              <RegExpr attribute="SchemeValue" context="#stay" String="([+-]?\d+(\.\d+)?|[+-]?\.\d+)"/>
++              <RegExpr attribute="SchemeValue" context="#stay" String="#([tf]|[bB][-+]?[01.]+|[oO][-+]?[0-7.]+|[dD][-+]?[0-9.]+|[xX][-+]?[0-9a-fA-F.]+)"/>
++              <RegExpr attribute="SchemeValue" context="#stay" String="[+-](inf|nan)\.0"/>
++              <RegExpr attribute="SchemeSubst" context="#stay" String="\$[a-zA-Z:#-]*"/>
++              <keyword attribute="SchemeKeyword" context="#stay" String="musicexpressions"/>
++              <keyword attribute="Context" context="#stay" String="contexts"/>
++              <keyword attribute="LayoutObject" context="#stay" String="layoutobjects"/>
++              <RegExpr attribute="Scheme" context="#stay" String="[a-zA-Z#][^\s(){}[\];$&quot;]+"/>
++      </context>
++      
++      <context name="SchemeLily" attribute="Normal Text" lineEndContext="#stay">
++              <Detect2Chars attribute="SchemeKeyword" context="#pop" char="#" char1="}" endRegion="schemelily"/>
++              <RegExpr attribute="SchemeSubst" context="#stay" String="\$[a-zA-Z:#-]*"/>
++              <IncludeRules context="LilyPond"/>
++      </context>
++      
++      <context name="SchemeBlockComment" attribute="Comment" lineEndContext="#stay">
++              <Detect2Chars attribute="Comment" context="#pop" char="!" char1="#"/>
++              <IncludeRules context="##Alerts"/>
++      </context>
++
++      <!-- NoteMode -->
++      <context name="NoteMode" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
++              <DetectChar attribute="Keyword" context="NoteMode2" char="{" beginRegion="sequential"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++      </context>
++      
++      <context name="NoteMode2" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop#pop" char="}" endRegion="sequential"/>
++              <IncludeRules context="NoteRules"/>
++      </context>
++              
++      <!-- general Note rules -->
++      <context name="NoteRules" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="NoteRules" char="{" beginRegion="sequential"/>
++              <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="sequential"/>
++              <IncludeRules context="LilyDefaultMode"/>
++      </context>
++      
++      <!-- DrumMode -->
++      <context name="DrumMode" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
++              <DetectChar attribute="Keyword" context="DrumMode2" char="{" beginRegion="sequential"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++      </context>
++      
++      <context name="DrumMode2" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop#pop" char="}" endRegion="sequential"/>
++              <IncludeRules context="DrumRules"/>
++      </context>
++              
++      <!-- general Drum rules -->
++      <context name="DrumRules" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="DrumRules" char="{" beginRegion="sequential"/>
++              <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="sequential"/>
++              <keyword attribute="DrumMode" context="#stay" String="drumpitchnames"/>
++              <IncludeRules context="LilyPond"/>
++      </context>
++      
++      <!-- ChordMode -->
++      <context name="ChordMode" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
++              <DetectChar attribute="Keyword" context="ChordMode2" char="{" beginRegion="sequential"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++      </context>
++              
++      <context name="ChordMode2" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop#pop" char="}" endRegion="sequential"/>
++              <IncludeRules context="ChordRules"/>
++      </context>
++      
++      <!-- general Chord rules -->
++      <context name="ChordRules" attribute="Normal Text" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="ChordRules" char="{" beginRegion="sequential"/>
++              <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="sequential"/>
++              <RegExpr attribute="ChordMode" context="#stay" String=":\d*(m|dim|aug|maj|sus2|sus4)?\d*([.^]\d+[+-]?)*(/\+?[a-z]+)?"/>
++              <IncludeRules context="LilyPond"/>
++      </context>
++       
++      <!-- LyricMode -->
++      <context name="LyricMode" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
++              <DetectChar attribute="Keyword" context="LyricMode2" char="{" beginRegion="sequential"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++      </context>
++              
++      <context name="LyricMode2" attribute="LyricText" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop#pop" char="}" endRegion="sequential"/>
++              <IncludeRules context="LyricRules"/>
++      </context>
++      
++      <!-- LyricsTo has extra parameter -->
++      <context name="LyricsTo" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
++              <RegExpr attribute="String" context="LyricsTo2" String="&quot;[^&quot;]+&quot;"/>
++              <RegExpr attribute="Normal Text" context="LyricsTo2" String="[a-zA-Z]+"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++      </context>
++      
++      <context name="LyricsTo2" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop">
++              <DetectChar attribute="Keyword" context="LyricsTo3" char="{" beginRegion="sequential"/>
++              <DetectSpaces attribute="Normal Text" context="#stay"/>
++      </context>
++      
++      <context name="LyricsTo3" attribute="LyricText" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="#pop#pop#pop" char="}" endRegion="sequential"/>
++              <IncludeRules context="LyricRules"/>
++      </context>
++      
++      <!-- general Lyric rules, calls self in case of nested constructs { } -->
++      <context name="LyricRules" attribute="LyricText" lineEndContext="#stay">
++              <DetectChar attribute="Keyword" context="LyricRules" char="{" beginRegion="sequential"/>
++              <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="sequential"/>
++              <RegExpr attribute="Error" context="#stay" String="(\w+-{2,}|\w+_{2,}|-{2,}\w+|_{2,}\w+)"/>
++              <RegExpr attribute="Normal Text" context="#stay" String="\d+\.*"/>
++              <RegExpr attribute="LyricMode" context="#stay" String="(--|__)"/>
++              <IncludeRules context="LilyPond"/>
++      </context>
++      
++</contexts>
++
++<itemDatas>
++      <itemData name="Normal Text" defStyleNum="dsNormal"/>
++      <itemData name="Comment" defStyleNum="dsComment"/>
++      <itemData name="String" defStyleNum="dsString"/>
++      <itemData name="Scheme" defStyleNum="dsFloat"/>
++      <itemData name="SchemeKeyword" defStyleNum="dsFloat" bold="true"/>
++      <itemData name="SchemeSubst" defStyleNum="dsDecVal" bold="true"/>
++      <itemData name="SchemeValue" defStyleNum="dsDecVal"/>
++      <itemData name="BarCheck" defStyleNum="dsDecVal"/>
++      <itemData name="Keyword" defStyleNum="dsKeyword"/>
++      <itemData name="Section" defStyleNum="dsKeyword"/>
++      <itemData name="Context" defStyleNum="dsDataType" bold="true"/>
++      <itemData name="Command" defStyleNum="dsFunction" bold="true"/>
++      <itemData name="LayoutObject" defStyleNum="dsDataType"/>
++      <itemData name="Property" defStyleNum="dsDataType"/>
++      <itemData name="Setting" defStyleNum="dsDataType"/>
++      <itemData name="Engraver" defStyleNum="dsDataType"/>
++      <itemData name="OtherCmd" defStyleNum="dsFunction"/>
++      <itemData name="Script" defStyleNum="dsString" color="#ee5000" bold="true"/>
++      <itemData name="Dynamic" defStyleNum="dsString" color="#ee5000" bold="true"/>
++      <itemData name="Slur" defStyleNum="dsChar" bold="true"/>
++      <itemData name="Articulation" defStyleNum="dsString" color="#ee5000" bold="true"/>
++      <itemData name="Chord" defStyleNum="dsDataType" bold="true"/>
++      <itemData name="Beam" defStyleNum="dsDataType" bold="true"/>
++      <itemData name="Tie" defStyleNum="dsDataType" bold="true"/>
++      <itemData name="Repeat" defStyleNum="dsDataType" italic="true"/>
++      <itemData name="Scaling" defStyleNum="dsDataType" italic="true" bold="true"/>
++      <itemData name="Markup" defStyleNum="dsBaseN"/>
++      <itemData name="DrumMode" defStyleNum="dsKeyword" color="#003333"/>
++      <itemData name="ChordMode" defStyleNum="dsKeyword" color="#88a000"/>
++      <itemData name="LyricMode" defStyleNum="dsKeyword" color="#007010"/>
++      <itemData name="LyricText" defStyleNum="dsNormal"  color="#007010"/>
++      <itemData name="Error" defStyleNum="dsError"/>
++</itemDatas>
++</highlighting>
++<general>
++  <comments>
++    <comment name="singleLine" start="%"/>
++    <comment name="multiLine" start="%{" end="%}"/>
++  </comments>
++  <keywords casesensitive="true" additionalDeliminator="'_0123456789"/>
++</general>
+ </language>
+diff -ur kdelibs-3.5.8/kate/data.org/lua.xml kdelibs-3.5.8/kate/data/lua.xml
+--- kdelibs-3.5.8/kate/data.org/lua.xml        2006-05-22 20:14:08.000000000 +0200
++++ kdelibs-3.5.8/kate/data/lua.xml    2007-09-13 00:00:14.000000000 +0200
+@@ -1,237 +1,300 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="Lua" version="0.23" kateversion="2.3" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
++<!--
++    LUA (www.lua.org) syntax highlighting for Kate
++
++    CHANGES
++
++    [ Version 1.03 (2007-09-12) by Bruno Massa ]
++
++    - [=[ ]=] comment and string style is now working (thanks to Dominik and Sebastian)
++    - it uses DoxygenLua.xml to format the comments in a Doxygen style
++
++    [ Version 1.02 (2007-07-15) by Bruno Massa ]
++
++    - based on Lua 5.1
++    - highlight the Kepler function (cgilua, luasql, lfs, luazip)
++    - true, false and nil are highlighted in black
++    - table.foreach and foreachi are marked as alerts
++
++    [ Version 1.01 (2007-01-01) by Bruno Massa ]
++
++    - highlighting similar to PHP
++    - error detection on one-line strings and common mistakes from other languages like using "!=" "++"
++    - uppercase-only variables are highlighted as constants
++    - { } now is collapsable
++
++    [ Version 1.00 (2006-12-05) by Bruno Massa ]
++
++    - based on Lua 5.0.2 syntax
++    - strings "[[ ]]" and single quoted strings
++    - block comments
++    - function, if/elseif/else, do-end chunks, comment blocks, strings using [[ ]] collapsable
++    - nil, false and true consided pseudo-variables (displayed as numbers)
++    - NOTE, FIXME, TODO alerts added on comments
++    - improved highlighting
++
++    -->
++<language name="Lua" version="1.03" kateversion="2.4" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
+   <highlighting>
+     <list name="keywords">
+       <item> and </item>
+-      <item> end </item>
++      <item> function </item>
++      <item> in </item>
+       <item> local </item>
+-      <item> return </item>
++      <item> not </item>
++      <item> or </item>
++    </list>
++    <list name="control">
+       <item> break </item>
+-      <item> for </item>
+       <item> do </item>
++      <item> else </item>
++      <item> elseif </item>
++      <item> end </item>
++      <item> for </item>
+       <item> if </item>
+-      <item> nil </item>
++      <item> repeat </item>
++      <item> return </item>
+       <item> then </item>
+-      <item> function </item>
+-      <item> not </item>
+       <item> until </item>
+-      <item> else </item>
+-      <item> or </item>
+       <item> while </item>
+-      <item> elseif </item>
+-      <item> in </item>
+-      <item> repeat </item>
++    </list>
++    <list name="pseudo-variables">
++      <item> nil </item>
++      <item> false </item>
++      <item> true </item>
+     </list>
+     <list name="basefunc">
+-      <item> string.byte </item>
+-      <item> string.char </item>
+-      <item> string.find </item>
+-      <item> string.len </item>
+-      <item> string.lower </item>
+-      <item> string.rep </item>
+-      <item> string.sub </item>
+-      <item> string.upper </item>
+-      <item> string.format </item>
+-      <item> string.gfind </item>
+-      <item> string.gsub </item>
+-      <item> table.concat </item>
+-      <item> table.foreach </item>
+-      <item> table.foreachi </item>
+-      <item> table.getn </item>
+-      <item> table.sort </item>
+-      <item> table.insert </item>
+-      <item> table.remove </item>
+-      <item> table.setn </item>
+-      <item> math.abs </item>
+-      <item> math.sin </item>
+-      <item> math.cos </item>
+-      <item> math.tan </item>
+-      <item> math.asin </item>
+-      <item> math.acos </item>
+-      <item> math.atan </item>
+-      <item> math.atan2 </item>
+-      <item> math.ceil </item>
+-      <item> math.floor </item>
+-      <item> math.mod </item>
+-      <item> math.frexp </item>
+-      <item> math.ldexp </item>
+-      <item> math.squrt </item>
+-      <item> math.min </item>
+-      <item> math.max </item>
+-      <item> math.log </item>
+-      <item> math.log10 </item>
+-      <item> math.exp </item>
+-      <item> math.deg </item>
+-      <item> math.rad </item>
+-      <item> math.random </item>
+-      <item> math.randomseed </item>
+-      <item> io.close </item>
+-      <item> io.flush </item>
+-      <item> io.input </item>
+-      <item> io.lines </item>
+-      <item> io.open </item>
+-      <item> io.output </item>
+-      <item> io.read </item>
+-      <item> io.stderr </item>
+-      <item> io.stdin </item>
+-      <item> io.stdout </item>
+-      <item> io.tmpfile </item>
+-      <item> io.write </item>
+-      <item> os.clock </item>
+-      <item> os.date </item>
+-      <item> os.difftime </item>
+-      <item> os.execute </item>
+-      <item> os.exit </item>
+-      <item> os.getenv </item>
+-      <item> os.remove </item>
+-      <item> os.rename </item>
+-      <item> os.setlocale </item>
+-      <item> os.time </item>
+-      <item> os.tmpname </item>
+-      <item> debug.getinfo </item>
+-      <item> debug.getlocal </item>
+-      <item> debug.setlocal </item>
+-      <item> debug.sethook </item>
+-      <item> debug.gethook </item>
+-      <item> assert </item>
+-      <item> collectgarbage </item>
+-      <item> dofile </item>
+-      <item> error </item>
+-      <item> next </item>
+-      <item> print </item>
+-      <item> rawget </item>
+-      <item> rawset </item>
+-      <item> tonumber </item>
+-      <item> tostring </item>
+-      <item> type </item>
+-      <item> _ALERT </item>
+-      <item> _ERRORMESSAGE </item>
+-      <item> call </item>
+-      <item> copytagmethods </item>
+-      <item> dostring </item>
+-      <item> foreach </item>
+-      <item> foreachi </item>
+-      <item> getglobal </item>
+-      <item> getn </item>
+-      <item> gettagmethod </item>
+-      <item> globals </item>
+-      <item> newtag </item>
+-      <item> setglobal </item>
+-      <item> settag </item>
+-      <item> settagmethod </item>
+-      <item> sort </item>
+-      <item> tag </item>
+-      <item> tinsert </item>
+-      <item> tremove </item>
+-      <item> openfile </item>
+-      <item> closefile </item>
+-      <item> flush </item>
+-      <item> seek </item>
+-      <item> setlocale </item>
+-      <item> execute </item>
+-      <item> remove </item>
+-      <item> rename </item>
+-      <item> tmpname </item>
+-      <item> getenv </item>
+-      <item> date </item>
+-      <item> clock </item>
+-      <item> exit </item>
+-      <item> readfrom </item>
+-      <item> writeto </item>
+-      <item> appendto </item>
+-      <item> read </item>
+-      <item> write </item>
+-      <item> abs </item>
+-      <item> sin </item>
+-      <item> cos </item>
+-      <item> tan </item>
+-      <item> asin </item>
+-      <item> acos </item>
+-      <item> atan </item>
+-      <item> atan2 </item>
+-      <item> ceil </item>
+-      <item> floor </item>
+-      <item> mod </item>
+-      <item> frexp </item>
+-      <item> ldexp </item>
+-      <item> squrt </item>
+-      <item> min </item>
+-      <item> max </item>
+-      <item> log </item>
+-      <item> log10 </item>
+-      <item> exp </item>
+-      <item> deg </item>
+-      <item> rad </item>
+-      <item> random </item>
+-      <item> randomseed </item>
+-      <item> strlen </item>
+-      <item> strsub </item>
+-      <item> strlower </item>
+-      <item> strupper </item>
+-      <item> strchar </item>
+-      <item> strrep </item>
+-      <item> ascii </item>
+-      <item> strbyte </item>
+-      <item> format </item>
+-      <item> strfind </item>
+-      <item> gsub </item>
+-      <item> getinfo </item>
+-      <item> getlocal </item>
+-      <item> setlocal </item>
+-      <item> setcallhook </item>
+-      <item> setlinehook </item>
+-      <item> getglobals </item>
+-      <item> getmetatable </item>
+-      <item> gcinfo </item>
+-      <item> ipairs </item>
+-      <item> loadfile </item>
+-      <item> loadstring </item>
+-      <item> pairs </item>
+-      <item> pcall </item>
+-      <item> require </item>
+-      <item> setglobals </item>
+-      <item> setmetatable </item>
+-      <item> unpack </item>
+-      <item> LUA_PATH </item>
+-      <item> _LOADED </item>
+-      <item> _VERSION </item>
++      <item> string.byte </item>  <item> string.char </item>
++      <item> string.find </item>  <item> string.len </item>
++      <item> string.lower </item> <item> string.rep </item>
++      <item> string.sub </item>   <item> string.upper </item>
++      <item> string.format </item><item> string.gfind </item>
++      <item> string.gsub </item>  <item> table.concat </item>
++      <item> table.getn </item>   <item> table.sort </item>
++      <item> table.insert </item> <item> table.remove </item>
++      <item> table.setn </item>   <item> math.abs </item>
++      <item> math.sin </item>     <item> math.cos </item>
++      <item> math.tan </item>     <item> math.asin </item>
++      <item> math.acos </item>    <item> math.atan </item>
++      <item> math.atan2 </item>   <item> math.ceil </item>
++      <item> math.floor </item>   <item> math.mod </item>
++      <item> math.frexp </item>   <item> math.ldexp </item>
++      <item> math.squrt </item>   <item> math.min </item>
++      <item> math.max </item>     <item> math.log </item>
++      <item> math.log10 </item>   <item> math.exp </item>
++      <item> math.deg </item>     <item> math.rad </item>
++      <item> math.random </item>  <item> math.randomseed </item>
++      <item> io.close </item>     <item> io.flush </item>
++      <item> io.input </item>     <item> io.lines </item>
++      <item> io.open </item>      <item> io.output </item>
++      <item> io.read </item>      <item> io.stderr </item>
++      <item> io.stdin </item>     <item> io.stdout </item>
++      <item> io.tmpfile </item>   <item> io.write </item>
++      <item> os.clock </item>     <item> os.date </item>
++      <item> os.difftime </item>  <item> os.execute </item>
++      <item> os.exit </item>      <item> os.getenv </item>
++      <item> os.remove </item>    <item> os.rename </item>
++      <item> os.setlocale </item> <item> os.time </item>
++      <item> os.tmpname </item>   <item> debug.getinfo </item>
++      <item> debug.getlocal </item><item> debug.setlocal </item>
++      <item> debug.sethook </item><item> debug.gethook </item>
++      <item> assert </item>      <item> collectgarbage </item>
++      <item> dofile </item>      <item> error </item>
++      <item> next </item>        <item> print </item>
++      <item> rawget </item>      <item> rawset </item>
++      <item> tonumber </item>    <item> tostring </item>
++      <item> type </item>        <item> _ALERT </item>
++      <item> _ERRORMESSAGE </item><item> call </item>
++      <item> getmetatable </item><item> gcinfo </item>
++      <item> ipairs </item>      <item> loadfile </item>
++      <item> loadstring </item>  <item> pairs </item>
++      <item> pcall </item>       <item> require </item>
++      <item> LUA_PATH </item>    <item> setmetatable </item>
++      <item> _LOADED </item>     <item> _VERSION </item>
++      <item> gettagmethod </item><item> globals </item>
++      <item> newtag </item>      <item> setglobal </item>
++      <item> settag </item>      <item> settagmethod </item>
++      <item> setlinehook </item> <item> getglobals </item>
++      <item> copytagmethods </item><item> dostring </item>
++      <item> getglobal </item>   <item> tag </item>
++      <item> setglobals </item>  <item> unpack </item>
++      <item> exit </item>        <item> readfrom </item>
++      <item> writeto </item>     <item> appendto </item>
++      <item> read </item>        <item> write </item>
++      <item> getinfo </item>     <item> getlocal </item>
++      <item> setlocal </item>    <item> setcallhook </item>
++      <item> tinsert </item>     <item> tremove </item>
++      <item> flush </item>       <item> seek </item>
++      <item> setlocale </item>   <item> execute </item>
++      <item> remove </item>      <item> rename </item>
++      <item> tmpname </item>     <item> getenv </item>
++      <item> getn </item>        <item> sort </item>
++      <item> table.foreach </item> <item> table.foreachi </item>
++      <item> foreach </item>     <item> foreachi </item>
++      <item> abs </item>         <item> sin </item>
++      <item> cos </item>         <item> tan </item>
++      <item> asin </item>        <item> acos </item>
++      <item> atan </item>        <item> atan2 </item>
++      <item> ceil </item>        <item> floor </item>
++      <item> mod </item>         <item> frexp </item>
++      <item> ldexp </item>       <item> squrt </item>
++      <item> min </item>         <item> max </item>
++      <item> log </item>         <item> log10 </item>
++      <item> exp </item>         <item> deg </item>
++      <item> rad </item>         <item> random </item>
++      <item> randomseed </item>  <item> strlen </item>
++      <item> strsub </item>      <item> strlower </item>
++      <item> strupper </item>    <item> strchar </item>
++      <item> strrep </item>      <item> ascii </item>
++      <item> strbyte </item>     <item> format </item>
++      <item> strfind </item>     <item> gsub </item>
++      <item> openfile </item>    <item> closefile </item>
++      <item> date </item>        <item> clock </item>
++
++
++      <item> cgilua </item>                     <item> cgilua.lp.translate </item>
++      <item> cgilua.contentheader </item>       <item> cgilua.script_file </item>
++      <item> cgilua.header </item>              <item> cgilua.script_path </item>
++      <item> cgilua.htmlheader </item>          <item> cgilua.script_pdir </item>
++      <item> cgilua.redirect </item>            <item> cgilua.script_vdir </item>
++      <item> cgilua.mkabsoluteurl </item>       <item> cgilua.script_vpath </item>
++      <item> cgilua.mkurlpath </item>           <item> cgilua.servervariable </item>
++      <item> cgilua.put </item>                 <item> cgilua.urlpath </item>
++      <item> cgilua.handlelp </item>            <item> cgilua.errorlog </item>
++      <item> cgilua.lp.compile </item>          <item> cgilua.seterrorhandler </item>
++      <item> cgilua.lp.include </item>          <item> cgilua.seterroroutput </item>
++      <item> cgilua.lp.setcompatmode </item>    <item> cgilua.addclosefunction </item>
++      <item> cgilua.lp.setoutfunc </item>       <item> cgilua.addopenfunction </item>
++      <item> cgilua.addscripthandler </item>    <item> cgilua.addscripthandler </item>
++      <item> cgilua.buildprocesshandler </item> <item> cgilua.setmaxfilesize </item>
++      <item> cgilua.setmaxinput </item>         <item> cgilua.urlcode.encodetable </item>
++      <item> cgilua.urlcode.escape </item>      <item> cgilua.urlcode.parsequery </item>
++      <item> cgilua.urlcode.unescape </item>    <item> cgilua.urlcode.insertfield </item>
++      <item> cgilua.setoutfunc </item>          <item> cgilua.addopenfunction </item>
++      <item> cgilua.doif </item>                <item> cgilua.doscript </item>
++      <item> cgilua.pack </item>                <item> cgilua.splitpath </item>
++      <item> cgilua.cookies.get </item>         <item> cgilua.cookies.set </item>
++      <item> cgilua.cookies.sethtml </item>     <item> cgilua.cookies.delete </item>
++      <item> cgilua.serialize </item>           <item> cgilua.session.close </item>
++      <item> cgilua.session.data </item>        <item> cgilua.session.load </item>
++      <item> cgilua.session.new </item>         <item> cgilua.session.open </item>
++      <item> cgilua.session.save </item>        <item> cgilua.session.setsessiondir </item>
++      <item> cgilua.session.delete </item>      <item> cgilua.session </item>
++      <item> cgilua.cookies </item>
++
++      <item> numrows </item>                    <item> connect </item>
++      <item> close </item>                      <item> fetch </item>
++      <item> getcolnames </item>                <item> getcoltypes </item>
++      <item> commit </item>                     <item> rollback </item>
++      <item> setautocommit </item>
++
++      <item> lfs </item>                        <item> lfs.attributes </item>
++      <item> lfs.chdir </item>                  <item> lfs.currentdir </item>
++      <item> lfs.dir </item>                    <item> lfs.lock </item>
++      <item> lfs.mkdir </item>                  <item> lfs.rmdir </item>
++      <item> lfs.touch </item>                  <item> lfs.unlock </item>
++
++      <item> zip </item>                        <item> zip.open </item>
++      <item> zip.openfile </item>               <item> files </item>
++      <item> seek </item>                       <item> close </item>
++      <item> lines </item>
++
++
++    </list>
++    <list name="attention">
++      <item> TODO </item>
++      <item> FIXME </item>
++      <item> NOTE </item>
+     </list>
++    <list name="deprecated">
++      <item> table.foreach </item> <item> table.foreachi </item>
++      <item> foreach </item>       <item> foreachi </item>
++    </list>
++
+     <contexts>
+-      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+-        <keyword attribute="Keyword" context="#stay" String="keywords" />
+-        <keyword attribute="BaseFunc" context="#stay" String="basefunc"/>
+-        <HlCChar attribute="Char" context="#stay"/>
+-        <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>
+-        <DetectChar attribute="Comment" context="Comment" char="#"/>
+-        <DetectChar attribute="String" context="String" char="&quot;"/>
+-        <AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;=&gt;?[]^{|}~"/>
+-        <RegExpr attribute="Number" context="#stay" String="\d*\.?\d*e?\d+"/>
++      <context name="Normal"        attribute="Normal Text" lineEndContext="#stay">
++        <IncludeRules context="##DoxygenLua" />
++        <keyword      attribute="Error"  context="#stay" String="deprecated" />
++        <DetectSpaces />
++        <RegExpr      attribute="Comment"  context="Block Comment" beginRegion="block comment"  String="--\[(=*)\[" dynamic="true" />
++        <Detect2Chars attribute="Comment"  context="Comment"       char="-" char1="-"/>
++        <RegExpr      attribute="Strings"  context="String_block"  String="\[(=*)\[" dynamic="true" />
++        <DetectChar   attribute="Strings"  context="String_single" char="'"/>
++        <DetectChar   attribute="Strings"  context="String_double" char="&quot;"/>
++        <keyword      attribute="BFunc"    context="#stay"         String="basefunc"/>
++
++        <RegExpr      attribute="Keyword"  context="#stay" beginRegion="chunk" String="\bfunction\b" />
++        <keyword      attribute="Keyword"  context="#stay" String="keywords" />
++        <keyword      attribute="Keyword"  context="#stay"  String="pseudo-variables" />
++        <RegExpr      attribute="Control"  context="#stay" endRegion="chunk"   beginRegion="chunk" String="\belse\b" />
++        <RegExpr      attribute="Control"  context="#stay" endRegion="chunk"   beginRegion="chunk" String="\belseif\b" />
++        <RegExpr      attribute="Control"  context="#stay" beginRegion="chunk" String="\bdo\b" />
++        <RegExpr      attribute="Control"  context="#stay" beginRegion="chunk" String="\bif\b" />
++        <RegExpr      attribute="Control"  context="#stay" endRegion="chunk"   String="\bend\b" />
++        <keyword      attribute="Control"  context="#stay" String="control" />
++
++        <DetectChar   attribute="Symbols"  context="#stay" beginRegion="table" char="{" />
++        <DetectChar   attribute="Symbols"  context="#stay" endRegion="table"   char="}" />
++
++        <RegExpr      attribute="Numbers"  context="#stay"  String="\b\d*\.?\d*(e|e\-|e\+)?\d+\b"/>
++        <RegExpr      attribute="Numbers"  context="#stay"  String="\b-?0[xX][0-9a-fA-F]+\b"/>
++
++        <RegExpr      attribute="Normal Text" context="#stay" String="\b[a-zA-Z_][a-zA-Z0-9_]*(?=\s*([({'&quot;]|\[\[))\b" />
++        <RegExpr      attribute="Constant" context="#stay" String="\b[A-Z_][A-Z0-9_]*\b" />
++        <RegExpr      attribute="Variable" context="#stay" String="\b[a-zA-Z_][a-zA-Z0-9_]*\b" />
++
++        <Detect2Chars attribute="Error"    context="#stay" char="!" char1="="/>
++        <Detect2Chars attribute="Error"    context="#stay" char="-" char1="="/>
++        <Detect2Chars attribute="Error"    context="#stay" char="+" char1="="/>
++        <Detect2Chars attribute="Error"    context="#stay" char="+" char1="+"/>
++        <Detect2Chars attribute="Error"    context="#stay" char="." char1="="/>
++        <AnyChar      attribute="Symbols"  context="#stay" String="[]().=~+-*/^&gt;&lt;#;" />
++      </context>
++      <context name="Comment"       attribute="Comment"     lineEndContext="#pop">
++        <Detect2Chars attribute="Alerts"   context="#stay" char="-" char1="-" />
++        <keyword      attribute="Alerts"   context="#stay" String="attention"/>
++      </context>
++      <context name="Block Comment" attribute="Comment"     lineEndContext="#stay" dynamic="true" >
++        <RegExpr attribute="Comment"  context="#pop"  endRegion="block comment" String="\]%1\]" dynamic="true" />
++        <Detect2Chars attribute="Alerts"   context="#stay" char="-" char1="-" />
++        <keyword      attribute="Alerts"   context="#stay" String="attention" />
++      </context>
++      <context name="String_single" attribute="Strings"     lineEndContext="Error">
++        <RegExpr      attribute="Symbols"  context="#stay" String="\\(a|b|f|n|r|t|v|\\|&quot;|\'|[|])" />
++        <DetectChar   attribute="Strings"  context="#pop"  char="'"/>
++      </context>
++      <context name="String_double" attribute="Strings"     lineEndContext="Error">
++        <RegExpr      attribute="Symbols"  context="#stay" String="\\[abfnrtv'&quot;\\\[\]]" />
++        <DetectChar   attribute="Strings"  context="#pop"  char="&quot;"/>
+       </context>
+-      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+-        <RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" />
++      <context name="String_block"  attribute="Strings"     lineEndContext="#stay" dynamic="true">
++        <RegExpr      attribute="Symbols"  context="#stay" String="\\(a|b|f|n|r|t|v|\\|&quot;|\'|[|])" />
++        <RegExpr      attribute="Strings"  context="#pop"  String="\]%1\]" dynamic="true" />
+       </context>
+-      <context attribute="String" lineEndContext="#pop" name="String">
+-        <DetectChar attribute="String" context="#pop" char="&quot;"/>
++      <context name="Error"         attribute="Error"       lineEndContext="#stay">
+       </context>
+     </contexts>
+     <itemDatas>
+-      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+-      <itemData name="Keyword"  defStyleNum="dsKeyword"/>
+-      <itemData name="Comment" defStyleNum="dsComment"/>
+-      <itemData name="String" defStyleNum="dsString"/>
+-      <itemData name="Decimal" defStyleNum="dsDecVal"/>
+-      <itemData name="Number" defStyleNum="dsBaseN"/>
+-      <itemData name="Symbol" defStyleNum="dsNormal"/>
+-      <itemData name="BaseFunc" defStyleNum="dsNormal" color="#0095FF" selColor="#FFFFFF" bold="1" italic="0"/>
+-      <itemData name="Alert" defStyleNum="dsAlert" />
++      <itemData name="Alerts"          defStyleNum="dsAlert" />
++      <itemData name="BFunc"           defStyleNum="dsFunction"/>
++      <itemData name="Comment"         defStyleNum="dsComment"/>
++      <itemData name="Constant"        defStyleNum="dsKeyword"/>
++      <itemData name="Control"         defStyleNum="dsKeyword" color="#A1A100" selColor="#ffffff" bold="0" italic="0"/>
++      <itemData name="Error"           defStyleNum="dsError"/>
++      <itemData name="Keyword"         defStyleNum="dsKeyword"/>
++      <itemData name="Normal Text"     defStyleNum="dsNormal"/>
++      <itemData name="Numbers"         defStyleNum="dsDecVal"/>
++      <itemData name="Strings"         defStyleNum="dsString"/>
++      <itemData name="Symbols"         defStyleNum="dsOthers"/>
++      <itemData name="Variable"        defStyleNum="dsKeyword" color="#5555FF" selColor="#ffffff" bold="0" italic="0" />
+     </itemDatas>
+   </highlighting>
+   <general>
+     <comments>
+       <comment name="singleLine" start="--" />
++      <comment name="multiLine" start="--[[" end="]]" />
+     </comments>
+     <keywords casesensitive="1" weakDeliminator="&#46;" additionalDeliminator="&quot;"/>
+   </general>
+-</language>
+-<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
++</language>
+\ Brak znaku nowej linii na końcu pliku
+diff -ur kdelibs-3.5.8/kate/data.org/nasm.xml kdelibs-3.5.8/kate/data/nasm.xml
+--- kdelibs-3.5.8/kate/data.org/nasm.xml       2006-01-19 18:06:23.000000000 +0100
++++ kdelibs-3.5.8/kate/data/nasm.xml   2006-04-22 22:00:11.000000000 +0200
+@@ -4,12 +4,20 @@
+   NASM Intel x86 assembly syntax
+   Created: Nicola Gigante <nicola.gigante@gmail.com>
+-  Version: 1.2
++    Changes: Bogdan Drozdowski (bogdandr@op.pl)
++  Version: 1.3
++Changes from 1.0:
+   15/01/2006: version 1.1
+     Added the rol instruction (bytewise rotate left) to the keywords list.
+   17/01/2006: version 1.2
+     Remade the list of instructions directly from the nasm documentation.
++  22/04/2006: version 1.3 from Bogdan Drozdowski (bogdandr@op.pl):
++    Removed duplicates form the instruction list and made it alphabetical.
++    Added new instructions (some SSE* and 64-bit, NASM may not know all of them).
++    Corrections in register list and a few new ones (not 64-bit).
++    Changed regexes for hex, octal and bin numbers. Now words like
++      "change" and "blah" will NOT have the "ch" and "ah" coloured.
+   GNU GENERAL PUBLIC LICENCE
+@@ -27,643 +35,80 @@
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ -->
+-
+-<language name="Intel x86 (NASM)" section="Assembler" version="1.20" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPL">
+-  <highlighting>
+-    <list name="registers">
+-      <!-- General purpose registers -->
+-      <item>eax</item>
+-      <item>ax</item>
+-      <item>ah</item>
+-      <item>al</item>
+-      <item>ebx</item>
+-      <item>bx</item>
+-      <item>bh</item>
+-      <item>bl</item>
+-      <item>ecx</item>
+-      <item>cx</item>
+-      <item>ch</item>
+-      <item>cl</item>
+-      <item>edx</item>
+-      <item>dx</item>
+-      <item>dh</item>
+-      <item>dl</item>
+-      <item>ebp</item>
+-      <item>bp</item>
+-      <item>esi</item>
+-      <item>si</item>
+-      <item>edi</item>
+-      <item>di</item>
+-      <item>eip</item>
+-      <item>ip</item>
+-      <item>esp</item>
+-      <item>sp</item>
+-      <!-- Segmentation registers -->
+-      <item>cs</item>
+-      <item>ds</item>
+-      <item>ss</item>
+-      <item>es</item>
+-      <item>gs</item>
+-      <item>fs</item>
+-      <!-- Control registers -->
+-      <item>cr0</item>
+-      <item>cr1</item>
+-      <item>cr2</item>
+-      <item>cr3</item>
+-      <item>cr4</item>
+-      <!-- x87 FPU Registers -->
+-      <item>st</item>
+-      <!-- MMX registers -->
+-      <item>mm0</item>
+-      <item>mm1</item>
+-      <item>mm2</item>
+-      <item>mm3</item>
+-      <item>mm4</item>
+-      <item>mm5</item>
+-      <item>mm6</item>
+-      <item>mm7</item>
+-      <!-- XMM registers -->
+-      <item>xmm0</item>
+-      <item>xmm1</item>
+-      <item>xmm2</item>
+-      <item>xmm3</item>
+-      <item>xmm4</item>
+-      <item>xmm5</item>
+-      <item>xmm6</item>
+-      <item>xmm7</item>
+-    </list>
+-    <list name="instructions">
+-      <item>aaa</item>
+-      <item>aas</item>
+-      <item>aad</item>
+-      <item>aam</item>
+-      <item>adc</item>
+-      <item>add</item>
+-      <item>addpd</item>
+-      <item>addps</item>
+-      <item>addsd</item>
+-      <item>addss</item>
+-      <item>and</item>
+-      <item>andnpd</item>
+-      <item>andnps</item>
+-      <item>andpd</item>
+-      <item>andps</item>
+-      <item>arpl</item>
+-      <item>bound</item>
+-      <item>bsf</item>
+-      <item>bsr</item>
+-      <item>bswap</item>
+-      <item>bt</item>
+-      <item>btc</item>
+-      <item>btr</item>
+-      <item>bts</item>
+-      <item>call</item>
+-      <item>cbw</item>
+-      <item>cwde</item>
+-      <item>cwd</item>
+-      <item>cdq</item>
+-      <item>clc</item>
+-      <item>cld</item>
+-      <item>cli</item>
+-      <item>clts</item>
+-      <item>clflush</item>
+-      <item>cmc</item>
+-      <item>cmovcc</item>
+-      <item>cmp</item>
+-      <item>cmppd</item>
+-      <item>cmpeqpd</item>
+-      <item>cmpltpd</item>
+-      <item>cmplepd</item>
+-      <item>cmpunordpd</item>
+-      <item>cmpneqpd</item>
+-      <item>cmpnltpd</item>
+-      <item>cmpnlepd</item>
+-      <item>cmpordpd</item>
+-      <item>cmpps</item>
+-      <item>cmpeqps</item>
+-      <item>cmpltps</item>
+-      <item>cmpleps</item>
+-      <item>cmpunordps</item>
+-      <item>cmpneqps</item>
+-      <item>cmpnltps</item>
+-      <item>cmpnleps</item>
+-      <item>cmpordps</item>
+-      <item>cmpsb</item>
+-      <item>cmpsw</item>
+-      <item>cmpsd</item>
+-      <item>cmpeqsd</item>
+-      <item>cmpltsd</item>
+-      <item>cmplesd</item>
+-      <item>cmpunordsd</item>
+-      <item>cmpneqsd</item>
+-      <item>cmpnltsd</item>
+-      <item>cmpnlesd</item>
+-      <item>cmpordsd</item>
+-      <item>cmpss</item>
+-      <item>cmpeqss</item>
+-      <item>cmpltss</item>
+-      <item>cmpless</item>
+-      <item>cmpunordss</item>
+-      <item>cmpneqss</item>
+-      <item>cmpnltss</item>
+-      <item>cmpnless</item>
+-      <item>cmpordss</item>
+-      <item>cmpxchg</item>
+-      <item>cmpxchg486</item>
+-      <item>cmpxchg8b</item>
+-      <item>comisd</item>
+-      <item>comiss</item>
+-      <item>cpuid</item>
+-      <item>cvtdq2pd</item>
+-      <item>cvtdq2ps</item>
+-      <item>cvtpd2dq</item>
+-      <item>cvtpd2pi</item>
+-      <item>cvtpd2ps</item>
+-      <item>cvtpi2pd</item>
+-      <item>cvtpi2ps</item>
+-      <item>cvtps2dq</item>
+-      <item>cvtps2pd</item>
+-      <item>cvtps2pi</item>
+-      <item>cvtsd2si</item>
+-      <item>cvtsd2ss</item>
+-      <item>cvtsi2sd</item>
+-      <item>cvtsi2ss</item>
+-      <item>cvtss2sd</item>
+-      <item>cvtss2si</item>
+-      <item>cvttpd2dq</item>
+-      <item>cvttpd2pi</item>
+-      <item>cvttps2dq</item>
+-      <item>cvttps2pi</item>
+-      <item>cvttsd2si</item>
+-      <item>daa</item>
+-      <item>das</item>
+-      <item>dec</item>
+-      <item>div</item>
+-      <item>divpd</item>
+-      <item>divps</item>
+-      <item>divsd</item>
+-      <item>divss</item>
+-      <item>emms</item>
+-      <item>enter</item>
+-      <item>f2xm1</item>
+-      <item>fabs</item>
+-      <item>fadd</item>
+-      <item>faddp</item>
+-      <item>fbld</item>
+-      <item>fbstp</item>
+-      <item>fchs</item>
+-      <item>fclex</item>
+-      <item>fnclex</item>
+-      <item>fcmovb</item>
+-      <item>fcmove</item>
+-      <item>fcmovbe</item>
+-      <item>fcmovu</item>
+-      <item>fcmovnb</item>
+-      <item>fcmovne</item>
+-      <item>fcmovnbe</item>
+-      <item>fcmovnu</item>
+-      <item>fcom</item>
+-      <item>fcomp</item>
+-      <item>fcompp</item>
+-      <item>fcomi</item>
+-      <item>fcomip</item>
+-      <item>fcos</item>
+-      <item>fdecstp</item>
+-      <item>fdisi</item>
+-      <item>fndisi</item>
+-      <item>feni</item>
+-      <item>fneni</item>
+-      <item>fdiv</item>
+-      <item>fdivr</item>
+-      <item>fdivp</item>
+-      <item>fdivrp</item>
+-      <item>femms</item>
+-      <item>ffree</item>
+-      <item>ffreep</item>
+-      <item>fiadd</item>
+-      <item>ficom</item>
+-      <item>ficomp</item>
+-      <item>fidiv</item>
+-      <item>fidivr</item>
+-      <item>fild</item>
+-      <item>fist</item>
+-      <item>fistp</item>
+-      <item>fimul</item>
+-      <item>fincstp</item>
+-      <item>finit</item>
+-      <item>fninit</item>
+-      <item>fisub</item>
+-      <item>fisubr</item>
+-      <item>fld</item>
+-      <item>fld1</item>
+-      <item>fldl2e</item>
+-      <item>fldl2t</item>
+-      <item>fldlg2</item>
+-      <item>fldln2</item>
+-      <item>fldpi</item>
+-      <item>fldz</item>
+-      <item>fldcw</item>
+-      <item>fldenv</item>
+-      <item>fmul</item>
+-      <item>fmulp</item>
+-      <item>fnop</item>
+-      <item>fpatan</item>
+-      <item>fptan</item>
+-      <item>fprem</item>
+-      <item>fprem1</item>
+-      <item>frndint</item>
+-      <item>fsave</item>
+-      <item>fnsave</item>
+-      <item>frstor</item>
+-      <item>fscale</item>
+-      <item>fsetpm</item>
+-      <item>fsin</item>
+-      <item>fsincos</item>
+-      <item>fsqrt</item>
+-      <item>fst</item>
+-      <item>fstp</item>
+-      <item>fstcw</item>
+-      <item>fnstcw</item>
+-      <item>fstenv</item>
+-      <item>fnstenv</item>
+-      <item>fstsw</item>
+-      <item>fnstsw</item>
+-      <item>fsub</item>
+-      <item>fsubr</item>
+-      <item>fsubp</item>
+-      <item>fsubrp</item>
+-      <item>ftst</item>
+-      <item>fucom</item>
+-      <item>fucomp</item>
+-      <item>fucompp</item>
+-      <item>fucomi</item>
+-      <item>fucomip</item>
+-      <item>fxam</item>
+-      <item>fxch</item>
+-      <item>fxrstor</item>
+-      <item>fxsave</item>
+-      <item>fxtract</item>
+-      <item>fyl2x</item>
+-      <item>fyl2xp1</item>
+-      <item>hlt</item>
+-      <item>ibts</item>
+-      <item>idiv</item>
+-      <item>imul</item>
+-      <item>in</item>
+-      <item>inc</item>
+-      <item>insb</item>
+-      <item>insw</item>
+-      <item>insd</item>
+-      <item>int</item>
+-      <item>int1</item>
+-      <item>icebp</item>
+-      <item>int01</item>
+-      <item>int3</item>
+-      <item>int03</item>
+-      <item>into</item>
+-      <item>invd</item>
+-      <item>invlpg</item>
+-      <item>iret</item>
+-      <item>iretw</item>
+-      <item>iretd</item>
+-      <item>jcc</item>
+-      <item>jcxz</item>
+-      <item>jecxz</item>
+-      <item>jmp</item>
+-      <item>lahf</item>
+-      <item>lar</item>
+-      <item>ldmxcsr</item>
+-      <item>lds</item>
+-      <item>les</item>
+-      <item>lfs</item>
+-      <item>lgs</item>
+-      <item>lss</item>
+-      <item>lea</item>
+-      <item>leave</item>
+-      <item>lfence</item>
+-      <item>lgdt</item>
+-      <item>lidt</item>
+-      <item>lldt</item>
+-      <item>lmsw</item>
+-      <item>loadall</item>
+-      <item>loadall286</item>
+-      <item>lodsb</item>
+-      <item>lodsw</item>
+-      <item>lodsd</item>
+-      <item>loop</item>
+-      <item>loope</item>
+-      <item>loopz</item>
+-      <item>loopne</item>
+-      <item>loopnz</item>
+-      <item>lsl</item>
+-      <item>ltr</item>
+-      <item>maskmovdqu</item>
+-      <item>maskmovq</item>
+-      <item>maxpd</item>
+-      <item>maxps</item>
+-      <item>maxsd</item>
+-      <item>maxss</item>
+-      <item>mfence</item>
+-      <item>minpd</item>
+-      <item>minps</item>
+-      <item>minsd</item>
+-      <item>minss</item>
+-      <item>mov</item>
+-      <item>movapd</item>
+-      <item>movaps</item>
+-      <item>movd</item>
+-      <item>movdq2q</item>
+-      <item>movdqa</item>
+-      <item>movdqu</item>
+-      <item>movhlps</item>
+-      <item>movhpd</item>
+-      <item>movhps</item>
+-      <item>movlhps</item>
+-      <item>movlpd</item>
+-      <item>movlps</item>
+-      <item>movmskpd</item>
+-      <item>movmskps</item>
+-      <item>movntdq</item>
+-      <item>movnti</item>
+-      <item>movntpd</item>
+-      <item>movntps</item>
+-      <item>movntq</item>
+-      <item>movq</item>
+-      <item>movq2dq</item>
+-      <item>movsb</item>
+-      <item>movsw</item>
+-      <item>movsd</item>
+-      <item>movss</item>
+-      <item>movsx</item>
+-      <item>movzx</item>
+-      <item>movupd</item>
+-      <item>movups</item>
+-      <item>mul</item>
+-      <item>mulpd</item>
+-      <item>mulps</item>
+-      <item>mulsd</item>
+-      <item>mulss</item>
+-      <item>neg</item>
+-      <item>not</item>
+-      <item>nop</item>
+-      <item>or</item>
+-      <item>orpd</item>
+-      <item>orps</item>
+-      <item>out</item>
+-      <item>outsb</item>
+-      <item>outsw</item>
+-      <item>outsd</item>
+-      <item>packssdw</item>
+-      <item>packsswb</item>
+-      <item>packuswb</item>
+-      <item>packssdw</item>
+-      <item>packsswb</item>
+-      <item>packuswb</item>
+-      <item>paddb</item>
+-      <item>paddw</item>
+-      <item>paddd</item>
+-      <item>paddb</item>
+-      <item>paddw</item>
+-      <item>paddd</item>
+-      <item>paddq</item>
+-      <item>paddsb</item>
+-      <item>paddsw</item>
+-      <item>paddsb</item>
+-      <item>paddsw</item>
+-      <item>paddsiw</item>
+-      <item>paddusb</item>
+-      <item>paddusw</item>
+-      <item>paddusb</item>
+-      <item>paddusw</item>
+-      <item>pand</item>
+-      <item>pandn</item>
+-      <item>pand</item>
+-      <item>pandn</item>
+-      <item>pause</item>
+-      <item>paveb</item>
+-      <item>pavgb</item>
+-      <item>pavgw</item>
+-      <item>pavgb</item>
+-      <item>pavgw</item>
+-      <item>pavgusb</item>
+-      <item>pcmpeqb</item>
+-      <item>pcmpeqw</item>
+-      <item>pcmpeqd</item>
+-      <item>pcmpgtb</item>
+-      <item>pcmpgtw</item>
+-      <item>pcmpgtd</item>
+-      <item>pcmpeqb</item>
+-      <item>pcmpeqw</item>
+-      <item>pcmpeqd</item>
+-      <item>pcmpgtb</item>
+-      <item>pcmpgtw</item>
+-      <item>pcmpgtd</item>
+-      <item>pdistib</item>
+-      <item>pextrw</item>
+-      <item>pf2id</item>
+-      <item>pf2iw</item>
+-      <item>pfacc</item>
+-      <item>pfadd</item>
+-      <item>pfcmpeq</item>
+-      <item>pfcmpge</item>
+-      <item>pfcmpgt</item>
+-      <item>pfmax</item>
+-      <item>pfmin</item>
+-      <item>pfmul</item>
+-      <item>pfnacc</item>
+-      <item>pfpnacc</item>
+-      <item>pfrcp</item>
+-      <item>pfrcpit1</item>
+-      <item>pfrcpit2</item>
+-      <item>pfrsqit1</item>
+-      <item>pfrsqrt</item>
+-      <item>pfsub</item>
+-      <item>pfsubr</item>
+-      <item>pi2fd</item>
+-      <item>pi2fw</item>
+-      <item>pinsrw</item>
+-      <item>pmachriw</item>
+-      <item>pmaddwd</item>
+-      <item>pmagw</item>
+-      <item>pmaxsw</item>
+-      <item>pmaxub</item>
+-      <item>pminsw</item>
+-      <item>pminub</item>
+-      <item>pmovmskb</item>
+-      <item>pmulhrwc</item>
+-      <item>pmulhriw</item>
+-      <item>pmulhrwa</item>
+-      <item>pmulhuw</item>
+-      <item>pmulhw</item>
+-      <item>pmullw</item>
+-      <item>pmulhw</item>
+-      <item>pmullw</item>
+-      <item>pmuludq</item>
+-      <item>pmvzb</item>
+-      <item>pmvnzb</item>
+-      <item>pmvlzb</item>
+-      <item>pmvgezb</item>
+-      <item>pop</item>
+-      <item>popa</item>
+-      <item>popaw</item>
+-      <item>popad</item>
+-      <item>popf</item>
+-      <item>popfw</item>
+-      <item>popfd</item>
+-      <item>por</item>
+-      <item>prefetch</item>
+-      <item>prefetchw</item>
+-      <item>prefetchnta</item>
+-      <item>prefetcht0</item>
+-      <item>prefetcht1</item>
+-      <item>prefetcht2</item>
+-      <item>psadbw</item>
+-      <item>pshufd</item>
+-      <item>pshufhw</item>
+-      <item>pshuflw</item>
+-      <item>pshufw</item>
+-      <item>psllw</item>
+-      <item>pslld</item>
+-      <item>psllq</item>
+-      <item>pslldq</item>
+-      <item>psraw</item>
+-      <item>psrad</item>
+-      <item>psrlw</item>
+-      <item>psrld</item>
+-      <item>psrlq</item>
+-      <item>psrldq</item>
+-      <item>psubb</item>
+-      <item>psubw</item>
+-      <item>psubd</item>
+-      <item>psubq</item>
+-      <item>psubb</item>
+-      <item>psubw</item>
+-      <item>psubd</item>
+-      <item>psubq</item>
+-      <item>psubsb</item>
+-      <item>psubsw</item>
+-      <item>psubsb</item>
+-      <item>psubsw</item>
+-      <item>psubusb</item>
+-      <item>psubusw</item>
+-      <item>psubusb</item>
+-      <item>psubusw</item>
+-      <item>psubsiw</item>
+-      <item>pswapd</item>
+-      <item>punpckhbw</item>
+-      <item>punpckhwd</item>
+-      <item>punpckhdq</item>
+-      <item>punpckhbw</item>
+-      <item>punpckhwd</item>
+-      <item>punpckhdq</item>
+-      <item>punpckhqdq</item>
+-      <item>punpcklbw</item>
+-      <item>punpcklwd</item>
+-      <item>punpckldq</item>
+-      <item>punpcklbw</item>
+-      <item>punpcklwd</item>
+-      <item>punpckldq</item>
+-      <item>punpcklqdq</item>
+-      <item>push</item>
+-      <item>pusha</item>
+-      <item>pushad</item>
+-      <item>pushaw</item>
+-      <item>pushf</item>
+-      <item>pushfd</item>
+-      <item>pushfw</item>
+-      <item>pxor</item>
+-      <item>rcl</item>
+-      <item>rcr</item>
+-      <item>rcpps</item>
+-      <item>rcpss</item>
+-      <item>rdmsr</item>
+-      <item>rdpmc</item>
+-      <item>rdshr</item>
+-      <item>rdtsc</item>
+-      <item>ret</item>
+-      <item>retf</item>
+-      <item>retn</item>
+-      <item>rol</item>
+-      <item>ror</item>
+-      <item>rsdc</item>
+-      <item>rsldt</item>
+-      <item>rsm</item>
+-      <item>rsqrtps</item>
+-      <item>rsqrtss</item>
+-      <item>rsts</item>
+-      <item>sahf</item>
+-      <item>sal</item>
+-      <item>sar</item>
+-      <item>salc</item>
+-      <item>sbb</item>
+-      <item>scasb</item>
+-      <item>scasw</item>
+-      <item>scasd</item>
+-      <item>setcc</item>
+-      <item>sfence</item>
+-      <item>sgdt</item>
+-      <item>sidt</item>
+-      <item>sldt</item>
+-      <item>shl</item>
+-      <item>shr</item>
+-      <item>shld</item>
+-      <item>shrd</item>
+-      <item>shufpd</item>
+-      <item>shufps</item>
+-      <item>smi</item>
+-      <item>smint</item>
+-      <item>smintold</item>
+-      <item>smsw</item>
+-      <item>sqrtpd</item>
+-      <item>sqrtps</item>
+-      <item>sqrtsd</item>
+-      <item>sqrtss</item>
+-      <item>stc</item>
+-      <item>std</item>
+-      <item>sti</item>
+-      <item>stmxcsr</item>
+-      <item>stosb</item>
+-      <item>stosw</item>
+-      <item>stosd</item>
+-      <item>str</item>
+-      <item>sub</item>
+-      <item>subpd</item>
+-      <item>subps</item>
+-      <item>subsd</item>
+-      <item>subss</item>
+-      <item>svdc</item>
+-      <item>svldt</item>
+-      <item>svts</item>
+-      <item>syscall</item>
+-      <item>sysenter</item>
+-      <item>sysexit</item>
+-      <item>sysret</item>
+-      <item>test</item>
+-      <item>ucomisd</item>
+-      <item>ucomiss</item>
+-      <item>ud0</item>
+-      <item>ud1</item>
+-      <item>ud2</item>
+-      <item>umov</item>
+-      <item>unpckhpd</item>
+-      <item>unpckhps</item>
+-      <item>unpcklpd</item>
+-      <item>unpcklps</item>
+-      <item>verr</item>
+-      <item>verw</item>
+-      <item>wait</item>
+-      <item>fwait</item>
+-      <item>wbinvd</item>
+-      <item>wrmsr</item>
+-      <item>wrshr</item>
+-      <item>xadd</item>
+-      <item>xbts</item>
+-      <item>xchg</item>
+-      <item>xlat</item>
+-      <item>xlatb</item>
+-      <item>xor</item>
+-      <item>xorpd</item>
+-      <item>xorps</item>
++<language name="Intel x86 (NASM)" section="Assembler" version="1.30" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPL">
++  <highlighting>
++    <list name="registers">
++      <!-- General purpose registers -->
++      <item>eax</item>
++      <item>ax</item>
++      <item>ah</item>
++      <item>al</item>
++      <item>ebx</item>
++      <item>bx</item>
++      <item>bh</item>
++      <item>bl</item>
++      <item>ecx</item>
++      <item>cx</item>
++      <item>ch</item>
++      <item>cl</item>
++      <item>edx</item>
++      <item>dx</item>
++      <item>dh</item>
++      <item>dl</item>
++      <item>ebp</item>
++      <item>bp</item>
++      <item>esi</item>
++      <item>si</item>
++      <item>edi</item>
++      <item>di</item>
++      <!--
++      <item>eip</item>
++      <item>ip</item>
++      -->
++      <item>esp</item>
++      <item>sp</item>
++      <!-- Segmentation registers -->
++      <item>cs</item>
++      <item>ds</item>
++      <item>es</item>
++      <item>fs</item>
++      <item>gs</item>
++      <item>ss</item>
++      <!-- Control registers -->
++      <item>cr0</item>
++      <!--<item>cr1</item>-->
++      <item>cr2</item>
++      <item>cr3</item>
++      <item>cr4</item>
++      <!-- Debug registers -->
++      <item>dr0</item>
++      <item>dr1</item>
++      <item>dr2</item>
++      <item>dr3</item>
++      <item>dr6</item>
++      <item>dr7</item>
++      <!-- x87 FPU Registers -->
++      <item>st</item>
++      <!-- MMX registers -->
++      <item>mm0</item>
++      <item>mm1</item>
++      <item>mm2</item>
++      <item>mm3</item>
++      <item>mm4</item>
++      <item>mm5</item>
++      <item>mm6</item>
++      <item>mm7</item>
++      <!-- XMM registers -->
++      <item>xmm0</item>
++      <item>xmm1</item>
++      <item>xmm2</item>
++      <item>xmm3</item>
++      <item>xmm4</item>
++      <item>xmm5</item>
++      <item>xmm6</item>
++      <item>xmm7</item>
++    </list>
++    <list name="instructions">
+       <item>aaa</item>
+       <item>aad</item>
+       <item>aam</item>
+@@ -674,6 +119,8 @@
+       <item>addps</item>
+       <item>addsd</item>
+       <item>addss</item>
++      <item>addsubpd</item>
++      <item>addsubps</item>
+       <item>and</item>
+       <item>andnpd</item>
+       <item>andnps</item>
+@@ -690,14 +137,48 @@
+       <item>bts</item>
+       <item>call</item>
+       <item>cbw</item>
++      <item>cwde</item>
++      <item>cwd</item>
+       <item>cdq</item>
++      <item>cdqe</item>
++      <item>cqo</item>
+       <item>clc</item>
+       <item>cld</item>
+-      <item>clflush</item>
++      <item>clgi</item>
+       <item>cli</item>
+       <item>clts</item>
++      <item>clflush</item>
+       <item>cmc</item>
+-      <item>cmovcc</item>
++      <item>cmova</item>
++      <item>cmovae</item>
++      <item>cmovb</item>
++      <item>cmovbe</item>
++      <item>cmovc</item>
++      <item>cmove</item>
++      <item>cmovg</item>
++      <item>cmovge</item>
++      <item>cmovl</item>
++      <item>cmovle</item>
++      <item>cmovna</item>
++      <item>cmovnae</item>
++      <item>cmovnb</item>
++      <item>cmovnbe</item>
++      <item>cmovnc</item>
++      <item>cmovne</item>
++      <item>cmovng</item>
++      <item>cmovnge</item>
++      <item>cmovnl</item>
++      <item>cmovnle</item>
++      <item>cmovno</item>
++      <item>cmovnp</item>
++      <item>cmovns</item>
++      <item>cmovnz</item>
++      <item>cmovo</item>
++      <item>cmovp</item>
++      <item>cmovpe</item>
++      <item>cmovpo</item>
++      <item>cmovs</item>
++      <item>cmovz</item>
+       <item>cmp</item>
+       <item>cmpeqpd</item>
+       <item>cmpeqps</item>
+@@ -729,6 +210,7 @@
+       <item>cmpordss</item>
+       <item>cmppd</item>
+       <item>cmpps</item>
++      <item>cmps</item>
+       <item>cmpsb</item>
+       <item>cmpsd</item>
+       <item>cmpss</item>
+@@ -740,6 +222,7 @@
+       <item>cmpxchg</item>
+       <item>cmpxchg486</item>
+       <item>cmpxchg8b</item>
++      <item>cmpxchg16b</item>
+       <item>comisd</item>
+       <item>comiss</item>
+       <item>cpuid</item>
+@@ -764,8 +247,7 @@
+       <item>cvttps2dq</item>
+       <item>cvttps2pi</item>
+       <item>cvttsd2si</item>
+-      <item>cwd</item>
+-      <item>cwde</item>
++      <item>cvttss2si</item>
+       <item>daa</item>
+       <item>das</item>
+       <item>dec</item>
+@@ -784,6 +266,7 @@
+       <item>fbstp</item>
+       <item>fchs</item>
+       <item>fclex</item>
++      <item>fnclex</item>
+       <item>fcmovb</item>
+       <item>fcmovbe</item>
+       <item>fcmove</item>
+@@ -793,19 +276,19 @@
+       <item>fcmovnu</item>
+       <item>fcmovu</item>
+       <item>fcom</item>
+-      <item>fcomi</item>
+-      <item>fcomip</item>
+       <item>fcomp</item>
+       <item>fcompp</item>
++      <item>fcomi</item>
++      <item>fcomip</item>
+       <item>fcos</item>
+       <item>fdecstp</item>
+       <item>fdisi</item>
++      <item>feni</item>
+       <item>fdiv</item>
+-      <item>fdivp</item>
+       <item>fdivr</item>
++      <item>fdivp</item>
+       <item>fdivrp</item>
+       <item>femms</item>
+-      <item>feni</item>
+       <item>ffree</item>
+       <item>ffreep</item>
+       <item>fiadd</item>
+@@ -819,21 +302,21 @@
+       <item>finit</item>
+       <item>fist</item>
+       <item>fistp</item>
++      <item>fisttp</item>
+       <item>fisub</item>
+       <item>fisubr</item>
+       <item>fld</item>
+       <item>fld1</item>
+-      <item>fldcw</item>
+-      <item>fldenv</item>
+       <item>fldl2e</item>
+       <item>fldl2t</item>
+       <item>fldlg2</item>
+       <item>fldln2</item>
++      <item>fldcw</item>
++      <item>fldenv</item>
+       <item>fldpi</item>
+       <item>fldz</item>
+       <item>fmul</item>
+       <item>fmulp</item>
+-      <item>fnclex</item>
+       <item>fndisi</item>
+       <item>fneni</item>
+       <item>fninit</item>
+@@ -842,10 +325,11 @@
+       <item>fnstcw</item>
+       <item>fnstenv</item>
+       <item>fnstsw</item>
++      <item>fnwait</item>
+       <item>fpatan</item>
++      <item>fptan</item>
+       <item>fprem</item>
+       <item>fprem1</item>
+-      <item>fptan</item>
+       <item>frndint</item>
+       <item>frstor</item>
+       <item>fsave</item>
+@@ -855,20 +339,20 @@
+       <item>fsincos</item>
+       <item>fsqrt</item>
+       <item>fst</item>
++      <item>fstp</item>
+       <item>fstcw</item>
+       <item>fstenv</item>
+-      <item>fstp</item>
+       <item>fstsw</item>
+       <item>fsub</item>
+-      <item>fsubp</item>
+       <item>fsubr</item>
++      <item>fsubp</item>
+       <item>fsubrp</item>
+       <item>ftst</item>
+       <item>fucom</item>
+-      <item>fucomi</item>
+-      <item>fucomip</item>
+       <item>fucomp</item>
+       <item>fucompp</item>
++      <item>fucomi</item>
++      <item>fucomip</item>
+       <item>fwait</item>
+       <item>fxam</item>
+       <item>fxch</item>
+@@ -877,38 +361,73 @@
+       <item>fxtract</item>
+       <item>fyl2x</item>
+       <item>fyl2xp1</item>
++      <item>haddpd</item>
++      <item>haddps</item>
+       <item>hlt</item>
++      <item>hsubpd</item>
++      <item>hsubps</item>
+       <item>ibts</item>
+-      <item>icebp</item>
+       <item>idiv</item>
+       <item>imul</item>
+       <item>in</item>
+       <item>inc</item>
++      <item>ins</item>
+       <item>insb</item>
+       <item>insd</item>
+       <item>insw</item>
+       <item>int</item>
+-      <item>int01</item>
+-      <item>int03</item>
+       <item>int1</item>
+       <item>int3</item>
+       <item>into</item>
+       <item>invd</item>
+       <item>invlpg</item>
++      <item>invlpga</item>
+       <item>iret</item>
+       <item>iretd</item>
++      <item>iretq</item>
+       <item>iretw</item>
+-      <item>jcc</item>
++      <item>ja</item>
++      <item>jae</item>
++      <item>jb</item>
++      <item>jbe</item>
++      <item>jc</item>
++      <item>je</item>
++      <item>jg</item>
++      <item>jge</item>
++      <item>jl</item>
++      <item>jle</item>
++      <item>jna</item>
++      <item>jnae</item>
++      <item>jnb</item>
++      <item>jnbe</item>
++      <item>jnc</item>
++      <item>jne</item>
++      <item>jng</item>
++      <item>jnge</item>
++      <item>jnl</item>
++      <item>jnle</item>
++      <item>jno</item>
++      <item>jnp</item>
++      <item>jns</item>
++      <item>jnz</item>
++      <item>jo</item>
++      <item>jp</item>
++      <item>jpe</item>
++      <item>jpo</item>
++      <item>js</item>
++      <item>jz</item>
+       <item>jcxz</item>
+       <item>jecxz</item>
++      <item>jrcxz</item>
+       <item>jmp</item>
+       <item>lahf</item>
+       <item>lar</item>
++      <item>lddqu</item>
+       <item>ldmxcsr</item>
+       <item>lds</item>
++      <item>les</item>
+       <item>lea</item>
+       <item>leave</item>
+-      <item>les</item>
+       <item>lfence</item>
+       <item>lfs</item>
+       <item>lgdt</item>
+@@ -918,8 +437,10 @@
+       <item>lmsw</item>
+       <item>loadall</item>
+       <item>loadall286</item>
++      <item>lods</item>
+       <item>lodsb</item>
+       <item>lodsd</item>
++      <item>lodsq</item>
+       <item>lodsw</item>
+       <item>loop</item>
+       <item>loope</item>
+@@ -940,10 +461,12 @@
+       <item>minps</item>
+       <item>minsd</item>
+       <item>minss</item>
++      <item>monitor</item>
+       <item>mov</item>
+       <item>movapd</item>
+       <item>movaps</item>
+       <item>movd</item>
++      <item>movddup</item>
+       <item>movdq2q</item>
+       <item>movdqa</item>
+       <item>movdqu</item>
+@@ -962,11 +485,16 @@
+       <item>movntq</item>
+       <item>movq</item>
+       <item>movq2dq</item>
++      <item>movs</item>
+       <item>movsb</item>
+       <item>movsd</item>
++      <item>movshdup</item>
++      <item>movsldup</item>
++      <item>movsq</item>
+       <item>movss</item>
+-      <item>movsw</item>
+       <item>movsx</item>
++      <item>movsxd</item>
++      <item>movsw</item>
+       <item>movupd</item>
+       <item>movups</item>
+       <item>movzx</item>
+@@ -975,6 +503,7 @@
+       <item>mulps</item>
+       <item>mulsd</item>
+       <item>mulss</item>
++      <item>mwait</item>
+       <item>neg</item>
+       <item>nop</item>
+       <item>not</item>
+@@ -982,9 +511,10 @@
+       <item>orpd</item>
+       <item>orps</item>
+       <item>out</item>
++      <item>outs</item>
+       <item>outsb</item>
+-      <item>outsd</item>
+       <item>outsw</item>
++      <item>outsd</item>
+       <item>packssdw</item>
+       <item>packsswb</item>
+       <item>packuswb</item>
+@@ -992,7 +522,6 @@
+       <item>paddd</item>
+       <item>paddq</item>
+       <item>paddsb</item>
+-      <item>paddsiw</item>
+       <item>paddsw</item>
+       <item>paddusb</item>
+       <item>paddusw</item>
+@@ -1000,16 +529,15 @@
+       <item>pand</item>
+       <item>pandn</item>
+       <item>pause</item>
+-      <item>paveb</item>
+       <item>pavgb</item>
+       <item>pavgusb</item>
+       <item>pavgw</item>
+       <item>pcmpeqb</item>
+-      <item>pcmpeqd</item>
+       <item>pcmpeqw</item>
++      <item>pcmpeqd</item>
+       <item>pcmpgtb</item>
+-      <item>pcmpgtd</item>
+       <item>pcmpgtw</item>
++      <item>pcmpgtd</item>
+       <item>pdistib</item>
+       <item>pextrw</item>
+       <item>pf2id</item>
+@@ -1042,9 +570,7 @@
+       <item>pminsw</item>
+       <item>pminub</item>
+       <item>pmovmskb</item>
+-      <item>pmulhriw</item>
+-      <item>pmulhrwa</item>
+-      <item>pmulhrwc</item>
++      <item>pmulhrw</item>
+       <item>pmulhuw</item>
+       <item>pmulhw</item>
+       <item>pmullw</item>
+@@ -1055,11 +581,12 @@
+       <item>pmvzb</item>
+       <item>pop</item>
+       <item>popa</item>
+-      <item>popad</item>
+       <item>popaw</item>
++      <item>popad</item>
+       <item>popf</item>
+-      <item>popfd</item>
+       <item>popfw</item>
++      <item>popfd</item>
++      <item>popfq</item>
+       <item>por</item>
+       <item>prefetch</item>
+       <item>prefetchnta</item>
+@@ -1106,16 +633,18 @@
+       <item>pushaw</item>
+       <item>pushf</item>
+       <item>pushfd</item>
++      <item>pushfq</item>
+       <item>pushfw</item>
+       <item>pxor</item>
+       <item>rcl</item>
++      <item>rcr</item>
+       <item>rcpps</item>
+       <item>rcpss</item>
+-      <item>rcr</item>
+       <item>rdmsr</item>
+       <item>rdpmc</item>
+       <item>rdshr</item>
+       <item>rdtsc</item>
++      <item>rdtscp</item>
+       <item>ret</item>
+       <item>retf</item>
+       <item>retn</item>
+@@ -1129,13 +658,44 @@
+       <item>rsts</item>
+       <item>sahf</item>
+       <item>sal</item>
+-      <item>salc</item>
+       <item>sar</item>
++      <item>salc</item>
+       <item>sbb</item>
++      <item>scas</item>
+       <item>scasb</item>
+       <item>scasd</item>
++      <item>scasq</item>
+       <item>scasw</item>
+-      <item>setcc</item>
++      <item>seta</item>
++      <item>setae</item>
++      <item>setb</item>
++      <item>setbe</item>
++      <item>setc</item>
++      <item>sete</item>
++      <item>setg</item>
++      <item>setge</item>
++      <item>setl</item>
++      <item>setle</item>
++      <item>setna</item>
++      <item>setnae</item>
++      <item>setnb</item>
++      <item>setnbe</item>
++      <item>setnc</item>
++      <item>setne</item>
++      <item>setng</item>
++      <item>setnge</item>
++      <item>setnl</item>
++      <item>setnle</item>
++      <item>setno</item>
++      <item>setnp</item>
++      <item>setns</item>
++      <item>setnz</item>
++      <item>seto</item>
++      <item>setp</item>
++      <item>setpe</item>
++      <item>setpo</item>
++      <item>sets</item>
++      <item>setz</item>
+       <item>sfence</item>
+       <item>sgdt</item>
+       <item>shl</item>
+@@ -1145,6 +705,7 @@
+       <item>shufpd</item>
+       <item>shufps</item>
+       <item>sidt</item>
++      <item>skinit</item>
+       <item>sldt</item>
+       <item>smi</item>
+       <item>smint</item>
+@@ -1156,10 +717,13 @@
+       <item>sqrtss</item>
+       <item>stc</item>
+       <item>std</item>
++      <item>stgi</item>
+       <item>sti</item>
+       <item>stmxcsr</item>
++      <item>stos</item>
+       <item>stosb</item>
+       <item>stosd</item>
++      <item>stosq</item>
+       <item>stosw</item>
+       <item>str</item>
+       <item>sub</item>
+@@ -1170,6 +734,7 @@
+       <item>svdc</item>
+       <item>svldt</item>
+       <item>svts</item>
++      <item>swapgs</item>
+       <item>syscall</item>
+       <item>sysenter</item>
+       <item>sysexit</item>
+@@ -1187,6 +752,10 @@
+       <item>unpcklps</item>
+       <item>verr</item>
+       <item>verw</item>
++      <item>vmload</item>
++      <item>vmmcall</item>
++      <item>vmrun</item>
++      <item>vmsave</item>
+       <item>wait</item>
+       <item>wbinvd</item>
+       <item>wrmsr</item>
+@@ -1229,20 +798,19 @@
+     </list>
+     <list name="NASM Keywords">
+       <!-- NASM directives -->
+-      <item>org</item>
+-      <item>bits</item>
+-      <item>use16</item>
+-      <item>use32</item>
+-      <item>section</item>
+-      <item>segment</item>
+-      <item>__sect__</item>
+       <item>absolute</item>
++      <item>bits</item>
++      <item>common</item>
+       <item>extern</item>
+       <item>global</item>
+-      <item>common</item>
++      <item>org</item>
++      <item>section</item>
+       <item>seg</item>
+-      <item>wrt</item>
++      <item>segment</item>
+       <item>strict</item>
++      <item>use16</item>
++      <item>use32</item>
++      <item>wrt</item>
+       <!-- NASM standard macros -->
+       <item>struc</item>
+       <item>endstruc</item>
+@@ -1252,6 +820,7 @@
+       <item>align</item>
+       <item>alignb</item>
++      <item>__SECT__</item>
+       <item>__NASM_MAJOR__</item>
+       <item>__NASM_MINOR__</item>
+       <item>__NASM_SUBMINOR__</item>
+@@ -1263,24 +832,23 @@
+     </list>
+     <contexts>
+       <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+-        <keyword attribute="Registers" context="#stay" String="registers" />
++        <keyword attribute="Registers" context="#stay" String="registers"/>
+         <keyword attribute="Data" context="#stay" String="Data"/>
+         <keyword attribute="Instructions" context="#stay" String="instructions"/>
+         <keyword attribute="NASM Keywords" context="#stay" String="NASM Keywords"/>
+-        <DetectChar attribute="Comment" context="Comment" char=";" />
+-        <DetectChar attribute="Preprocessor" context="Preprocessor" char="%" />
++        <DetectChar attribute="Comment" context="Comment" char=";"/>
++        <DetectChar attribute="Preprocessor" context="Preprocessor" char="%"/>
+         <AnyChar attribute="String" context="String" String="&quot;'"/>
+-        <RegExpr attribute="Label" context="#stay" String="^\s*[A-Za-z0-9_.$]+:" />
++        <RegExpr attribute="Label" context="#stay" String="^\s*[A-Za-z0-9_.$]+:"/>
+         <!-- Conditional instructions -->
+-        <RegExpr attribute="Instructions" context="#stay"
+-        String="(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)" />
++        <RegExpr attribute="Instructions" context="#stay" String="(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)"/>
+         <!-- The NASM's CPU directive -->
+         <RegExpr attribute="NASM Keywords" context="#stay" String="cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*"/>
+         <!-- hexadecimal numbers -->
+-        <RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(\$[0-9]+[a-f0-9]*|[a-f0-9]+h)"/>
++        <RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(^|[ \t,]+)((\$|0x){1}[0-9]+[a-f0-9]*|[a-f0-9]+h)([ \t,]+|$)"/>
+         <!-- octal and binary numbers -->
+-        <RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="([0-7]+(q|o)|[01]+b)"/>
+-        <DetectChar attribute="Number" context="#stay" char="$" />
++        <RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(^|[ \t,]+)([0-7]+(q|o)|[01]+b)([ \t,]+|$)"/>
++        <DetectChar attribute="Number" context="#stay" char="$"/>
+         <HlCOct attribute="BaseN" context="#stay"/>
+         <HlCHex attribute="BaseN" context="#stay"/>
+         <Float attribute="Float" context="#stay"/>
+@@ -1311,11 +879,10 @@
+     </itemDatas>
+   </highlighting>
+   <general>
+-    <keywords casesensitive="0" />
++    <keywords casesensitive="0"/>
+     <comments>
+-      <comment name="singleLine" start=";" />
++      <comment name="singleLine" start=";"/>
+     </comments>
+   </general>
+ </language>
+-
+ <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
+diff -ur kdelibs-3.5.8/kate/data.org/php.xml kdelibs-3.5.8/kate/data/php.xml
+--- kdelibs-3.5.8/kate/data.org/php.xml        2007-01-15 12:33:49.000000000 +0100
++++ kdelibs-3.5.8/kate/data/php.xml    2007-05-16 12:00:16.000000000 +0200
+@@ -18,7 +18,7 @@
+ -->
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="PHP/PHP" version="1.28" kateversion="2.4" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">
++<language name="PHP/PHP" version="1.29" kateversion="2.4" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">
+   <highlighting>
+     <list name="control structures">
+       <item>as</item>
+@@ -55,6 +55,7 @@
+       <item> final </item>
+       <item> function </item>
+       <item> implements </item>
++      <item> instanceof </item>
+       <item> interface </item>
+       <item> new </item>
+       <item> self </item>
+@@ -6478,9 +6479,9 @@
+         <HlCHex attribute="Hex" context="#stay" />
+         <Float attribute="Float" context="#stay" />
+         <Int attribute="Decimal" context="#stay" />
+-        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+-        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+-        <AnyChar attribute="Symbol" context="#stay" String=";()}{:,[]" />
++        <DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Brace1" />
++        <DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Brace1" />
++        <AnyChar attribute="Other" context="#stay" String=";()}{:,[]" />
+       </context>
+       <context name="onelinecomment" attribute="Comment" lineEndContext="#pop">
+         <StringDetect attribute="Keyword" context="#pop" lookAhead="true" String="?&gt;" />
+@@ -6517,7 +6518,6 @@
+     </contexts>
+     <itemDatas>
+       <itemData name="Normal Text" defStyleNum="dsNormal" />
+-      <itemData name="Symbol" defStyleNum="dsNormal" />
+       <itemData name="PHP Text" defStyleNum="dsNormal" />
+       <itemData name="Keyword" defStyleNum="dsKeyword" />
+       <itemData name="Function" defStyleNum="dsFunction" />
+diff -ur kdelibs-3.5.8/kate/data.org/povray.xml kdelibs-3.5.8/kate/data/povray.xml
+--- kdelibs-3.5.8/kate/data.org/povray.xml     2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/povray.xml 2006-04-24 12:00:15.000000000 +0200
+@@ -4,880 +4,973 @@
+ <!-- Christoph Hormann <chris_hormann@gmx.de>, March 2004       -->
+ <!-- features full POV-Ray 3.6 syntax with special highlighting -->
+ <!-- of variable and macro declarations                         -->
+-<language name="POV-Ray" version="1.04" kateversion="2.4" section="Other" extensions="*.inc;*.pov" mimetype="text/x-povray-script;text/x-povray-include" priority="2">
+-  <highlighting>
+-    <list name="keywords">
+-      <item> aa_threshold </item>
+-      <item> aa_level </item>
+-      <item> absorption </item>      
+-      <item> abs </item>
+-      <item> accuracy </item>
+-      <item> acosh </item>
+-      <item> acos </item>
+-      <item> adaptive </item>
+-      <item> adc_bailout </item>      
+-      <item> agate </item>
+-      <item> agate_turb </item>      
+-      <item> all_intersections </item>
+-      <item> all </item>
+-      <item> alpha </item>
+-      <item> always_sample </item>
+-      <item> altitude </item>
+-      <item> ambient_light </item>
+-      <item> ambient </item>
+-      <item> angle </item>
+-      <item> aperture </item>
+-      <item> append </item>
+-      <item> arc_angle </item>
+-      <item> area_light </item>
+-      <item> array </item>
+-      <item> ascii </item>
+-      <item> asc </item>
+-      <item> asinh </item>
+-      <item> asin </item>
+-      <item> assumed_gamma </item>
+-      <item> atan2 </item>
+-      <item> atanh </item>
+-      <item> atan </item>
+-      <item> average </item>
+-      <item> background </item>
+-      <item> bezier_spline </item>
+-      <item> bicubic_patch </item>
+-      <item> black_hole </item>
+-      <item> blob </item>
+-      <item> blue </item>
+-      <item> blur_samples </item>
+-      <item> bounded_by </item>
+-      <item> boxed </item>
+-      <item> box </item>
+-      <item> bozo </item>
+-      <item> brick_size </item>
+-      <item> brick </item>
+-      <item> brightness </item>
+-      <item> brilliance </item>
+-      <item> bumps </item>
+-      <item> bump_map </item>
+-      <item> bump_size </item>
+-      <item> b_spline </item>
+-      <item> camera </item>
+-      <item> caustics </item>
+-      <item> ceil </item>
+-      <item> cells </item>
+-      <item> charset </item>
+-      <item> checker </item>
+-      <item> chr </item>
+-      <item> circular </item>
+-      <item> clipped_by </item>
+-      <item> clock_delta </item>
+-      <item> clock_on </item>
+-      <item> clock </item>
+-      <item> color_map </item>
+-      <item> colour_map </item>
+-      <item> color </item>
+-      <item> colour </item>
+-      <item> component </item>
+-      <item> composite </item>
+-      <item> concat </item>
+-      <item> cone </item>
+-      <item> confidence </item>
+-      <item> conic_sweep </item>
+-      <item> contained_by </item>
+-      <item> control0 </item>
+-      <item> control1 </item>
+-      <item> coords </item>
+-      <item> cosh </item>
+-      <item> cos </item>
+-      <item> count </item>
+-      <item> crackle </item>
+-      <item> crand </item>
+-      <item> cube </item>
+-      <item> cubic_spline </item>
+-      <item> cubic </item>
+-      <item> cubic_wave </item>
+-      <item> cylinder </item>
+-      <item> cylindrical </item>
+-      <item> defined </item>
+-      <item> degrees </item>
+-      <item> density_file </item>
+-      <item> density_map </item>
+-      <item> density </item>
+-      <item> dents </item>
+-      <item> df3 </item>
+-      <item> difference </item>
+-      <item> diffuse </item>
+-      <item> dimensions </item>
+-      <item> dimension_size </item>
+-      <item> direction </item>
+-      <item> disc </item>
+-      <item> dispersion </item>
+-      <item> dispersion_samples </item>
+-      <item> distance_maximum </item>
+-      <item> distance </item>
+-      <item> dist_exp </item>
+-      <item> div </item>
+-      <item> double_illuminate </item>
+-      <item> eccentricity </item>
+-      <item> emission </item>
+-      <item> error_bound </item>
+-      <item> evaluate </item>
+-      <item> exp </item>
+-      <item> exponent </item>
+-      <item> exterior </item>
+-      <item> extinction </item>
+-      <item> facets </item>
+-      <item> face_indices </item>
+-      <item> fade_colour </item>
+-      <item> fade_color </item>
+-      <item> fade_distance </item>
+-      <item> fade_power </item>
+-      <item> falloff_angle </item>
+-      <item> falloff </item>
+-      <item> false </item>
+-      <item> file_exists </item>
+-      <item> shadowless </item>
+-      <item> filter </item>
+-      <item> final_clock </item>
+-      <item> final_frame </item>
+-      <item> finish </item>
+-      <item> fisheye </item>
+-      <item> flatness </item>
+-      <item> flip </item>
+-      <item> floor </item>
+-      <item> focal_point </item>
+-      <item> fog_alt </item>
+-      <item> fog_offset </item>
+-      <item> fog </item>
+-      <item> fog_type </item>
+-      <item> form </item>
+-      <item> frame_number </item>
+-      <item> frequency </item>
+-      <item> fresnel </item>
+-      <item> function </item>
+-      <item> gif </item>
+-      <item> global_settings </item>
+-      <item> gradient </item>
+-      <item> granite </item>
+-      <item> gray </item>
+-      <item> gray_threshold </item>
+-      <item> green </item>
+-      <item> height_field </item>
+-      <item> hexagon </item>
+-      <item> hf_gray_16 </item>
+-      <item> hierarchy </item>
+-      <item> hollow </item>
+-      <item> hypercomplex </item>
+-      <item> image_width </item>
+-      <item> image_height </item>
+-      <item> initial_clock </item>
+-      <item> initial_frame </item>
+-      <item> interior_texture </item>
+-      <item> iff </item>
+-      <item> image_map </item>
+-      <item> image_pattern </item>
+-      <item> inside </item>
+-      <item> inside_vector </item>
+-      <item> interior </item>
+-      <item> interpolate </item>
+-      <item> intersection </item>
+-      <item> intervals </item>
+-      <item> int </item>
+-      <item> inverse </item>
+-      <item> ior </item>
+-      <item> irid </item>
+-      <item> irid_wavelength </item>
+-      <item> isosurface </item>
+-      <item> jitter </item>
+-      <item> julia </item>
+-      <item> julia_fractal </item>
+-      <item> jpeg </item>
+-      <item> lambda </item>
+-      <item> lathe </item>
+-      <item> leopard </item>
+-      <item> light_group </item>
+-      <item> light_source </item>
+-      <item> linear_spline </item>
+-      <item> linear_sweep </item>
+-      <item> ln </item>
+-      <item> load_file </item>
+-      <item> location </item>
+-      <item> log </item>
+-      <item> looks_like </item>
+-      <item> look_at </item>
+-      <item> low_error_factor </item>
+-      <item> magnet </item>
+-      <item> major_radius </item>
+-      <item> mandel </item>
+-      <item> map_type </item>
+-      <item> marble </item>
+-      <item> material_map </item>
+-      <item> material </item>
+-      <item> matrix </item>
+-      <item> max_extent </item>
+-      <item> max_gradient </item>
+-      <item> max_intersections </item>
+-      <item> max_iteration </item>
+-      <item> max_sample </item>
+-      <item> max </item>
+-      <item> max_trace_level </item>
+-      <item> max_trace </item>
+-      <item> media_attenuation </item>
+-      <item> media_interaction </item>
+-      <item> media </item>
+-      <item> merge </item>
+-      <item> mesh2 </item>
+-      <item> mesh </item>
+-      <item> metallic </item>
+-      <item> method </item>
+-      <item> metric </item>
+-      <item> minimum_reuse </item>
+-      <item> min_extent </item>
+-      <item> min </item>
+-      <item> mod </item>
+-      <item> mortar </item>
+-      <item> natural_spline </item>
+-      <item> nearest_count </item>
+-      <item> normal </item>
+-      <item> normal_indices </item>
+-      <item> normal_map </item>
+-      <item> normal_vectors </item>
+-      <item> no_image </item>
+-      <item> no_reflection </item>
+-      <item> no_shadow </item>
+-      <item> no </item>
+-      <item> number_of_waves </item>
+-      <item> object </item>
+-      <item> octaves </item>
+-      <item> offset </item>
+-      <item> off </item>
+-      <item> omega </item>
+-      <item> omnimax </item>
+-      <item> once </item>
+-      <item> onion </item>
+-      <item> on </item>
+-      <item> open </item>
+-      <item> orientation </item>
+-      <item> orient </item>
+-      <item> orthographic </item>
+-      <item> panoramic </item>
+-      <item> parallel </item>
+-      <item> parametric </item>
+-      <item> pattern </item>
+-      <item> perspective </item>
+-      <item> pgm </item>
+-      <item> phase </item>
+-      <item> phong_size </item>
+-      <item> phong </item>
+-      <item> pigment_map </item>
+-      <item> pigment </item>
+-      <item> pi </item>
+-      <item> planar </item>
+-      <item> plane </item>
+-      <item> png </item>
+-      <item> point_at </item>
+-      <item> polygon </item>
+-      <item> poly </item>
+-      <item> poly_wave </item>
+-      <item> pot </item>
+-      <item> pow </item>
+-      <item> ppm </item>
+-      <item> precision </item>
+-      <item> precompute </item>
+-      <item> pretrace_start </item>
+-      <item> pretrace_end </item>
+-      <item> prism </item>
+-      <item> prod </item>
+-      <item> projected_through </item>
+-      <item> pwr </item>
+-      <item> quadratic_spline </item>
+-      <item> quadric </item>
+-      <item> quartic </item>
+-      <item> quaternion </item>
+-      <item> quick_color </item>
+-      <item> quick_colour </item>
+-      <item> quilted </item>
+-      <item> radial </item>
+-      <item> radians </item>
+-      <item> radiosity </item>
+-      <item> radius </item>
+-      <item> rainbow </item>
+-      <item> ramp_wave </item>
+-      <item> rand </item>
+-      <item> range </item>
+-      <item> ratio </item>
+-      <item> reciprocal </item>
+-      <item> recursion_limit </item>
+-      <item> red </item>
+-      <item> reflection_exponent </item>
+-      <item> reflection </item>
+-      <item> refraction </item>
+-      <item> repeat </item>
+-      <item> rgbft </item>
+-      <item> rgbf </item>
+-      <item> rgbt </item>
+-      <item> rgb </item>
+-      <item> right </item>
+-      <item> ripples </item>
+-      <item> rotate </item>
+-      <item> roughness </item>
+-      <item> samples </item>
+-      <item> save_file </item>
+-      <item> scale </item>
+-      <item> scallop_wave </item>
+-      <item> scattering </item>
+-      <item> seed </item>
+-      <item> select </item>
+-      <item> sine_wave </item>
+-      <item> sinh </item>
+-      <item> sin </item>
+-      <item> size </item>
+-      <item> sky_sphere </item>
+-      <item> sky </item>
+-      <item> slice </item>
+-      <item> slope_map </item>
+-      <item> slope </item>
+-      <item> smooth </item>
+-      <item> smooth_triangle </item>
+-      <item> solid </item>
+-      <item> sor </item>
+-      <item> specular </item>
+-      <item> sphere_sweep </item>
+-      <item> sphere </item>
+-      <item> spherical </item>
+-      <item> spiral1 </item>
+-      <item> spiral2 </item>
+-      <item> spline </item>
+-      <item> spotlight </item>
+-      <item> spotted </item>
+-      <item> sqrt </item>
+-      <item> sqr </item>
+-      <item> statistics </item>
+-      <item> strcmp </item>
+-      <item> strength </item>
+-      <item> strlen </item>
+-      <item> strlwr </item>
+-      <item> strupr </item>
+-      <item> str </item>
+-      <item> sturm </item>
+-      <item> substr </item>
+-      <item> sum </item>
+-      <item> superellipsoid </item>
+-      <item> sys </item>
+-      <item> tanh </item>
+-      <item> tan </item>
+-      <item> texture_list </item>
+-      <item> texture_map </item>
+-      <item> texture </item>
+-      <item> text </item>
+-      <item> tga </item>
+-      <item> thickness </item>
+-      <item> threshold </item>
+-      <item> tiff </item>
+-      <item> tightness </item>
+-      <item> tile2 </item>
+-      <item> tiles </item>
+-      <item> normal </item>
+-      <item> tolerance </item>
+-      <item> toroidal </item>
+-      <item> torus </item>
+-      <item> trace </item>
+-      <item> transform </item>
+-      <item> translate </item>
+-      <item> transmit </item>
+-      <item> triangle </item>
+-      <item> triangle_wave </item>
+-      <item> true </item>
+-      <item> ttf </item>
+-      <item> turbulence </item>
+-      <item> turb_depth </item>
+-      <item> type </item>
+-      <item> t </item>
+-      <item> ultra_wide_angle </item>
+-      <item> union </item>
+-      <item> up </item>
+-      <item> use_alpha </item>
+-      <item> use_color </item>
+-      <item> use_colour </item>
+-      <item> use_index </item>
+-      <item> utf8 </item>
+-      <item> uv_indices </item>
+-      <item> uv_mapping </item>
+-      <item> uv_vectors </item>
+-      <item> u_steps </item>
+-      <item> u </item>
+-      <item> val </item>
+-      <item> variance </item>
+-      <item> vaxis_rotate </item>
+-      <item> vcross </item>
+-      <item> vdot </item>
+-      <item> vertex_vectors </item>
+-      <item> vlength </item>
+-      <item> vnormalize </item>
+-      <item> vrotate </item>
+-      <item> vstr </item>
+-      <item> vturbulence </item>
+-      <item> v_steps </item>
+-      <item> v </item>
+-      <item> warning </item>
+-      <item> warp </item>
+-      <item> water_level </item>
+-      <item> waves </item>
+-      <item> while </item>
+-      <item> width </item>
+-      <item> wood </item>
+-      <item> wrinkles </item>
+-      <item> write </item>
+-      <item> x </item>
+-      <item> yes </item>
+-      <item> y </item>
+-      <item> z </item>
+-      <item> photons </item>
+-      <item> steps </item>
+-      <item> pass_through </item>
+-      <item> collect </item>
+-      <item> autostop </item>
+-      <item> gather </item>
+-      <item> split_union </item>
+-      <item> expand_thresholds </item>
+-      <item> spacing </item>
+-      <item> global </item>
+-      <item> target </item>
+-      <item> conserve_energy </item>
+-      <item> cutaway_textures </item>
+-      <item> pigment_pattern </item>
+-      <item> no_bump_scale </item>
+-      <item> global_lights </item>
+-      <item> internal </item>
+-      <item> noise_generator </item>    
+-    </list>
+-    
+-    <list name="objects">   
+-      <item> bicubic_patch </item>
+-      <item> blob </item>
+-      <item> box </item>
+-      <item> cone </item>
+-      <item> cubic </item>
+-      <item> cylinder </item>
+-      <item> difference </item>
+-      <item> disc </item>
+-      <item> height_field </item>
+-      <item> intersection </item>
+-      <item> isosurface </item>
+-      <item> julia_fractal </item>
+-      <item> lathe </item>
+-      <item> light_source </item>
+-      <item> merge </item>
+-      <item> mesh </item>
+-      <item> mesh2 </item>
+-      <item> object </item>
+-      <item> parametric </item>
+-      <item> plane </item>
+-      <item> poly </item>
+-      <item> polygon </item>
+-      <item> prism </item>
+-      <item> quadric </item>
+-      <item> quartic </item>
+-      <item> smooth_triangle </item>
+-      <item> sor </item>
+-      <item> sphere </item>
+-      <item> sphere_sweep </item>
+-      <item> superellipsoid </item>
+-      <item> text </item>
+-      <item> torus </item>
+-      <item> triangle </item>
+-      <item> union </item>
+-    </list>
+-    
+-    <list name="texturing">
+-      <item> aa_threshold </item>
+-      <item> aa_level </item>
+-      <item> absorption </item>
+-      <item> agate </item>
+-      <item> agate_turb </item>
+-      <item> ambient </item>
+-      <item> average </item>
+-      <item> black_hole </item>
+-      <item> blue </item>
+-      <item> boxed </item>
+-      <item> brick_size </item>
+-      <item> brick </item>
+-      <item> brilliance </item>
+-      <item> bumps </item>
+-      <item> bump_map </item>
+-      <item> bump_size </item>
+-      <item> caustics </item>
+-      <item> cells </item>
+-      <item> checker </item>
+-      <item> color_map </item>
+-      <item> colour_map </item>
+-      <item> color </item>
+-      <item> colour </item>
+-      <item> conserve_energy </item>
+-      <item> control0 </item>
+-      <item> control1 </item>
+-      <item> crackle </item>
+-      <item> crand </item>
+-      <item> cubic_wave </item>
+-      <item> cylindrical </item>
+-      <item> density_file </item>
+-      <item> density_map </item>
+-      <item> density </item>
+-      <item> dents </item>
+-      <item> diffuse </item>
+-      <item> dist_exp </item>
+-      <item> double_illuminate </item>
+-      <item> eccentricity </item>
+-      <item> emission </item>
+-      <item> exponent </item>
+-      <item> exterior </item>
+-      <item> extinction </item>
+-      <item> facets </item>
+-      <item> fade_colour </item>
+-      <item> fade_color </item>
+-      <item> fade_distance </item>
+-      <item> fade_power </item>
+-      <item> filter </item>
+-      <item> finish </item>
+-      <item> form </item>
+-      <item> frequency </item>
+-      <item> fresnel </item>
+-      <item> gradient </item>
+-      <item> granite </item>
+-      <item> gray </item>
+-      <item> green </item>
+-      <item> hexagon </item>
+-      <item> hypercomplex </item>
+-      <item> interior_texture </item>
+-      <item> image_map </item>
+-      <item> image_pattern </item>
+-      <item> interior </item>
+-      <item> interpolate </item>
+-      <item> intervals </item>
+-      <item> ior </item>
+-      <item> irid </item>
+-      <item> irid_wavelength </item>
+-      <item> julia </item>
+-      <item> lambda </item>
+-      <item> leopard </item>
+-      <item> magnet </item>
+-      <item> mandel </item>
+-      <item> map_type </item>
+-      <item> marble </item>
+-      <item> material_map </item>
+-      <item> material </item>
+-      <item> media </item>
+-      <item> metallic </item>
+-      <item> method </item>
+-      <item> metric </item>
+-      <item> mortar </item>
+-      <item> normal </item>
+-      <item> normal_map </item>
+-      <item> number_of_waves </item>
+-      <item> octaves </item>
+-      <item> omega </item>
+-      <item> once </item>
+-      <item> onion </item>
+-      <item> orientation </item>
+-      <item> phase </item>
+-      <item> phong_size </item>
+-      <item> phong </item>
+-      <item> pigment_map </item>
+-      <item> pigment </item>
+-      <item> planar </item>
+-      <item> quaternion </item>
+-      <item> quick_color </item>
+-      <item> quick_colour </item>
+-      <item> quilted </item>
+-      <item> radial </item>
+-      <item> ramp_wave </item>
+-      <item> red </item>
+-      <item> reflection_exponent </item>
+-      <item> reflection </item>
+-      <item> repeat </item>
+-      <item> rgbft </item>
+-      <item> rgbf </item>
+-      <item> rgbt </item>
+-      <item> rgb </item>
+-      <item> ripples </item>
+-      <item> roughness </item>
+-      <item> samples </item>
+-      <item> scallop_wave </item>
+-      <item> scattering </item>
+-      <item> sine_wave </item>
+-      <item> slope_map </item>
+-      <item> slope </item>
+-      <item> solid </item>
+-      <item> specular </item>
+-      <item> spherical </item>
+-      <item> spiral1 </item>
+-      <item> spiral2 </item>
+-      <item> spotted </item>
+-      <item> texture_list </item>
+-      <item> texture_map </item>
+-      <item> texture </item>
+-      <item> tile2 </item>
+-      <item> tiles </item>
+-      <item> normal </item>
+-      <item> toroidal </item>
+-      <item> transmit </item>
+-      <item> triangle_wave </item>
+-      <item> turbulence </item>
+-      <item> turb_depth </item>
+-      <item> use_alpha </item>
+-      <item> use_color </item>
+-      <item> use_colour </item>
+-      <item> use_index </item>
+-      <item> uv_mapping </item>
+-      <item> warp </item>
+-      <item> waves </item>
+-      <item> wood </item>
+-      <item> wrinkles </item>
+-      <item> cutaway_textures </item>
+-      <item> pigment_pattern </item>
+-      <item> no_bump_scale </item>    
+-    </list>    
+-
+-    <list name="transforms">
+-      <item> matrix </item>
+-      <item> rotate </item>
+-      <item> scale </item>
+-      <item> translate </item>
+-      <item> transform </item>
+-    </list>
+-
+-    <list name="filetypes">
+-      <item> df3 </item>
+-      <item> gif </item>
+-      <item> iff </item>
+-      <item> jpeg </item>
+-      <item> pgm </item>
+-      <item> png </item>
+-      <item> pot </item>
+-      <item> ppm </item>
+-      <item> tga </item>
+-      <item> tiff </item>
+-      <item> ttf </item>
+-    </list>
+-
+-    <list name="identifiers">
+-      <item> clock </item>
+-      <item> clock_delta </item>
+-      <item> clock_on </item>
+-      <item> final_clock </item>
+-      <item> final_frame </item>
+-      <item> frame_number </item>
+-      <item> image_height </item>
+-      <item> image_width </item>
+-      <item> initial_clock </item>
+-      <item> initial_frame </item>
+-      <item> t </item>
+-      <item> u </item>
+-      <item> v </item>
+-      <item> x </item>
+-      <item> y </item>
+-      <item> z </item>
+-    </list>
+-
+-    <list name="constants">
+-      <item> false </item>
+-      <item> no </item>
+-      <item> off </item>
+-      <item> on </item>
+-      <item> pi </item>
+-      <item> true </item>
+-      <item> yes </item>
+-    </list>
+-
+-    <list name="functions">
+-      <item> abs </item>
+-      <item> acos </item>
+-      <item> acosh </item>
+-      <item> asc </item>
+-      <item> asin </item>
+-      <item> asinh </item>
+-      <item> atan </item>
+-      <item> atan2 </item>
+-      <item> atanh </item>
+-      <item> ceil </item>
+-      <item> chr </item>
+-      <item> concat </item>
+-      <item> cos </item>
+-      <item> cosh </item>
+-      <item> cube </item>
+-      <item> defined </item>
+-      <item> degress </item>
+-      <item> dimension_size </item>
+-      <item> dimensions </item>
+-      <item> div </item>
+-      <item> exp </item>
+-      <item> file_exists </item>
+-      <item> floor </item>
+-      <item> inside </item>
+-      <item> int </item>
+-      <item> ln </item>
+-      <item> log </item>
+-      <item> max </item>
+-      <item> min </item>
+-      <item> mod </item>
+-      <item> pow </item>
+-      <item> prod </item>
+-      <item> pwr </item>
+-      <item> radians </item>
+-      <item> rand </item>
+-      <item> seed </item>
+-      <item> select </item>
+-      <item> sin </item>
+-      <item> sinh </item>
+-      <item> sqrt </item>
+-      <item> str </item>
+-      <item> strcmp </item>
+-      <item> strlen </item>
+-      <item> strlwr </item>
+-      <item> strupr </item>
+-      <item> substr </item>
+-      <item> sum </item>
+-      <item> tan </item>
+-      <item> tanh </item>
+-      <item> trace </item>
+-      <item> val </item>
+-      <item> vaxis_rotate </item>
+-      <item> vcross </item>
+-      <item> vdot </item>
+-      <item> vlength </item>
+-      <item> vnormalize </item>
+-      <item> vrotate </item>
+-      <item> vstr </item>
+-      <item> vturbulence </item>
+-    </list>
+-
+-    <list name="directives">
+-      <item> #debug </item>
+-      <item> #default </item>
+-      <item> #else </item>
+-      <item> #end </item>
+-      <item> #error </item>
+-      <item> #fclose </item>
+-      <item> #fopen </item>
+-      <item> #if </item>
+-      <item> #ifdef </item>
+-      <item> #ifndef </item>
+-      <item> #include </item>
+-      <item> #range </item>
+-      <item> #read </item>
+-      <item> #render </item>
+-      <item> #statistics </item>
+-      <item> #switch </item>
+-      <item> #undef </item>
+-      <item> #version </item>
+-      <item> #warning </item>
+-      <item> #while </item>
+-      <item> #write </item>
+-    </list>
+-
+-    <list name="attention">
+-      <item> FIXME </item>
+-      <item> TODO </item>
+-      <item> ### </item>
+-    </list>
+-
+-    <contexts>
+-      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+-        <StringDetect attribute="Declaration" context="Declaration" String="#declare" />
+-        <StringDetect attribute="Declaration" context="Declaration" String="#local" />
+-        <StringDetect attribute="Macro" context="Macro" String="#macro" />
+-        <keyword attribute="Objects" context="#stay" String="objects" />
+-        <keyword attribute="Texturing" context="#stay" String="texturing" />
+-        <keyword attribute="Transforms" context="#stay" String="transforms" />
+-        <keyword attribute="Filetype" context="#stay" String="filetypes" />
+-        <keyword attribute="Keyword" context="#stay" String="identifiers" />
+-        <keyword attribute="Constant" context="#stay" String="constants" />
+-        <keyword attribute="Functions" context="#stay" String="functions" />
+-        <keyword attribute="Directives" context="#stay" String="directives" />
+-        <keyword attribute="Keyword" context="#stay" String="keywords" />
+-        <Float attribute="Float" context="#stay"/>
+-        <Int attribute="Float" context="#stay"/>     
+-        <HlCChar attribute="Char" context="#stay"/>
+-        <DetectChar attribute="String" context="String" char="&quot;"/>
+-        <RegExpr attribute="Region Marker" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1" firstNonSpace="true"/>
+-        <RegExpr attribute="Region Marker" context="#stay" String="//\s*END.*$" endRegion="Region1" firstNonSpace="true"/>
+-        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+-        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+-        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+-        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+-        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
+-      </context>
+-
+-      <context attribute="Declaration" lineEndContext="#pop" name="Declaration">      
+-        <RegExpr attribute="Declare Keyword" context="Declare_Keyword" String="\w+" />
+-        <LineContinue attribute="Declaration" context="#stay"/>
+-        <AnyChar attribute="Symbol" context="#pop#pop" String="=[("/>
+-      </context>
+-      
+-      <context attribute="Macro" lineEndContext="#pop" name="Macro">      
+-        <RegExpr attribute="Declare Macro" context="Declare_Macro" String="\w+" />
+-        <LineContinue attribute="Macro" context="#stay"/>
+-        <DetectChar attribute="Symbol" context="#pop#pop" char="("/>
+-      </context>
+-      
+-      <context attribute="Declare Keyword" lineEndContext="#pop" name="Declare_Keyword">      
+-        <LineContinue attribute="Declare Keyword" context="#stay"/>
+-        <AnyChar attribute="Symbol" context="#pop#pop" String="=[("/>
+-      </context> 
+-      
+-      <context attribute="Declare Macro" lineEndContext="#pop" name="Declare_Macro">      
+-        <LineContinue attribute="Declare Macro" context="#stay"/>
+-        <DetectChar attribute="Symbol" context="#pop#pop" char="("/>
+-      </context>  
+-      
+-      <context attribute="String" lineEndContext="#pop" name="String">
+-        <LineContinue attribute="String" context="#stay"/>
+-        <HlCStringChar attribute="String Char" context="#stay"/>
+-        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+-      </context>
+-
+-      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+-        <keyword attribute="Decimal" context="#stay" String="attention" />
+-      </context>
+-
+-      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+-        <keyword attribute="Decimal" context="#stay" String="attention" />
+-        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+-      </context>
+-
+-      <context attribute="Comment" lineEndContext="#stay" name="Commentar">
+-        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+-      </context>
+-    </contexts>
+-
+-    <itemDatas>
+-      <itemData name="Normal Text"     defStyleNum="dsNormal"   color="#000000" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Keyword"         defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Objects"         defStyleNum="dsKeyword"  color="#800000" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Texturing"       defStyleNum="dsKeyword"  color="#008080" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Transforms"      defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Declaration"     defStyleNum="dsKeyword"  color="#000080" selColor="#000080" bold="1" italic="0"/>
+-      <itemData name="Macro"           defStyleNum="dsKeyword"  color="#000080" selColor="#000080" bold="1" italic="0"/>
+-      <itemData name="Declare Keyword" defStyleNum="dsKeyword"  color="#990099" selColor="#990099" bold="1" italic="0"/>
+-      <itemData name="Declare Macro"   defStyleNum="dsKeyword"  color="#CC0000" selColor="#990099" bold="1" italic="0"/>
+-      <itemData name="Functions"       defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Directives"      defStyleNum="dsOthers"   color="#3300ff" selColor="#3300ff" bold="1" italic="0"/>
+-      <itemData name="Filetype"        defStyleNum="dsDataType" color="#000080" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Constant"        defStyleNum="dsFloat"    color="#0000ff" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Float"           defStyleNum="dsFloat"    color="#0000ff" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="Char"            defStyleNum="dsChar"     color="#000080" selColor="#ffffff" bold="0" italic="0"/>
+-      <itemData name="String"          defStyleNum="dsString"   color="#ff0000" selColor="#ff0000" bold="0" italic="0"/>
+-      <itemData name="String Char"     defStyleNum="dsChar"     color="#ff00ff" selColor="#ff00ff" bold="0" italic="0"/>
+-      <itemData name="Comment"         defStyleNum="dsComment"  color="#008000" selColor="#008000" bold="0" italic="0"/>
+-      <itemData name="Symbol"          defStyleNum="dsNormal"   color="#660099" selColor="#660099" bold="0" italic="0"/>
+-      <itemData name="Region Marker"   defStyleNum="dsRegionMarker"/>
+-<!--      <itemData name="Region Marker" defStyleNum="dsRegionMarker" />-->
+-    </itemDatas>
+-  </highlighting>
+-
+-  <general>
+-    <comments>
+-      <comment name="singleLine" start="//" />
+-      <comment name="multiLine" start="/*" end="*/" />
+-    </comments>
+-    <keywords casesensitive="1" />
+-  </general>
++<!-- v1.1: added MegaPOV 1.2.1 keywords (Febuary 2006)          -->
++<language name="POV-Ray" version="1.1" kateversion="2.4" section="Other" extensions="*.inc;*.pov" mimetype="text/x-povray-script;text/x-povray-include" author="Christoph Hormann (chris_hormann@gmx.de)" license="LGPL" priority="2">
++      <highlighting>
++              <list name="keywords">
++                      <item> aa_threshold </item>
++                      <item> aa_level </item>
++                      <item> absorption </item>
++                      <item> abs </item>
++                      <item> accuracy </item>
++                      <item> acosh </item>
++                      <item> acos </item>
++                      <item> adaptive </item>
++                      <item> adc_bailout </item>
++                      <item> agate </item>
++                      <item> agate_turb </item>
++                      <item> all_intersections </item>
++                      <item> all </item>
++                      <item> alpha </item>
++                      <item> always_sample </item>
++                      <item> altitude </item>
++                      <item> ambient_light </item>
++                      <item> ambient </item>
++                      <item> angle </item>
++                      <item> aperture </item>
++                      <item> append </item>
++                      <item> arc_angle </item>
++                      <item> area_light </item>
++                      <item> array </item>
++                      <item> ascii </item>
++                      <item> asc </item>
++                      <item> asinh </item>
++                      <item> asin </item>
++                      <item> assumed_gamma </item>
++                      <item> atan2 </item>
++                      <item> atanh </item>
++                      <item> atan </item>
++                      <item> average </item>
++                      <item> background </item>
++                      <item> bezier_spline </item>
++                      <item> bicubic_patch </item>
++                      <item> black_hole </item>
++                      <item> blob </item>
++                      <item> blue </item>
++                      <item> blur_samples </item>
++                      <item> bounded_by </item>
++                      <item> boxed </item>
++                      <item> box </item>
++                      <item> bozo </item>
++                      <item> brick_size </item>
++                      <item> brick </item>
++                      <item> brightness </item>
++                      <item> brilliance </item>
++                      <item> bumps </item>
++                      <item> bump_map </item>
++                      <item> bump_size </item>
++                      <item> b_spline </item>
++                      <item> camera </item>
++                      <item> caustics </item>
++                      <item> ceil </item>
++                      <item> cells </item>
++                      <item> charset </item>
++                      <item> checker </item>
++                      <item> chr </item>
++                      <item> circular </item>
++                      <item> clipped_by </item>
++                      <item> clock_delta </item>
++                      <item> clock_on </item>
++                      <item> clock </item>
++                      <item> color_map </item>
++                      <item> colour_map </item>
++                      <item> color </item>
++                      <item> colour </item>
++                      <item> component </item>
++                      <item> composite </item>
++                      <item> concat </item>
++                      <item> cone </item>
++                      <item> confidence </item>
++                      <item> conic_sweep </item>
++                      <item> contained_by </item>
++                      <item> control0 </item>
++                      <item> control1 </item>
++                      <item> coords </item>
++                      <item> cosh </item>
++                      <item> cos </item>
++                      <item> count </item>
++                      <item> crackle </item>
++                      <item> crand </item>
++                      <item> cube </item>
++                      <item> cubic_spline </item>
++                      <item> cubic </item>
++                      <item> cubic_wave </item>
++                      <item> cylinder </item>
++                      <item> cylindrical </item>
++                      <item> defined </item>
++                      <item> degrees </item>
++                      <item> density_file </item>
++                      <item> density_map </item>
++                      <item> density </item>
++                      <item> dents </item>
++                      <item> df3 </item>
++                      <item> difference </item>
++                      <item> diffuse </item>
++                      <item> dimensions </item>
++                      <item> dimension_size </item>
++                      <item> direction </item>
++                      <item> disc </item>
++                      <item> dispersion </item>
++                      <item> dispersion_samples </item>
++                      <item> distance_maximum </item>
++                      <item> distance </item>
++                      <item> dist_exp </item>
++                      <item> div </item>
++                      <item> double_illuminate </item>
++                      <item> eccentricity </item>
++                      <item> emission </item>
++                      <item> error_bound </item>
++                      <item> evaluate </item>
++                      <item> exp </item>
++                      <item> exponent </item>
++                      <item> exterior </item>
++                      <item> extinction </item>
++                      <item> facets </item>
++                      <item> face_indices </item>
++                      <item> fade_colour </item>
++                      <item> fade_color </item>
++                      <item> fade_distance </item>
++                      <item> fade_power </item>
++                      <item> falloff_angle </item>
++                      <item> falloff </item>
++                      <item> false </item>
++                      <item> file_exists </item>
++                      <item> shadowless </item>
++                      <item> filter </item>
++                      <item> final_clock </item>
++                      <item> final_frame </item>
++                      <item> finish </item>
++                      <item> fisheye </item>
++                      <item> flatness </item>
++                      <item> flip </item>
++                      <item> floor </item>
++                      <item> focal_point </item>
++                      <item> fog_alt </item>
++                      <item> fog_offset </item>
++                      <item> fog </item>
++                      <item> fog_type </item>
++                      <item> form </item>
++                      <item> frame_number </item>
++                      <item> frequency </item>
++                      <item> fresnel </item>
++                      <item> function </item>
++                      <item> gif </item>
++                      <item> global_settings </item>
++                      <item> gradient </item>
++                      <item> granite </item>
++                      <item> gray </item>
++                      <item> gray_threshold </item>
++                      <item> green </item>
++                      <item> height_field </item>
++                      <item> hexagon </item>
++                      <item> hf_gray_16 </item>
++                      <item> hierarchy </item>
++                      <item> hollow </item>
++                      <item> hypercomplex </item>
++                      <item> image_width </item>
++                      <item> image_height </item>
++                      <item> initial_clock </item>
++                      <item> initial_frame </item>
++                      <item> interior_texture </item>
++                      <item> iff </item>
++                      <item> image_map </item>
++                      <item> image_pattern </item>
++                      <item> inside </item>
++                      <item> inside_vector </item>
++                      <item> interior </item>
++                      <item> interpolate </item>
++                      <item> intersection </item>
++                      <item> intervals </item>
++                      <item> int </item>
++                      <item> inverse </item>
++                      <item> ior </item>
++                      <item> irid </item>
++                      <item> irid_wavelength </item>
++                      <item> isosurface </item>
++                      <item> jitter </item>
++                      <item> julia </item>
++                      <item> julia_fractal </item>
++                      <item> jpeg </item>
++                      <item> lambda </item>
++                      <item> lathe </item>
++                      <item> leopard </item>
++                      <item> light_group </item>
++                      <item> light_source </item>
++                      <item> linear_spline </item>
++                      <item> linear_sweep </item>
++                      <item> ln </item>
++                      <item> load_file </item>
++                      <item> location </item>
++                      <item> log </item>
++                      <item> looks_like </item>
++                      <item> look_at </item>
++                      <item> low_error_factor </item>
++                      <item> magnet </item>
++                      <item> major_radius </item>
++                      <item> mandel </item>
++                      <item> map_type </item>
++                      <item> marble </item>
++                      <item> material_map </item>
++                      <item> material </item>
++                      <item> matrix </item>
++                      <item> max_extent </item>
++                      <item> max_gradient </item>
++                      <item> max_intersections </item>
++                      <item> max_iteration </item>
++                      <item> max_sample </item>
++                      <item> max </item>
++                      <item> max_trace_level </item>
++                      <item> max_trace </item>
++                      <item> media_attenuation </item>
++                      <item> media_interaction </item>
++                      <item> media </item>
++                      <item> merge </item>
++                      <item> mesh2 </item>
++                      <item> mesh </item>
++                      <item> metallic </item>
++                      <item> method </item>
++                      <item> metric </item>
++                      <item> minimum_reuse </item>
++                      <item> min_extent </item>
++                      <item> min </item>
++                      <item> mod </item>
++                      <item> mortar </item>
++                      <item> natural_spline </item>
++                      <item> nearest_count </item>
++                      <item> normal </item>
++                      <item> normal_indices </item>
++                      <item> normal_map </item>
++                      <item> normal_vectors </item>
++                      <item> no_image </item>
++                      <item> no_reflection </item>
++                      <item> no_shadow </item>
++                      <item> no </item>
++                      <item> number_of_waves </item>
++                      <item> object </item>
++                      <item> octaves </item>
++                      <item> offset </item>
++                      <item> off </item>
++                      <item> omega </item>
++                      <item> omnimax </item>
++                      <item> once </item>
++                      <item> onion </item>
++                      <item> on </item>
++                      <item> open </item>
++                      <item> orientation </item>
++                      <item> orient </item>
++                      <item> orthographic </item>
++                      <item> panoramic </item>
++                      <item> parallel </item>
++                      <item> parametric </item>
++                      <item> pattern </item>
++                      <item> perspective </item>
++                      <item> pgm </item>
++                      <item> phase </item>
++                      <item> phong_size </item>
++                      <item> phong </item>
++                      <item> pigment_map </item>
++                      <item> pigment </item>
++                      <item> pi </item>
++                      <item> planar </item>
++                      <item> plane </item>
++                      <item> png </item>
++                      <item> point_at </item>
++                      <item> polygon </item>
++                      <item> poly </item>
++                      <item> poly_wave </item>
++                      <item> pot </item>
++                      <item> pow </item>
++                      <item> ppm </item>
++                      <item> precision </item>
++                      <item> precompute </item>
++                      <item> pretrace_start </item>
++                      <item> pretrace_end </item>
++                      <item> prism </item>
++                      <item> prod </item>
++                      <item> projected_through </item>
++                      <item> pwr </item>
++                      <item> quadratic_spline </item>
++                      <item> quadric </item>
++                      <item> quartic </item>
++                      <item> quaternion </item>
++                      <item> quick_color </item>
++                      <item> quick_colour </item>
++                      <item> quilted </item>
++                      <item> radial </item>
++                      <item> radians </item>
++                      <item> radiosity </item>
++                      <item> radius </item>
++                      <item> rainbow </item>
++                      <item> ramp_wave </item>
++                      <item> rand </item>
++                      <item> range </item>
++                      <item> ratio </item>
++                      <item> reciprocal </item>
++                      <item> recursion_limit </item>
++                      <item> red </item>
++                      <item> reflection_exponent </item>
++                      <item> reflection </item>
++                      <item> refraction </item>
++                      <item> repeat </item>
++                      <item> rgbft </item>
++                      <item> rgbf </item>
++                      <item> rgbt </item>
++                      <item> rgb </item>
++                      <item> right </item>
++                      <item> ripples </item>
++                      <item> rotate </item>
++                      <item> roughness </item>
++                      <item> samples </item>
++                      <item> save_file </item>
++                      <item> scale </item>
++                      <item> scallop_wave </item>
++                      <item> scattering </item>
++                      <item> seed </item>
++                      <item> select </item>
++                      <item> sine_wave </item>
++                      <item> sinh </item>
++                      <item> sin </item>
++                      <item> size </item>
++                      <item> sky_sphere </item>
++                      <item> sky </item>
++                      <item> slice </item>
++                      <item> slope_map </item>
++                      <item> slope </item>
++                      <item> smooth </item>
++                      <item> smooth_triangle </item>
++                      <item> solid </item>
++                      <item> sor </item>
++                      <item> specular </item>
++                      <item> sphere_sweep </item>
++                      <item> sphere </item>
++                      <item> spherical </item>
++                      <item> spiral1 </item>
++                      <item> spiral2 </item>
++                      <item> spline </item>
++                      <item> spotlight </item>
++                      <item> spotted </item>
++                      <item> sqrt </item>
++                      <item> sqr </item>
++                      <item> statistics </item>
++                      <item> strcmp </item>
++                      <item> strength </item>
++                      <item> strlen </item>
++                      <item> strlwr </item>
++                      <item> strupr </item>
++                      <item> str </item>
++                      <item> sturm </item>
++                      <item> substr </item>
++                      <item> sum </item>
++                      <item> superellipsoid </item>
++                      <item> sys </item>
++                      <item> tanh </item>
++                      <item> tan </item>
++                      <item> texture_list </item>
++                      <item> texture_map </item>
++                      <item> texture </item>
++                      <item> text </item>
++                      <item> tga </item>
++                      <item> thickness </item>
++                      <item> threshold </item>
++                      <item> tiff </item>
++                      <item> tightness </item>
++                      <item> tile2 </item>
++                      <item> tiles </item>
++                      <item> normal </item>
++                      <item> tolerance </item>
++                      <item> toroidal </item>
++                      <item> torus </item>
++                      <item> trace </item>
++                      <item> transform </item>
++                      <item> translate </item>
++                      <item> transmit </item>
++                      <item> triangle </item>
++                      <item> triangle_wave </item>
++                      <item> true </item>
++                      <item> ttf </item>
++                      <item> turbulence </item>
++                      <item> turb_depth </item>
++                      <item> type </item>
++                      <item> t </item>
++                      <item> ultra_wide_angle </item>
++                      <item> union </item>
++                      <item> up </item>
++                      <item> use_alpha </item>
++                      <item> use_color </item>
++                      <item> use_colour </item>
++                      <item> use_index </item>
++                      <item> utf8 </item>
++                      <item> uv_indices </item>
++                      <item> uv_mapping </item>
++                      <item> uv_vectors </item>
++                      <item> u_steps </item>
++                      <item> u </item>
++                      <item> val </item>
++                      <item> variance </item>
++                      <item> vaxis_rotate </item>
++                      <item> vcross </item>
++                      <item> vdot </item>
++                      <item> vertex_vectors </item>
++                      <item> vlength </item>
++                      <item> vnormalize </item>
++                      <item> vrotate </item>
++                      <item> vstr </item>
++                      <item> vturbulence </item>
++                      <item> v_steps </item>
++                      <item> v </item>
++                      <item> warning </item>
++                      <item> warp </item>
++                      <item> water_level </item>
++                      <item> waves </item>
++                      <item> while </item>
++                      <item> width </item>
++                      <item> wood </item>
++                      <item> wrinkles </item>
++                      <item> write </item>
++                      <item> x </item>
++                      <item> yes </item>
++                      <item> y </item>
++                      <item> z </item>
++                      <item> photons </item>
++                      <item> steps </item>
++                      <item> pass_through </item>
++                      <item> collect </item>
++                      <item> autostop </item>
++                      <item> gather </item>
++                      <item> split_union </item>
++                      <item> expand_thresholds </item>
++                      <item> spacing </item>
++                      <item> global </item>
++                      <item> target </item>
++                      <item> conserve_energy </item>
++                      <item> cutaway_textures </item>
++                      <item> pigment_pattern </item>
++                      <item> no_bump_scale </item>
++                      <item> global_lights </item>
++                      <item> internal </item>
++                      <item> noise_generator </item>
++              </list>
++              <list name="unofficial">
++                      <item> akima_spline </item>
++                      <item> aoi </item>
++                      <item> basic_x_spline </item>
++                      <item> camera_view </item>
++                      <item> displace </item>
++                      <item> exposure </item>
++                      <item> exposure_gain </item>
++                      <item> extended_x_spline </item>
++                      <item> float </item>
++                      <item> frame_step </item>
++                      <item> date </item>
++                      <item> start_chrono </item>
++                      <item> current_chrono </item>
++                      <item> general_x_spline </item>
++                      <item> glow </item>
++                      <item> h_align_left </item>
++                      <item> h_align_right </item>
++                      <item> h_align_center </item>
++                      <item> v_align_top </item>
++                      <item> v_align_bottom </item>
++                      <item> v_align_center </item>
++                      <item> inverted_normals </item>
++                      <item> is </item>
++                      <item> listed </item>
++                      <item> mpeg </item>
++                      <item> n_roots </item>
++                      <item> noise_pigment </item>
++                      <item> output_filename </item>
++                      <item> post_process </item>
++                      <item> projection </item>
++                      <item> point </item>
++                      <item> blur </item>
++                      <item> set </item>
++                      <item> sor_spline </item>
++                      <item> string </item>
++                      <item> structure </item>
++                      <item> tcb_spline </item>
++                      <item> tension </item>
++                      <item> continuity </item>
++                      <item> bias </item>
++                      <item> user_defined </item>
++                      <item> vector </item>
++                      <item> unofficial_version </item>
++                      <item> gravity </item>
++                      <item> environment </item>
++                      <item> friction </item>
++                      <item> damping </item>
++                      <item> simcloth </item>
++                      <item> wind </item>
++                      <item> neighbors </item>
++                      <item> neighbours </item>
++                      <item> internal_collision </item>
++                      <item> viscosity </item>
++                      <item> iterations </item>
++                      <item> input </item>
++                      <item> mesh_output </item>
++                      <item> smooth_mesh </item>
++                      <item> uv_mesh </item>
++                      <item> output </item>
++                      <item> stiffness </item>
++                      <item> topology </item>
++                      <item> mass </item>
++                      <item> connection </item>
++                      <item> face </item>
++                      <item> velocity </item>
++                      <item> position </item>
++                      <item> mass_count </item>
++                      <item> connection_count </item>
++                      <item> face_count </item>
++                      <item> index1 </item>
++                      <item> index2 </item>
++                      <item> index3 </item>
++                      <item> time </item>
++                      <item> time_step </item>
++                      <item> step_count </item>
++                      <item> start_time </item>
++                      <item> end_time </item>
++                      <item> fixed </item>
++                      <item> collision </item>
++                      <item> interaction </item>
++                      <item> group </item>
++                      <item> attach </item>
++                      <item> field </item>
++                      <item> mechsim </item>
++                      <item> bounding </item>
++                      <item> viscoelastic </item>
++                      <item> viscoelastic_count </item>
++                      <item> element </item>
++                      <item> length </item>
++                      <item> force </item>
++                      <item> message </item>
++                      <item> weight </item>
++                      <item> randomize </item>
++                      <item> hdr </item>
++                      <item> no_radiosity </item>
++                      <item> motion_blur </item>
++                      <item> tone_mapping </item>
++                      <item> show_samples </item>
++                      <item> show_low_count </item>
++              </list>
++              <list name="objects">
++                      <item> bicubic_patch </item>
++                      <item> blob </item>
++                      <item> box </item>
++                      <item> cone </item>
++                      <item> cubic </item>
++                      <item> cylinder </item>
++                      <item> difference </item>
++                      <item> disc </item>
++                      <item> height_field </item>
++                      <item> intersection </item>
++                      <item> isosurface </item>
++                      <item> julia_fractal </item>
++                      <item> lathe </item>
++                      <item> light_source </item>
++                      <item> merge </item>
++                      <item> mesh </item>
++                      <item> mesh2 </item>
++                      <item> object </item>
++                      <item> parametric </item>
++                      <item> plane </item>
++                      <item> poly </item>
++                      <item> polygon </item>
++                      <item> prism </item>
++                      <item> quadric </item>
++                      <item> quartic </item>
++                      <item> smooth_triangle </item>
++                      <item> sor </item>
++                      <item> sphere </item>
++                      <item> sphere_sweep </item>
++                      <item> superellipsoid </item>
++                      <item> text </item>
++                      <item> torus </item>
++                      <item> triangle </item>
++                      <item> union </item>
++              </list>
++              <list name="texturing">
++                      <item> aa_threshold </item>
++                      <item> aa_level </item>
++                      <item> absorption </item>
++                      <item> agate </item>
++                      <item> agate_turb </item>
++                      <item> ambient </item>
++                      <item> average </item>
++                      <item> black_hole </item>
++                      <item> blue </item>
++                      <item> boxed </item>
++                      <item> brick_size </item>
++                      <item> brick </item>
++                      <item> brilliance </item>
++                      <item> bumps </item>
++                      <item> bump_map </item>
++                      <item> bump_size </item>
++                      <item> caustics </item>
++                      <item> cells </item>
++                      <item> checker </item>
++                      <item> color_map </item>
++                      <item> colour_map </item>
++                      <item> color </item>
++                      <item> colour </item>
++                      <item> conserve_energy </item>
++                      <item> control0 </item>
++                      <item> control1 </item>
++                      <item> crackle </item>
++                      <item> crand </item>
++                      <item> cubic_wave </item>
++                      <item> cylindrical </item>
++                      <item> density_file </item>
++                      <item> density_map </item>
++                      <item> density </item>
++                      <item> dents </item>
++                      <item> diffuse </item>
++                      <item> dist_exp </item>
++                      <item> double_illuminate </item>
++                      <item> eccentricity </item>
++                      <item> emission </item>
++                      <item> exponent </item>
++                      <item> exterior </item>
++                      <item> extinction </item>
++                      <item> facets </item>
++                      <item> fade_colour </item>
++                      <item> fade_color </item>
++                      <item> fade_distance </item>
++                      <item> fade_power </item>
++                      <item> filter </item>
++                      <item> finish </item>
++                      <item> form </item>
++                      <item> frequency </item>
++                      <item> fresnel </item>
++                      <item> gradient </item>
++                      <item> granite </item>
++                      <item> gray </item>
++                      <item> green </item>
++                      <item> hexagon </item>
++                      <item> hypercomplex </item>
++                      <item> interior_texture </item>
++                      <item> image_map </item>
++                      <item> image_pattern </item>
++                      <item> interior </item>
++                      <item> interpolate </item>
++                      <item> intervals </item>
++                      <item> ior </item>
++                      <item> irid </item>
++                      <item> irid_wavelength </item>
++                      <item> julia </item>
++                      <item> lambda </item>
++                      <item> leopard </item>
++                      <item> magnet </item>
++                      <item> mandel </item>
++                      <item> map_type </item>
++                      <item> marble </item>
++                      <item> material_map </item>
++                      <item> material </item>
++                      <item> media </item>
++                      <item> metallic </item>
++                      <item> method </item>
++                      <item> metric </item>
++                      <item> mortar </item>
++                      <item> normal </item>
++                      <item> normal_map </item>
++                      <item> number_of_waves </item>
++                      <item> octaves </item>
++                      <item> omega </item>
++                      <item> once </item>
++                      <item> onion </item>
++                      <item> orientation </item>
++                      <item> phase </item>
++                      <item> phong_size </item>
++                      <item> phong </item>
++                      <item> pigment_map </item>
++                      <item> pigment </item>
++                      <item> planar </item>
++                      <item> quaternion </item>
++                      <item> quick_color </item>
++                      <item> quick_colour </item>
++                      <item> quilted </item>
++                      <item> radial </item>
++                      <item> ramp_wave </item>
++                      <item> red </item>
++                      <item> reflection_exponent </item>
++                      <item> reflection </item>
++                      <item> repeat </item>
++                      <item> rgbft </item>
++                      <item> rgbf </item>
++                      <item> rgbt </item>
++                      <item> rgb </item>
++                      <item> ripples </item>
++                      <item> roughness </item>
++                      <item> samples </item>
++                      <item> scallop_wave </item>
++                      <item> scattering </item>
++                      <item> sine_wave </item>
++                      <item> slope_map </item>
++                      <item> slope </item>
++                      <item> solid </item>
++                      <item> specular </item>
++                      <item> spherical </item>
++                      <item> spiral1 </item>
++                      <item> spiral2 </item>
++                      <item> spotted </item>
++                      <item> texture_list </item>
++                      <item> texture_map </item>
++                      <item> texture </item>
++                      <item> tile2 </item>
++                      <item> tiles </item>
++                      <item> normal </item>
++                      <item> toroidal </item>
++                      <item> transmit </item>
++                      <item> triangle_wave </item>
++                      <item> turbulence </item>
++                      <item> turb_depth </item>
++                      <item> use_alpha </item>
++                      <item> use_color </item>
++                      <item> use_colour </item>
++                      <item> use_index </item>
++                      <item> uv_mapping </item>
++                      <item> warp </item>
++                      <item> waves </item>
++                      <item> wood </item>
++                      <item> wrinkles </item>
++                      <item> cutaway_textures </item>
++                      <item> pigment_pattern </item>
++                      <item> no_bump_scale </item>
++              </list>
++              <list name="transforms">
++                      <item> matrix </item>
++                      <item> rotate </item>
++                      <item> scale </item>
++                      <item> translate </item>
++                      <item> transform </item>
++              </list>
++              <list name="filetypes">
++                      <item> df3 </item>
++                      <item> gif </item>
++                      <item> iff </item>
++                      <item> jpeg </item>
++                      <item> pgm </item>
++                      <item> png </item>
++                      <item> pot </item>
++                      <item> ppm </item>
++                      <item> tga </item>
++                      <item> tiff </item>
++                      <item> ttf </item>
++              </list>
++              <list name="identifiers">
++                      <item> clock </item>
++                      <item> clock_delta </item>
++                      <item> clock_on </item>
++                      <item> final_clock </item>
++                      <item> final_frame </item>
++                      <item> frame_number </item>
++                      <item> image_height </item>
++                      <item> image_width </item>
++                      <item> initial_clock </item>
++                      <item> initial_frame </item>
++                      <item> t </item>
++                      <item> u </item>
++                      <item> v </item>
++                      <item> x </item>
++                      <item> y </item>
++                      <item> z </item>
++              </list>
++              <list name="constants">
++                      <item> false </item>
++                      <item> no </item>
++                      <item> off </item>
++                      <item> on </item>
++                      <item> pi </item>
++                      <item> true </item>
++                      <item> yes </item>
++              </list>
++              <list name="functions">
++                      <item> abs </item>
++                      <item> acos </item>
++                      <item> acosh </item>
++                      <item> asc </item>
++                      <item> asin </item>
++                      <item> asinh </item>
++                      <item> atan </item>
++                      <item> atan2 </item>
++                      <item> atanh </item>
++                      <item> ceil </item>
++                      <item> chr </item>
++                      <item> concat </item>
++                      <item> cos </item>
++                      <item> cosh </item>
++                      <item> cube </item>
++                      <item> defined </item>
++                      <item> degress </item>
++                      <item> dimension_size </item>
++                      <item> dimensions </item>
++                      <item> div </item>
++                      <item> exp </item>
++                      <item> file_exists </item>
++                      <item> floor </item>
++                      <item> inside </item>
++                      <item> int </item>
++                      <item> ln </item>
++                      <item> log </item>
++                      <item> max </item>
++                      <item> min </item>
++                      <item> mod </item>
++                      <item> pow </item>
++                      <item> prod </item>
++                      <item> pwr </item>
++                      <item> radians </item>
++                      <item> rand </item>
++                      <item> seed </item>
++                      <item> select </item>
++                      <item> sin </item>
++                      <item> sinh </item>
++                      <item> sqrt </item>
++                      <item> str </item>
++                      <item> strcmp </item>
++                      <item> strlen </item>
++                      <item> strlwr </item>
++                      <item> strupr </item>
++                      <item> substr </item>
++                      <item> sum </item>
++                      <item> tan </item>
++                      <item> tanh </item>
++                      <item> trace </item>
++                      <item> val </item>
++                      <item> vaxis_rotate </item>
++                      <item> vcross </item>
++                      <item> vdot </item>
++                      <item> vlength </item>
++                      <item> vnormalize </item>
++                      <item> vrotate </item>
++                      <item> vstr </item>
++                      <item> vturbulence </item>
++              </list>
++              <list name="directives">
++                      <item> #debug </item>
++                      <item> #default </item>
++                      <item> #else </item>
++                      <item> #end </item>
++                      <item> #error </item>
++                      <item> #fclose </item>
++                      <item> #fopen </item>
++                      <item> #if </item>
++                      <item> #ifdef </item>
++                      <item> #ifndef </item>
++                      <item> #include </item>
++                      <item> #range </item>
++                      <item> #read </item>
++                      <item> #render </item>
++                      <item> #statistics </item>
++                      <item> #switch </item>
++                      <item> #undef </item>
++                      <item> #version </item>
++                      <item> #warning </item>
++                      <item> #while </item>
++                      <item> #write </item>
++              </list>
++              <list name="attention">
++                      <item> FIXME </item>
++                      <item> TODO </item>
++                      <item> ### </item>
++              </list>
++              <contexts>
++                      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
++                              <StringDetect attribute="Declaration" context="Declaration" String="#declare" />
++                              <StringDetect attribute="Declaration" context="Declaration" String="#local" />
++                              <StringDetect attribute="Macro" context="Macro" String="#macro" />
++                              <keyword attribute="Objects" context="#stay" String="objects" />
++                              <keyword attribute="Texturing" context="#stay" String="texturing" />
++                              <keyword attribute="Transforms" context="#stay" String="transforms" />
++                              <keyword attribute="Filetype" context="#stay" String="filetypes" />
++                              <keyword attribute="Keyword" context="#stay" String="identifiers" />
++                              <keyword attribute="Constant" context="#stay" String="constants" />
++                              <keyword attribute="Functions" context="#stay" String="functions" />
++                              <keyword attribute="Directives" context="#stay" String="directives" />
++                              <keyword attribute="Keyword" context="#stay" String="keywords" />
++                              <keyword attribute="Unofficial" context="#stay" String="unofficial" />
++                              <Float attribute="Float" context="#stay"/>
++                              <Int attribute="Float" context="#stay"/>
++                              <HlCChar attribute="Char" context="#stay"/>
++                              <DetectChar attribute="String" context="String" char="&quot;"/>
++                              <RegExpr attribute="Region Marker" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1" firstNonSpace="true"/>
++                              <RegExpr attribute="Region Marker" context="#stay" String="//\s*END.*$" endRegion="Region1" firstNonSpace="true"/>
++                              <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
++                              <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
++                              <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
++                              <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
++                              <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
++                      </context>
++
++                      <context attribute="Declaration" lineEndContext="#pop" name="Declaration">
++                              <RegExpr attribute="Declare Keyword" context="Declare_Keyword" String="\w+" />
++                              <LineContinue attribute="Declaration" context="#stay"/>
++                              <AnyChar attribute="Symbol" context="#pop#pop" String="=[("/>
++                      </context>
++
++                      <context attribute="Macro" lineEndContext="#pop" name="Macro">
++                              <RegExpr attribute="Declare Macro" context="Declare_Macro" String="\w+" />
++                              <LineContinue attribute="Macro" context="#stay"/>
++                              <DetectChar attribute="Symbol" context="#pop#pop" char="("/>
++                      </context>
++
++                      <context attribute="Declare Keyword" lineEndContext="#pop" name="Declare_Keyword">
++                              <LineContinue attribute="Declare Keyword" context="#stay"/>
++                              <AnyChar attribute="Symbol" context="#pop#pop" String="=[("/>
++                      </context> 
++
++                      <context attribute="Declare Macro" lineEndContext="#pop" name="Declare_Macro">
++                              <LineContinue attribute="Declare Macro" context="#stay"/>
++                              <DetectChar attribute="Symbol" context="#pop#pop" char="("/>
++                      </context>
++
++                      <context attribute="String" lineEndContext="#pop" name="String">
++                              <LineContinue attribute="String" context="#stay"/>
++                              <HlCStringChar attribute="String Char" context="#stay"/>
++                              <DetectChar attribute="String" context="#pop" char="&quot;"/>
++                      </context>
++
++                      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
++                              <keyword attribute="Decimal" context="#stay" String="attention" />
++                      </context>
++
++                      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
++                              <keyword attribute="Decimal" context="#stay" String="attention" />
++                              <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
++                      </context>
++
++                      <context attribute="Comment" lineEndContext="#stay" name="Commentar">
++                              <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
++                      </context>
++              </contexts>
++
++              <itemDatas>
++                      <itemData name="Normal Text"     defStyleNum="dsNormal"   color="#000000" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Keyword"         defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Unofficial"      defStyleNum="dsKeyword"  color="#0080d0" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Objects"         defStyleNum="dsKeyword"  color="#800000" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Texturing"       defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Transforms"      defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Declaration"     defStyleNum="dsKeyword"  color="#000080" selColor="#000080" bold="1" italic="0"/>
++                      <itemData name="Macro"           defStyleNum="dsKeyword"  color="#000080" selColor="#000080" bold="1" italic="0"/>
++                      <itemData name="Declare Keyword" defStyleNum="dsKeyword"  color="#990099" selColor="#990099" bold="1" italic="0"/>
++                      <itemData name="Declare Macro"   defStyleNum="dsKeyword"  color="#CC0000" selColor="#990099" bold="1" italic="0"/>
++                      <itemData name="Functions"       defStyleNum="dsKeyword"  color="#000080" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Directives"      defStyleNum="dsOthers"   color="#3300ff" selColor="#3300ff" bold="1" italic="0"/>
++                      <itemData name="Filetype"        defStyleNum="dsDataType" color="#000080" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Constant"        defStyleNum="dsFloat"    color="#0000ff" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Float"           defStyleNum="dsFloat"    color="#0000ff" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="Char"            defStyleNum="dsChar"     color="#000080" selColor="#ffffff" bold="0" italic="0"/>
++                      <itemData name="String"          defStyleNum="dsString"   color="#ff0000" selColor="#ff0000" bold="0" italic="0"/>
++                      <itemData name="String Char"     defStyleNum="dsChar"     color="#ff00ff" selColor="#ff00ff" bold="0" italic="0"/>
++                      <itemData name="Comment"         defStyleNum="dsComment"  color="#008000" selColor="#008000" bold="0" italic="0"/>
++                      <itemData name="Symbol"          defStyleNum="dsNormal"   color="#660099" selColor="#660099" bold="0" italic="0"/>
++                      <itemData name="Region Marker"   defStyleNum="dsRegionMarker"/>
++              </itemDatas>
++      </highlighting>
++
++      <general>
++              <comments>
++                      <comment name="singleLine" start="//" />
++                      <comment name="multiLine" start="/*" end="*/" />
++              </comments>
++              <keywords casesensitive="1" />
++      </general>
+ </language>
+diff -ur kdelibs-3.5.8/kate/data.org/progress.xml kdelibs-3.5.8/kate/data/progress.xml
+--- kdelibs-3.5.8/kate/data.org/progress.xml   2006-05-22 20:14:08.000000000 +0200
++++ kdelibs-3.5.8/kate/data/progress.xml       2006-09-23 00:00:14.000000000 +0200
+@@ -1,9 +1,9 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="progress" version="1.09" kateversion="2.4" section="Database" extensions="*.p;*.w;*.i;*.cls" author="Rares Stanciulescu (rstanciu@operamail.com)" license="GPL">
+-  
++<language name="progress" version="1.10" kateversion="2.4" section="Database" extensions="*.p;*.w;*.i;*.cls;" author="Rares Stanciulescu (rstanciu@operamail.com)" license="GPL">
++
+ <highlighting>
+-    
++
+ <list name="mytypes">
+   <item> CHAR </item>
+   <item> CHARACTER </item>
+@@ -22,19 +22,25 @@
+   <item> WIDGET-HANDLE </item>
+   <item> RAW </item>
+   <item> LONG </item>
++  <item> BYTE </item>
+   <item> SHORT </item>
+   <item> BLOB </item>
++  <item> UNSIGNED-SHORT </item>
++  <item> FLOAT </item>
++  <item> DOUBLE </item>
+   <item> CLOB </item>
+   <item> LONGCHAR </item>
+   <item> DATETIME </item>
+   <item> DATETIME-TZ </item>
+   <item> TEMP-TABLE </item>
++  <item> DATASET </item>
++  <item> DATASET-HANDLE </item>
+   <item> BUFFER </item>
+   <item> STREAM </item>
+   <item> SAX-WRITER </item>
+   <item> MEMPTR </item>
+ </list>
+-    
++
+   <list  name="operators">
+     <item> AND </item>
+     <item> OR </item>
+@@ -53,7 +59,7 @@
+     <item> YES </item>
+     <item> NO </item>
+ </list>
+-          
++
+ <list name="preprocvar">
+   <item> OUT </item>
+   <item> BATCH-MODE </item>
+@@ -70,8 +76,13 @@
+   <item> ANALYZE-SUSPEND </item>
+   <item> WEBSTREAM </item>
+ </list>
+-          
++
+ <list name="phrases">
++  <item> VOID </item>
++  <item> IMPLEMENTS </item>
++  <item> OVERRIDE </item>
++  <item> FINAL </item>
++  <item> INHERITS </item>
+   <item> AS </item>
+   <item> WORD-INDEX </item>
+   <item> LIKE </item>
+@@ -79,7 +90,6 @@
+   <item> AT </item>
+   <item> COLOR </item>
+   <item> COMBO-BOX </item>
+-  <item> EDITING </item>
+   <item> EDITOR </item>
+   <item> FORMAT </item>
+   <item> FRAME </item>
+@@ -144,14 +154,24 @@
+   <item> PUBLIC </item>
+   <item> PROTECTED </item>
+ </list>
+-          
++
+ <list name="functions">
++  <item> ROW-UPDATE </item>
++  <item> VALID-OBJECT </item>
++  <item> TYPE-OF </item>
++  <item> CAST </item>
++  <item> AUDIT-ENABLED </item>
++  <item> GENERATE-UUID </item>
++  <item> GUID </item>
++  <item> HEX-DECODE </item>
++  <item> HEX-ENCODE </item>
++  <item> SET-DB-CLIENT </item>
+   <item> output-content-type </item>
+   <item> get-value </item>
+   <item> get-cgi </item>
+   <item> get-field </item>
+   <item> html-encode </item>
+-  <item> url-encode </item>  
++  <item> url-encode </item>
+   <item> ABSOLUTE </item>
+   <item> ACCUM </item>
+   <item> ADD-INTERVAL </item>
+@@ -216,7 +236,6 @@
+   <item> FRAME-NAME </item>
+   <item> FRAME-ROW </item>
+   <item> FRAME-VALUE </item>
+-  <item> GATEWAYS </item>
+   <item> GENERATE-PBE-KEY </item>
+   <item> GENERATE-PBE-SALT </item>
+   <item> GENERATE-RANDOM-KEY </item>
+@@ -236,11 +255,9 @@
+   <item> GET-SIZE </item>
+   <item> GET-STRING </item>
+   <item> GET-UNSIGNED-SHORT </item>
+-  <item> GO-PENDING </item>
+   <item> INDEX </item>
+   <item> INTEGER </item>
+   <item> INTERVAL </item>
+-  <item> IS-ATTR-SPACE </item>
+   <item> IS-CODEPAGE-FIXED </item>
+   <item> IS-COLUMN-CODEPAGE </item>
+   <item> IS-LEAD-BYTE </item>
+@@ -341,7 +358,7 @@
+   <item> WIDGET-HANDLE </item>
+   <item> YEAR </item>
+ </list>
+-          
++
+ <list name="statements">
+   <item> IF </item>
+   <item> THEN </item>
+@@ -354,7 +371,6 @@
+   <item> BELL </item>
+   <item> BUFFER-COMPARE </item>
+   <item> BUFFER-COPY </item>
+-  <item> CHOOSE </item>
+   <item> CLEAR </item>
+   <item> CLOSE </item>
+   <item> QUERY </item>
+@@ -364,12 +380,12 @@
+   <item> CONNECT </item>
+   <item> COPY-LOB </item>
+   <item> CREATE </item>
++  <item> CLIENT-PRINCIPAL </item>
+   <item> ALIAS </item>
+   <item> BROWSE </item>
+   <item> BUFFER </item>
+   <item> CALL </item>
+   <item> DATABASE </item>
+-  <item> DATASET </item>
+   <item> DATA-SOURCE </item>
+   <item> QUERY </item>
+   <item> SAX-READER </item>
+@@ -400,7 +416,6 @@
+   <item> BROWSE </item>
+   <item> BUFFER </item>
+   <item> BUTTON </item>
+-  <item> DATASET </item>
+   <item> DATA-SOURCE </item>
+   <item> FRAME </item>
+   <item> IMAGE </item>
+@@ -476,7 +491,6 @@
+   <item> PUBLISH </item>
+   <item> CURSOR </item>
+   <item> PUT </item>
+-  <item> SCREEN </item>
+   <item> PUT-BITS </item>
+   <item> PUT-BYTE </item>
+   <item> PUT-BYTES </item>
+@@ -507,7 +521,6 @@
+   <item> SET-BYTE-ORDER </item>
+   <item> SET-POINTER-VALUE </item>
+   <item> SET-SIZE </item>
+-  <item> SCROLL </item>
+   <item> SHOW-STATS </item>
+   <item> STATUS </item>
+   <item> STOP </item>
+@@ -562,6 +575,10 @@
+ </list>
+ <list name="handles">
++  <item> THIS-OBJECT </item>
++  <item> AUDIT-CONTROL </item>
++  <item> AUDIT-POLICY </item>
++  <item> SECURITY-POLICY </item>
+   <item> ACTIVE-WINDOW </item>
+   <item> BUFFER </item>
+   <item> BUFFER-FIELD </item>
+@@ -617,8 +634,44 @@
+   <item> WIDTH </item>
+   <item> TAG </item>
+ </list>
+-          
++
+ <list name="attributes">
++  <item> ANYWHERE </item>
++  <item> SCHEMA-MARSHAL </item>
++  <item> ATTACHED-PAIRLIST </item>
++  <item> DATA-SOURCE-COMPLETE-MAP </item>
++  <item> KEYS </item>
++  <item> NEXT-ROWID </item>
++  <item> NUM-REFERENCES </item>
++  <item> RESTART-ROWID </item>
++  <item> CLASS-TYPE </item>
++  <item> FIRST-OBJECT </item>
++  <item> LAST-OBJECT </item>
++  <item> MULTI-COMPILE </item>
++  <item> WIDGET-ID </item>
++  <item> SCHEMA-LOCATION </item>
++  <item> STANDALONE </item>
++  <item> STRICT </item>
++  <item> VERSION </item>
++  <item> WRITE-STATUS </item>
++  <item> NONAMESPACE-SCHEMA-LOCATION </item>
++  <item> FRAGMENT </item>
++  <item> APPL-CONTEXT-ID </item>
++  <item> AUDIT-EVENT-CONTEXT </item>
++  <item> CLIENT-TTY </item>
++  <item> CLIENT-WORKSTATION </item>
++  <item> DOMAIN-DESCRIPTION </item>
++  <item> DOMAIN-NAME </item>
++  <item> DOMAIN-TYPE </item>
++  <item> EVENT-GROUP-ID </item>
++  <item> LOGIN-EXPIRATION-TIMESTAMP </item>
++  <item> LOGIN-HOST </item>
++  <item> LOGIN-STATE </item>
++  <item> ROLES </item>
++  <item> SEAL-TIMESTAMP </item>
++  <item> SESSION-ID </item>
++  <item> STATE-DETAIL </item>
++  <item> USER-ID </item>
+   <item> ACCELERATOR </item>
+   <item> ACTIVE </item>
+   <item> ACTOR </item>
+@@ -1164,6 +1217,7 @@
+   <item> Y </item>
+   <item> YEAR-OFFSET </item>
+   <item> WRITE-XMLSCHEMA </item>
++  <item> READ-XMLSCHEMA </item>
+   <item> WRITE-XML </item>
+   <item> READ-XML </item>
+   <item> NESTED </item>
+@@ -1178,10 +1232,47 @@
+   <item> END-DOCUMENT </item>
+   <item> WRITE-DATA-ELEMENT </item>
+   <item> INSERT-ATTRIBUTE </item>
+-  
+ </list>
+ <list name="methods">
++  <item> COPY-DATASET </item>
++  <item> COPY-TEMP-TABLE </item>
++  <item> GET-CALLBACK-PROC-CONTEXT </item>
++  <item> GET-CALLBACK-PROC-NAME </item>
++  <item> GET-BINARY-DATA </item>
++  <item> ADD-SCHEMA-LOCATION </item>
++  <item> DECLARE-NAMESPACE </item>
++  <item> RESET </item>
++  <item> WRITE-CDATA </item>
++  <item> WRITE-COMMENT </item>
++  <item> WRITE-EMPTY-ELEMENT </item>
++  <item> WRITE-ENTITY-REF </item>
++  <item> WRITE-EXTERNAL-DTD </item>
++  <item> WRITE-FRAGMENT </item>
++  <item> WRITE-PROCESSING-INSTRUCTION </item>
++  <item> CLEAR-LOG </item>
++  <item> CLOSE-LOG </item>
++  <item> WRITE-MESSAGE </item>
++  <item> AUTHENTICATION-FAILED </item>
++  <item> BEGIN-EVENT-GROUP </item>
++  <item> CLEAR-APPL-CONTEXT </item>
++  <item> ENCRYPT-AUDIT-MAC-KEY </item>
++  <item> END-EVENT-GROUP </item>
++  <item> EXPORT-PRINCIPAL </item>
++  <item> GET-PROPERTY </item>
++  <item> IMPORT-PRINCIPAL </item>
++  <item> LIST-PROPERTY-NAMES </item>
++  <item> LOAD-DOMAINS </item>
++  <item> LOCK-REGISTRATION </item>
++  <item> LOG-AUDIT-EVENT </item>
++  <item> LOGOUT </item>
++  <item> REFRESH-AUDIT-POLICY </item>
++  <item> REGISTER-DOMAIN </item>
++  <item> SEAL </item>
++  <item> SET-APPL-CONTEXT </item>
++  <item> SET-CLIENT </item>
++  <item> SET-PROPERTY </item>
++  <item> VALIDATE-SEAL </item>
+   <item> ACCEPT-CHANGES </item>
+   <item> ACCEPT-ROW-CHANGES </item>
+   <item> ADD-BUFFER </item>
+@@ -1421,9 +1512,8 @@
+   <item> WRITE </item>
+   <item> MAX-HEIGHT </item>
+   <item> MAX-WIDTH </item>
+-  
+ </list>
+-          
++
+ <list name="envvariables">
+   <item> CLASSPATH </item>
+   <item> DLC </item>
+@@ -1480,7 +1570,6 @@
+   <item> APPPROGRAM </item>
+   <item> OUTPUT-CONTENT-TYPE </item>
+   <item> WEB_SRC_PATH </item>
+-  
+ </list>
+@@ -1506,14 +1595,14 @@
+     <DetectChar attribute="String" context="#stay" char='"'/>
+     <DetectChar attribute="String" context="#stay" char="'"/>
+     <AnyChar attribute="Symbol" context="#stay" String="+-*=/\?~{}[]():."/>
+-    
++
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="PROCEDURE" insensitive="TRUE"
+                   beginRegion="P1" firstNonSpace="TRUE"/>
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="END PROCEDURE" insensitive="TRUE"
+                   endRegion="P1" firstNonSpace="TRUE"/>
+-    
++
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="FUNCTION" insensitive="TRUE"
+                   beginRegion="F1" firstNonSpace="TRUE"/>
+@@ -1527,20 +1616,32 @@
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="END CLASS" insensitive="TRUE"
+                   endRegion="C1" firstNonSpace="TRUE"/>
+-    
++
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="METHOD" insensitive="TRUE"
+                   beginRegion="M1" firstNonSpace="TRUE"/>
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="END METHOD" insensitive="TRUE"
+-                  endRegion="M1" firstNonSpace="TRUE"/>    
++                  endRegion="M1" firstNonSpace="TRUE"/>
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="CONSTRUCTOR" insensitive="TRUE"
+                   beginRegion="CN1" firstNonSpace="TRUE"/>
+     <StringDetect attribute="Region Marker" context="#stay"
+                   String="END CONSTRUCTOR" insensitive="TRUE"
+-                  endRegion="CN1" firstNonSpace="TRUE"/>    
+-    
++                  endRegion="CN1" firstNonSpace="TRUE"/>
++    <StringDetect attribute="Region Marker" context="#stay"
++                  String="DESTRUCTOR" insensitive="TRUE"
++                  beginRegion="DS1" firstNonSpace="TRUE"/>
++    <StringDetect attribute="Region Marker" context="#stay"
++                  String="END DESTRUCTOR" insensitive="TRUE"
++                  endRegion="DS1" firstNonSpace="TRUE"/>
++    <StringDetect attribute="Region Marker" context="#stay"
++                  String="INTERFACE" insensitive="TRUE"
++                  beginRegion="IF1" firstNonSpace="TRUE"/>
++    <StringDetect attribute="Region Marker" context="#stay"
++                  String="END INTERFACE" insensitive="TRUE"
++                  endRegion="IF1" firstNonSpace="TRUE"/>
++
+     <StringDetect attribute="Function" context="#stay"
+                   String="DO:" insensitive="TRUE"
+                   beginRegion="L1" firstNonSpace="FALSE"/>
+@@ -1556,15 +1657,15 @@
+     <StringDetect attribute="Function" context="#stay"
+                   String="END" insensitive="TRUE"
+                   endRegion="L1" firstNonSpace="TRUE"/>
+-    
+-    
++
++
+   </context>
+   <context name="String" attribute="String" lineEndContext="#stay">
+     <LineContinue attribute="String" context="#pop"/>
+     <HlCStringChar attribute="String Char" context="#stay"/>
+     <DetectChar attribute="String" context="#pop" char="'"/>
+   </context>
+-  <context name="MultiLineComment" attribute="Comment" 
++  <context name="MultiLineComment" attribute="Comment"
+             lineEndContext="#stay">
+     <LineContinue attribute="Comment" context="#pop"/>
+     <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"
+diff -ur kdelibs-3.5.8/kate/data.org/python.xml kdelibs-3.5.8/kate/data/python.xml
+--- kdelibs-3.5.8/kate/data.org/python.xml     2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/python.xml 2007-07-19 18:00:42.000000000 +0200
+@@ -1,64 +1,77 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language>
+ <!-- Python syntax highlightning v0.9 by Per Wigren -->
+-<language name="Python" version="1.24" kateversion="2.4" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript" mimetype="application/x-python;text/x-python" casesensitive="1" author="Per Wigren" license="">
++<!-- Python syntax highlighting v1.9 by Michael Bueker (improved keyword differentiation) -->
++<!-- Python syntax highlighting v1.97 by Paul Giannaros -->
++<language name="Python" version="1.98" kateversion="2.4" section="Scripts" extensions="*.py;*.pyw" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">
+       <highlighting>
+               <list name="prep">
+                       <item> import </item>
+                       <item> from </item>
+                       <item> as </item>
+               </list>
+-
+-              <list name="statements">
+-      <item> and </item>
+-                      <item> assert </item>
+-                      <item> break </item>
++              <list name="defs">
+                       <item> class </item>
+-                      <item> continue </item>
+                       <item> def </item>
+                       <item> del </item>
++                      <item> global </item>
++                      <item> lambda </item>
++              </list>
++              <list name="operators">
++                      <item> and </item>
++                      <item> assert </item>
++                      <item> in </item>
++                      <item> is </item>
++                      <item> not </item>
++                      <item> or </item>
++              </list>
++              <list name="commands">
++                      <item> exec </item>
++                      <item> print </item>
++              </list>
++              <list name="flow">
++                      <item> break </item>
++                      <item> continue </item>
+                       <item> elif </item>
+                       <item> else </item>
+                       <item> except </item>
+-                      <item> exec </item>
+                       <item> finally </item>
+                       <item> for </item>
+-                      <item> global </item>
+                       <item> if </item>
+-                      <item> in </item>
+-                      <item> is </item>
+-                      <item> lambda </item>
+-                      <item> not </item>
+-                      <item> or </item>
+                       <item> pass </item>
+-                      <item> print </item>
+                       <item> raise </item>
+                       <item> return </item>
+                       <item> try </item>
+                       <item> while </item>
+                       <item> yield </item>
+               </list>
+-
+               <list name="builtinfuncs">
++                      <item> __import__ </item>
+                       <item> abs </item>
++                      <item> all </item>
++                      <item> any </item>
+                       <item> apply </item>
++                      <item> basestring </item>
++                      <item> bool </item>
+                       <item> buffer </item>
+                       <item> callable </item>
+                       <item> chr </item>
++                      <item> classmethod </item>
+                       <item> cmp </item>
+                       <item> coerce </item>
+                       <item> compile </item>
+                       <item> complex </item>
+-                      <item> copyright </item>
+-                      <item> credits </item>
+                       <item> delattr </item>
++                      <item> dict </item>
+                       <item> dir </item>
+                       <item> divmod </item>
++                      <item> enumerate </item>
+                       <item> eval </item>
+                       <item> execfile </item>
+-                      <item> exit </item>
++                      <item> file </item>
+                       <item> filter </item>
+                       <item> float </item>
++                      <item> frozenset </item>
+                       <item> getattr </item>
+                       <item> globals </item>
+                       <item> hasattr </item>
+@@ -72,27 +85,33 @@
+                       <item> issubclass </item>
+                       <item> iter </item>
+                       <item> len </item>
+-                      <item> license </item>
+                       <item> list </item>
+                       <item> locals </item>
+                       <item> long </item>
+                       <item> map </item>
+                       <item> max </item>
+                       <item> min </item>
++                      <item> object </item>
+                       <item> oct </item>
+                       <item> open </item>
+                       <item> ord </item>
+                       <item> pow </item>
+-                      <item> quit </item>
++                      <item> property </item>
+                       <item> range </item>
+                       <item> raw_input </item>
+                       <item> reduce </item>
+                       <item> reload </item>
+                       <item> repr </item>
++                      <item> reversed </item>
+                       <item> round </item>
++                      <item> set </item>
+                       <item> setattr </item>
+                       <item> slice </item>
++                      <item> sorted </item>
++                      <item> staticmethod </item>
+                       <item> str </item>
++                      <item> sum </item>
++                      <item> super </item>
+                       <item> tuple </item>
+                       <item> type </item>
+                       <item> unichr </item>
+@@ -101,74 +120,100 @@
+                       <item> xrange </item>
+                       <item> zip </item>
+               </list>
+-
+               <list name="specialvars">
+                       <item> None </item>
+                       <item> self </item>
+-                      <item> cls </item>
+                       <item> True </item>
+                       <item> False </item>
+                       <item> NotImplemented </item>
+                       <item> Ellipsis </item>
+               </list>
+-
++              <list name="bindings">
++                      <item> SIGNAL </item>
++                      <item> SLOT </item>
++                      <item> connect </item>
++              </list>
+               <contexts>
+                       <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+                               <keyword attribute="Preprocessor" String="prep" context="#stay"/>
+-                              <keyword attribute="Keyword" String="statements" context="#stay"/>
++                              <keyword attribute="Definition Keyword" String="defs" context="#stay"/>
++                              <keyword attribute="Operator" String="operators" context="#stay"/>
++                              <keyword attribute="Command Keyword" String="commands" context="#stay"/>
++                              <keyword attribute="Flow Control Keyword" String="flow" context="#stay"/>
+                               <keyword attribute="Builtin Function" String="builtinfuncs" context="#stay"/>
+                               <keyword attribute="Special Variable" String="specialvars" context="#stay"/>
+-                              <RegExpr attribute="Normal" String="[a-zA-Z_]\w+" context="#stay"/>
++                              <keyword attribute="Extensions" String="bindings" context="#stay"/>
++                              <RegExpr attribute="Normal" String="[a-zA-Z_][a-zA-Z_0-9]+" context="#stay"/>
+-                              <RegExpr attribute="Complex" String=" (((\d*\.\d+|\d+\.)|(\d+|(\d*\.\d+|\d+\.))[eE][+-]?\d+)|\d+)[jJ]" context="#stay"/>
+-                              <RegExpr attribute="Float" String="(\d+\.\d*|\.\d+)([eE]\d+)?" context="#stay"/>
+-                              <RegExpr attribute="Int" String="([1-9]\d*([eE]\d+)?|0)" context="#stay"/>
+-                              <RegExpr attribute="Long" String="[1-9]\d*([eE][\d.]+)?[Ll]" context="#stay"/>
+-                              <RegExpr attribute="Hex" String="0[Xx][\da-fA-F]+" context="#stay"/>
+-                              <RegExpr attribute="Octal" String="0[1-9]\d*" context="#stay"/>
++                              <RegExpr attribute="Complex" String=" ((([0-9]*\.[0-9]+|[0-9]+\.)|([0-9]+|([0-9]*\.[0-9]+|[0-9]+\.))[eE](\+|-)?[0-9]+)|[0-9]+)[jJ]" context="#stay"/>
++                              <RegExpr attribute="Float" String="([0-9]+\.[0-9]*|\.[0-9]+)([eE][0-9]+)?" context="#stay"/>
++                              <RegExpr attribute="Int" String="([1-9][0-9]*([eE][0-9]+)?|0)" context="#stay"/>
++                              <RegExpr attribute="Long" String="[1-9][0-9]*([eE][0-9.]+)?[Ll]" context="#stay"/>
++                              <RegExpr attribute="Hex" String="0[Xx][0-9a-fA-F]+" context="#stay"/>
++                              <RegExpr attribute="Octal" String="0[1-9][0-9]*" context="#stay"/>
++  
++                              <RegExpr attribute="Raw String" String="[rR]'''" context="Raw Tripple A-string"/>
++                              <RegExpr attribute="Raw String" String="[rR]&quot;&quot;&quot;" context="Raw Tripple Q-string"/>
+                               <RegExpr attribute="Raw String" String="[rR]'" context="Raw A-string"/>
+                               <RegExpr attribute="Raw String" String="[rR]&quot;" context="Raw Q-string"/>
+                               <RegExpr attribute="Comment" String="#.*$" context="#stay"/>
+-                              <StringDetect attribute="Comment" String="'''" context="Tripple A-comment" firstNonSpace="true" beginRegion="Tripple A-region"/>
+-                              <StringDetect attribute="Comment" String="&quot;&quot;&quot;" context="Tripple Q-comment" firstNonSpace="true" beginRegion="Tripple Q-region"/>
++                              <RegExpr attribute="Comment" String="^\s*'''" context="Tripple A-comment" beginRegion="Tripple A-region"/>
++                              <RegExpr attribute="Comment" String="^\s*&quot;&quot;&quot;" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>
+                               <StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
+                               <StringDetect attribute="String" String="&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
+                               <DetectChar attribute="String" char="'" context="Single A-string"/>
+                               <DetectChar attribute="String" char="&quot;" context="Single Q-string"/>
+-
++                              
+                               <DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
+                               <DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
+-                              <RegExpr attribute="Operator" String="[+*/\(\)%\|\[\]\{\}:=;\!&lt;&gt;!^&amp;~-]" context="#stay"/>
++                              
++                              <RegExpr attribute="Operator" String="[+*/%\|=;\!&lt;&gt;!^&amp;~-]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+                       </context>
+-
+-                      <context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="True">
++                      
++                      <context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
+                               <IncludeRules context="Normal" />
+                       </context>
+-
+-                      <context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="True">
+-                              <HlCChar attribute="Comment" context="#stay"/>
++                      
++                      <context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
+                               <StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Tripple A-region"/>
+                       </context>
+-                      <context name="Tripple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="True">
++                      <context name="Tripple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
+                               <HlCChar attribute="Comment" context="#stay"/>
+-                              <StringDetect attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
++                              <RegExpr attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
++                      </context>
++
++                      <context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
++                              <HlCStringChar attribute="String Char" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/> 
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
+                       </context>
+-                      <context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="True">
+-                              <HlCChar attribute="String" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="%[a-zA-Z]" context="#stay"/>
+-                              <StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
++                      <context name="Raw Tripple A-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
++                              <HlCStringChar attribute="Raw String" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/> 
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
+                       </context>
+-                      <context name="Tripple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="True">
+-                              <HlCStringChar attribute="String" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="%[a-zA-Z]" context="#stay"/>
+-                              <StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
++                      <context name="Tripple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
++                              <HlCStringChar attribute="String Char" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
++                      </context>
++
++                      <context name="Raw Tripple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
++                              <HlCStringChar attribute="Raw String" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
+                       </context>
+                       <context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
+@@ -182,24 +227,30 @@
+                       </context>
+                       <context name="Single A-string" attribute="String" lineEndContext="#stay">
+-                              <HlCStringChar attribute="String" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="%[a-zA-Z]" context="#stay"/>
++                              <HlCStringChar attribute="String Char" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+                               <DetectChar attribute="String" char="'" context="#pop"/>
+                       </context>
+                       <context name="Single Q-string" attribute="String" lineEndContext="#stay">
+-                              <HlCStringChar attribute="String" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="%[a-zA-Z]" context="#stay"/>
++                              <HlCStringChar attribute="String Char" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+                               <DetectChar attribute="String" char="&quot;" context="#pop"/>
+                       </context>
+                       <context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
+                               <HlCStringChar attribute="Raw String" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+                               <DetectChar attribute="Raw String" char="'" context="#pop"/>
+                       </context>
+                       <context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
+                               <HlCStringChar attribute="Raw String" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
++                              <RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+                               <DetectChar attribute="Raw String" char="&quot;" context="#pop"/>
+                       </context>
+@@ -207,11 +258,16 @@
+               </contexts>
+               <itemDatas>
+                       <itemData name="Normal Text" defStyleNum="dsNormal"/>
+-                      <itemData name="Operator" defStyleNum="dsChar"/>
+-                      <itemData name="Keyword" defStyleNum="dsKeyword"/>
++                      <itemData name="Definition Keyword" defStyleNum="dsKeyword"/>
++                      <itemData name="Operator" defStyleNum="dsNormal"/>
++                      <itemData name="String Substitution" defStyleNum="dsNormal"/>
++                      <itemData name="Command Keyword" defStyleNum="dsKeyword"/>
++                      <itemData name="Flow Control Keyword" defStyleNum="dsKeyword"/>
+                       <itemData name="Builtin Function" defStyleNum="dsDataType"/>
+                       <itemData name="Special Variable" defStyleNum="dsOthers"/>
++                      <itemData name="Extensions" defStyleNum="dsOthers" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
+                       <itemData name="Preprocessor" defStyleNum="dsChar"/>
++                      <itemData name="String Char" defStyleNum="dsChar"/>
+                       <itemData name="Long" defStyleNum="dsOthers"/>
+                       <itemData name="Float" defStyleNum="dsFloat"/>
+                       <itemData name="Int" defStyleNum="dsDecVal"/>
+@@ -225,8 +281,12 @@
+       </highlighting>
+    <general>
+      <folding indentationsensitive="1" />
++     <emptyLines>
++       <emptyLine regexpr="\s+" casesensitive="false"/>
++       <emptyLine regexpr="\s*#.*$" casesensitive="false"/>
++     </emptyLines>
+      <comments>
+-       <comment name="singleLine" start="#" position="afterwhitespace"/>
++        <comment name="singleLine" start="#" position="afterwhitespace"/>
+      </comments>
+      <keywords casesensitive="1" />
+    </general>
+diff -ur kdelibs-3.5.8/kate/data.org/rhtml.xml kdelibs-3.5.8/kate/data/rhtml.xml
+--- kdelibs-3.5.8/kate/data.org/rhtml.xml      2007-10-08 11:51:56.000000000 +0200
++++ kdelibs-3.5.8/kate/data/rhtml.xml  2007-10-22 19:02:22.140396819 +0200
+@@ -1,1235 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE language SYSTEM "language.dtd"
+-[
+-      <!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+-      <!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+-]>
+-      
+-<!--
+-      RHTML syntax highlighting definition for Kate. It combines the ruby and
+-      html syntax grammars. Some ideas, and the list of Rails method names were 
+-      taken from an rhtml kate grammar for Quanta based on earlier versions of
+-      the syntax highlighters.
+-      
+-      Copyright (C) 2004  by Sebastian Vuorinen (sebastian dot vuorinen at helsinki dot fi)
+-      Copyright (C) 2004  by Stefan Lang (langstefan@gmx.at)
+-      Copyright (C) 2006  by Wilbert Berendsen (wilbert@kde.nl
+-      Copyright (C) 2005  by Chris Martin (linux@chriscodes.com
+-      Copyright (C) 2006  by Richard Dale (rdale@foton.es)
+-      
+-      This library is free software; you can redistribute it and/or
+-      modify it under the terms of the GNU Library General Public
+-      License as published by the Free Software Foundation; either
+-      version 2 of the License, or (at your option) any later version.
+-      
+-      This library is distributed in the hope that it will be useful,
+-      but WITHOUT ANY WARRANTY; without even the implied warranty of
+-      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-      Library General Public License for more details.
+-      
+-      You should have received a copy of the GNU Library General Public
+-      License along with this library; if not, write to the
+-      Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-      Boston, MA  02110-1301, USA.
+--->
+-      
+-<!--
+-      TODO:   * Regular expressions spanning over multiple lines
+-      work only if newlines are escaped.
+-      * "Nested" HERE documents aren't recognized.
+-      * Division is detected correctly only, if whitespace
+-      is around the "/" operator.
+-      E.g.:   detected correctly:                             1 / 2
+-      "/" interpreted as regex start:         1/2
+--->
+-      
+-<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
+-<language name="Ruby/Rails/RHTML" version="1.00" kateversion="2.4" section="Markup" extensions="*.rhtml;*.html.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPL">
+-      
+-      <highlighting>
+-      
+-              <list name="keywords">
+-                      <item> BEGIN </item>
+-                      <item> END </item>
+-                      <item> and </item>
+-                      <item> begin </item>
+-                      <item> break </item>
+-                      <item> case </item>
+-                      <item> defined? </item>
+-                      <item> do </item>
+-                      <item> else </item>
+-                      <item> elsif </item>
+-                      <item> end </item>
+-                      <item> ensure </item>
+-                      <item> for </item>
+-                      <item> if </item>
+-                      <item> in </item>
+-                      <item> include </item>
+-                      <item> next </item>
+-                      <item> not </item>
+-                      <item> or </item>
+-                      <item> redo </item>
+-                      <item> rescue </item>
+-                      <item> retry </item>
+-                      <item> return </item>
+-                      <item> then </item>
+-                      <item> unless </item>
+-                      <item> until </item>
+-                      <item> when </item>
+-                      <item> while </item>
+-                      <item> yield </item>
+-              </list>
+-              
+-              <list name="access-control">
+-                      <item> private_class_method </item>
+-                      <item> private </item>
+-                      <item> protected </item>
+-                      <item> public_class_method </item>
+-                      <item> public </item>
+-              </list>
+-
+-              <list name="attribute-definitions">
+-                      <item> attr_reader </item>
+-                      <item> attr_writer </item>
+-                      <item> attr_accessor </item>
+-              </list>
+-              
+-              <list name="definitions">
+-                      <item> alias </item>
+-                      <item> module </item>
+-                      <item> class </item>
+-                      <item> def </item>
+-                      <item> undef </item>
+-              </list>
+-              
+-              <list name="pseudo-variables">
+-                      <item> self </item>
+-                      <item> super </item>
+-                      <item> nil </item>
+-                      <item> false </item>
+-                      <item> true </item>
+-                      <item> caller </item>
+-                      <item> __FILE__ </item>
+-                      <item> __LINE__ </item>
+-              </list>
+-              
+-              <list name="default-globals">
+-                      <item> $stdout </item>
+-                      <item> $defout </item>
+-                      <item> $stderr </item>
+-                      <item> $deferr </item>
+-                      <item> $stdin </item>
+-              </list>
+-              
+-              <!-- Kernel module methods.
+-                      NOTE: Methods ending in ? or !
+-                              are included below as regexes.
+-              -->
+-              <list name="kernel-methods">
+-                      <!-- backquote ` -->
+-                      <item> abort </item>
+-                      <item> at_exit </item>
+-                      <item> autoload </item>
+-                      <item> autoload? </item>
+-                      <item> binding </item>
+-                      <item> block_given? </item>
+-                      <item> callcc </item>
+-                      <item> caller </item>
+-                      <item> catch </item>
+-                      <item> chomp </item>
+-                      <item> chomp! </item>
+-                      <item> chop </item>
+-                      <item> chop! </item>
+-                      <item> eval </item>
+-                      <item> exec </item>
+-                      <item> exit </item>
+-                      <item> exit! </item>
+-                      <item> fail </item>
+-                      <item> fork </item>
+-                      <item> format </item>
+-                      <item> getc </item>
+-                      <item> gets </item>
+-                      <item> global_variables </item>
+-                      <item> gsub </item>
+-                      <item> gsub! </item>
+-                      <item> iterator? </item>
+-                      <item> lambda </item>
+-                      <item> load </item>
+-                      <item> local_variables </item>
+-                      <item> loop </item>
+-                      <item> method_missing </item>
+-                      <item> open </item>
+-                      <item> p </item>
+-                      <item> print </item>
+-                      <item> printf </item>
+-                      <item> proc </item>
+-                      <item> putc </item>
+-                      <item> puts </item>
+-                      <item> raise </item>
+-                      <item> rand </item>
+-                      <item> readline </item>
+-                      <item> readlines </item>
+-                      <item> require </item>
+-                      <item> scan </item>
+-                      <item> select </item>
+-                      <item> set_trace_func </item>
+-                      <item> sleep </item>
+-                      <item> split </item>
+-                      <item> sprintf </item>
+-                      <item> srand </item>
+-                      <item> sub </item>
+-                      <item> sub! </item>
+-                      <item> syscall </item>
+-                      <item> system </item>
+-                      <item> test </item>
+-                      <item> throw </item>
+-                      <item> trace_var </item>
+-                      <item> trap </item>
+-                      <item> untrace_var </item>
+-                      <item> warn </item>
+-                      
+-                      <!-- ActionView methods from Rails docs -->
+-                      <item>auto_complete_field</item>
+-                      <item>auto_complete_result</item>
+-                      <item>auto_discovery_link_tag</item>
+-                      <item>auto_link</item>
+-                      <item>benchmark</item>
+-                      <item>button_to</item>
+-                      <item>cache</item>
+-                      <item>capture</item>
+-                      <item>check_box</item>
+-                      <item>check_box_tag</item>
+-                      <item>collection_select</item>
+-                      <item>concat</item>
+-                      <item>content_for</item>
+-                      <item>content_tag</item>
+-                      <item>country_options_for_select</item>
+-                      <item>country_select</item>
+-                      <item>current_page?</item>
+-                      <item>date_select</item>
+-                      <item>datetime_select</item>
+-                      <item>debug</item>
+-                      <item>define_javascript_functions</item>
+-                      <item>distance_of_time_in_words</item>
+-                      <item>distance_of_time_in_words_to_now</item>
+-                      <item>draggable_element</item>
+-                      <item>drop_receiving_element</item>
+-                      <item>end_form_tag</item>
+-                      <item>error_message_on</item>
+-                      <item>error_messages_for</item>
+-                      <item>escape_javascript</item>
+-                      <item>evaluate_remote_response</item>
+-                      <item>excerpt</item>
+-                      <item>file_field</item>
+-                      <item>file_field_tag</item>
+-                      <item>finish_upload_status</item>
+-                      <item>form</item>
+-                      <item>form_remote_tag</item>
+-                      <item>form_tag</item>
+-                      <item>form_tag_with_upload_progress</item>
+-                      <item>h</item>
+-                      <item>hidden_field</item>
+-                      <item>hidden_field_tag</item>
+-                      <item>highlight</item>
+-                      <item>human_size</item>
+-                      <item>image_path</item>
+-                      <item>image_submit_tag</item>
+-                      <item>image_tag</item>
+-                      <item>input</item>
+-                      <item>javascript_include_tag</item>
+-                      <item>javascript_path</item>
+-                      <item>javascript_tag</item>
+-                      <item>link_image_to</item>
+-                      <item>link_to</item>
+-                      <item>link_to_function</item>
+-                      <item>link_to_if</item>
+-                      <item>link_to_image</item>
+-                      <item>link_to_remote</item>
+-                      <item>link_to_unless</item>
+-                      <item>link_to_unless_current</item>
+-                      <item>mail_to</item>
+-                      <item>markdown</item>
+-                      <item>number_to_currency</item>
+-                      <item>number_to_human_size</item>
+-                      <item>number_to_percentage</item>
+-                      <item>number_to_phone</item>
+-                      <item>number_with_delimiter</item>
+-                      <item>number_with_precision</item>
+-                      <item>observe_field</item>
+-                      <item>observe_form</item>
+-                      <item>option_groups_from_collection_for_select</item>
+-                      <item>options_for_select</item>
+-                      <item>options_from_collection_for_select</item>
+-                      <item>pagination_links</item>
+-                      <item>password_field</item>
+-                      <item>password_field_tag</item>
+-                      <item>periodically_call_remote</item>
+-                      <item>pluralize</item>
+-                      <item>radio_button</item>
+-                      <item>radio_button_tag</item>
+-                      <item>register_template_handler</item>
+-                      <item>render</item>
+-                      <item>render_file</item>
+-                      <item>render_template</item>
+-                      <item>sanitize</item>
+-                      <item>select</item>
+-                      <item>select_date</item>
+-                      <item>select_datetime</item>
+-                      <item>select_day</item>
+-                      <item>select_hour</item>
+-                      <item>select_minute</item>
+-                      <item>select_month</item>
+-                      <item>select_second</item>
+-                      <item>select_tag</item>
+-                      <item>select_time</item>
+-                      <item>select_year</item>
+-                      <item>simple_format</item>
+-                      <item>sortable_element</item>
+-                      <item>start_form_tag</item>
+-                      <item>strip_links</item>
+-                      <item>stylesheet_link_tag</item>
+-                      <item>stylesheet_path</item>
+-                      <item>submit_tag</item>
+-                      <item>submit_to_remote</item>
+-                      <item>tag</item>
+-                      <item>text_area</item>
+-                      <item>text_area_tag</item>
+-                      <item>text_field</item>
+-                      <item>text_field_tag</item>
+-                      <item>text_field_with_auto_complete</item>
+-                      <item>textilize</item>
+-                      <item>textilize_without_paragraph</item>
+-                      <item>time_ago_in_words</item>
+-                      <item>time_zone_options_for_select</item>
+-                      <item>time_zone_select</item>
+-                      <item>truncate</item>
+-                      <item>update_element_function</item>
+-                      <item>upload_progress_status</item>
+-                      <item>upload_progress_text</item>
+-                      <item>upload_progress_update_bar_js</item>
+-                      <item>upload_status_progress_bar_tag</item>
+-                      <item>upload_status_tag</item>
+-                      <item>upload_status_text_tag</item>
+-                      <item>url_for</item>
+-                      <item>visual_effect</item>
+-                      <item>word_wrap</item>
+-              </list>
+-              
+-              <list name="attention">
+-                      <item> TODO </item>
+-                      <item> FIXME </item>
+-                      <item> NOTE </item>
+-              </list>
+-              
+-              <contexts>
+-                      
+-              <!-- BEGIN HTML contexts -->
+-                      <context name="Start" attribute="Normal Text" lineEndContext="#stay">
+-                              <IncludeRules context="FindHTML" />
+-                      </context>
+-                      
+-                      <context name="FindHTML" attribute="Normal Text" lineEndContext="#stay">
+-                              <DetectSpaces/>
+-                              <DetectIdentifier/>
+-                              
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              <StringDetect attribute="Keyword" context="rubysourceline" String="%" />
+-                              
+-                              <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+-                              <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+-                              <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />
+-                              <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+-                              <RegExpr attribute="Element" context="CSS" String="&lt;style\b" insensitive="TRUE" beginRegion="style" />
+-                              <RegExpr attribute="Element" context="JS" String="&lt;script\b" insensitive="TRUE" beginRegion="script" />
+-                              <RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="TRUE" beginRegion="pre" />
+-                              <RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="TRUE" beginRegion="div" />
+-                              <RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="TRUE" beginRegion="table" />
+-                              <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />
+-                              <RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="TRUE" endRegion="pre" />
+-                              <RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="TRUE" endRegion="div" />
+-                              <RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="TRUE" endRegion="table" />
+-                              <RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />
+-                              <!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />
+-                              <IncludeRules context="FindEntityRefs" />
+-                      </context>
+-                      
+-                      <context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+-                              <AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
+-                      </context>
+-                      
+-                      <context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+-                              <RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
+-                              <AnyChar attribute="Error" context="#stay" String="&amp;%" />
+-                      </context>
+-                      
+-                      <context name="FindAttributes" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Attribute" context="#stay" String="&name;" column="0"/>
+-                              <RegExpr attribute="Attribute" context="#stay" String="\s+&name;" />
+-                              <DetectChar attribute="Attribute" context="Value" char="=" />
+-                      </context>
+-                      
+-                      <context name="FindDTDRules" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+-                      </context>
+-                      
+-                      
+-                      <context name="Comment" attribute="Comment" lineEndContext="#stay">
+-                              <DetectSpaces/>
+-                              <IncludeRules context="##Alerts" />
+-                              <DetectIdentifier/>
+-                              <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+-                              <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+-                      </context>
+-                      
+-                      <context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
+-                              <DetectSpaces/>
+-                              <DetectIdentifier/>
+-                              <StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+-                              <StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
+-                      </context>
+-                      
+-                      <context name="PI" attribute="Normal Text" lineEndContext="#stay">
+-                              <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+-                      </context>
+-                      
+-                      <context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
+-                              <DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+-                              <DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+-                      </context>
+-                      
+-                      <context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
+-                              <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+-                              <IncludeRules context="FindDTDRules" />
+-                              <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+-                              <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+-                              <IncludeRules context="FindPEntityRefs" />
+-                      </context>
+-                      
+-                      <context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
+-                              <DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+-                              <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+-                              <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+-                      </context>
+-                      
+-                      <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Value" context="#pop" char="&quot;" />
+-                              <IncludeRules context="FindPEntityRefs" />
+-                      </context>
+-                      
+-                      <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Value" context="#pop" char="&apos;" />
+-                              <IncludeRules context="FindPEntityRefs" />
+-                      </context>
+-                      
+-                      <context name="El Open" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" />
+-                              <DetectChar attribute="Element" context="#pop" char="&gt;" />
+-                              <IncludeRules context="FindAttributes" />
+-                              <RegExpr attribute="Error" context="#stay" String="\S" />
+-                      </context>
+-                      
+-                      <context name="El Close" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Element" context="#pop" char="&gt;" />
+-                              <RegExpr attribute="Error" context="#stay" String="\S" />
+-                      </context>
+-                      
+-                      <context name="El Close 2" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" />
+-                              <RegExpr attribute="Error" context="#stay" String="\S" />
+-                      </context>
+-                      
+-                      <context name="El Close 3" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Element" context="#pop#pop#pop#pop" char="&gt;" />
+-                              <RegExpr attribute="Error" context="#stay" String="\S" />
+-                      </context>
+-                      
+-                      <context name="CSS" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="style" />
+-                              <DetectChar attribute="Element" context="CSS content" char="&gt;" />
+-                              <IncludeRules context="FindAttributes" />
+-                              <RegExpr attribute="Error" context="#stay" String="\S" />
+-                      </context>
+-                      
+-                      <context name="CSS content" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <RegExpr attribute="Element" context="El Close 2" String="&lt;/style\b" insensitive="TRUE" endRegion="style" />
+-                              <IncludeRules context="##CSS" includeAttrib="true"/>
+-                      </context>
+-                      
+-                      <context name="JS" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="script" />
+-                              <DetectChar attribute="Element" context="JS content" char="&gt;" />
+-                              <IncludeRules context="FindAttributes" />
+-                              <RegExpr attribute="Error" context="#stay" String="\S" />
+-                      </context>
+-                      
+-                      <context name="JS content" attribute="Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="TRUE" endRegion="script" />
+-                              <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/script\b)" insensitive="TRUE" />
+-                              <IncludeRules context="##JavaScript" includeAttrib="true"/>
+-                      </context>
+-                      
+-                      <context name="JS comment close" attribute="Comment" lineEndContext="#pop">
+-                              <RegExpr attribute="Element" context="El Close 3" String="&lt;/script\b" insensitive="TRUE" endRegion="script" />
+-                              <IncludeRules context="##Alerts" />
+-                      </context>
+-                      
+-                      <context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+-                              <DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+-                              <DetectSpaces />
+-                      </context>
+-                      
+-                      <context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <IncludeRules context="FindEntityRefs" />
+-                              <RegExpr attribute="Value" context="#stay" String="/(?!&gt;)" />
+-                              <RegExpr attribute="Value" context="#stay" String="[^/&gt;&lt;&quot;&apos;\s]" />
+-                      </context>
+-                      
+-                      <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Value" context="#pop#pop" char="&quot;" />
+-                              <IncludeRules context="FindEntityRefs" />
+-                      </context>
+-                      
+-                      <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+-                              <RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+-                              
+-                              <DetectChar attribute="Value" context="#pop#pop" char="&apos;" />
+-                              <IncludeRules context="FindEntityRefs" />
+-                      </context>      
+-              <!-- END HTML contexts -->
+-              
+-              <!-- BEGIN Ruby contexts -->
+-              
+-                      <!-- A single line of ruby source after a '%' ERB tag -->
+-                      <context name="rubysourceline" attribute="RUBY RAILS ERB Text" lineEndContext="#pop">
+-                              <IncludeRules context="rubysource" />
+-                      </context>
+-                      
+-                      <context name="rubysource" attribute="RUBY RAILS ERB Text" lineEndContext="#stay">
+-                              <!-- ruby ignores newline after \ -->
+-                              <LineContinue attribute="Ruby Normal Text" context="Line Continue"/>
+-                              
+-                              <RegExpr attribute="Keyword" context="#pop" String="-?%&gt;" />
+-                              
+-                              <!-- __END__ token on own line. -->
+-                              <RegExpr attribute="Keyword" String="__END__$" context="DATA" column="0"/>
+-                              
+-                              <!-- "shebang" line -->
+-                              <RegExpr attribute="Keyword" String="#!\/.*" context="#stay" column="0"/>
+-                              
+-                              <!-- "def" - "end" blocks -->
+-                              <!-- check for statement modifiers with regexes -->
+-                              <RegExpr attribute="Keyword" String="(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" firstNonSpace="true"/>
+-                              <RegExpr attribute="Keyword" String="\;\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" beginRegion="def block" firstNonSpace="true"/>
+-                              <RegExpr attribute="Keyword" String="\;\s*(if|unless)\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bclass\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bmodule\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bbegin\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bfor\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bcase\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bdo\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bdef\b" context="#stay" beginRegion="def block"/>
+-                              <RegExpr attribute="Keyword" String="\bend\b" context="#stay" endRegion="def block"/>
+-                              <!-- elsif/else close the current block and start a new one -->
+-                              <RegExpr attribute="Keyword" String="(\b|^\s*)(else|elsif|rescue|ensure)(\s+|$)" context="#stay" endRegion="def block" beginRegion="def block"/>
+-                              
+-                              <StringDetect attribute="Operator" String="..." context="#stay"/>
+-                              <Detect2Chars attribute="Operator" char="." char1="." context="#stay"/>
+-                              
+-                              <!-- marks a message (being sent, not defined) -->
+-                              <RegExpr attribute="Message" String="\.[_a-z][_a-zA-Z0-9]*(\?|\!|\b)" context="#stay"/>
+-                              
+-                              <!-- Check for "ASCII code operator". e.g.: ?a -->
+-                              <RegExpr attribute="Dec" String="\s\?(\\M\-)?(\\C\-)?\\?\S" context="#stay"/>
+-                              
+-                              <keyword attribute="Keyword" String="keywords" context="#stay"/>
+-                              <keyword attribute="Attribute Definition" String="attribute-definitions"  context="#stay"/>
+-                              <keyword attribute="Access Control" String="access-control" context="#stay"/>
+-                              <keyword attribute="Definition" String="definitions"  context="#stay" />
+-                              <keyword attribute="Pseudo variable" String="pseudo-variables"  context="#stay"/>
+-                              <keyword attribute="Default globals" String="default-globals" context="#stay"/>
+-                              <keyword attribute="Kernel methods" String="kernel-methods" context="#stay"/>
+-                              
+-                              <!-- (global) vars starting with $
+-                                      Match them before $_.
+-                                      -->
+-                              <RegExpr attribute="Global Variable" String="\$[a-zA-Z_0-9]+" context="#stay"/>
+-                              <RegExpr attribute="Global Variable" String="\$\-[a-zA-z_]\b" context="#stay"/>
+-                              <!-- special-character globals -->
+-                              <RegExpr attribute="Default globals" String="\$[\d_*`\!:?'/\\\-\&amp;]" context="#stay"/>
+-                              <RegExpr attribute="Global Constant" String="\b[_A-Z]+[A-Z_0-9]+\b" context="#stay"/>
+-                              <!-- Generally a module or class name like "File", "MyModule_1", .. -->
+-                              <RegExpr attribute="Constant" String="\b[A-Z]+_*([0-9]|[a-z])[_a-zA-Z0-9]*\b" context="#stay"/>
+-                              
+-                              <RegExpr attribute="Hex" String="\b\-?0[xX][_0-9a-fA-F]+" context="#stay"/>
+-                              <RegExpr attribute="Bin" String="\b\-?0[bB][_01]+" context="#stay"/>
+-                              <RegExpr attribute="Octal" String="\b\-?0[1-7][_0-7]*" context="#stay"/>
+-                              <RegExpr attribute="Float" String="\b\-?[0-9][0-9_]*\.[0-9][0-9_]*([eE]\-?[1-9][0-9]*(\.[0-9]*)?)?" context="#stay"/>
+-                              <RegExpr attribute="Dec" String="\b\-?[1-9][0-9_]*\b" context="#stay"/>
+-                              <Int attribute="Dec" context="#stay"/>
+-                              <HlCChar attribute="Char" context="#stay"/>
+-                              
+-                              <!-- Check for =begin before assignment operator. -->
+-                              <StringDetect attribute="Blockcomment" String="=begin" context="Embedded documentation" beginRegion="comment block" column="0"/>
+-                              
+-                              <!-- recognize the beginning of a HEREDOC
+-                                      This uses new features in Kate 2.3 and later
+-                                      
+-                                      There is no other chance of keeping heredoc apart from the
+-                                      push operator '<<' than requiring to put space between the operator
+-                                                                              and the string.
+-                                                                              -->
+-                              <RegExpr attribute="Operator" context="find_indented_heredoc" String="\s*&lt;&lt;-(?=\w+|[&quot;'])" beginRegion="HereDocument" />
+-                              <RegExpr attribute="Operator" context="find_heredoc" String="\s*&lt;&lt;(?=\w+|[&quot;'])" beginRegion="HereDocument" />
+-                              
+-                              <DetectChar attribute="Operator" char="." context="#stay"/>
+-                              <Detect2Chars attribute="Operator" char="&amp;" char1="&amp;" context="#stay"/>
+-                              <Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="\s[\?\:\%/]\s" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="[|&amp;&lt;&gt;\^\+*~\-=]+" context="#stay"/>
+-                              <!-- regexp hack -->
+-                              <RegExpr attribute="Operator" String="\s!" context="#stay"/>
+-                              <RegExpr attribute="Operator" String="/=\s" context="#stay" insensitive="0"/>
+-                              <StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>
+-                              <Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/>
+-                              
+-                              <RegExpr attribute="Symbol" String=":[a-zA-Z_][a-zA-Z0-9_]*" context="#stay"/>
+-                              
+-                              <DetectChar attribute="String" char="&quot;" context="Quoted String"/>
+-                              <DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
+-                              <DetectChar attribute="Command" char="`" context="Command String"/>
+-                              
+-                              <StringDetect attribute="Normal Text" String="?#" context="#stay"/>
+-                              
+-                              <RegExpr attribute="Comment" String="#\s*BEGIN.*$"  context="#stay" beginRegion="marker" column="0"/>
+-                              <RegExpr attribute="Comment" String="#\s*END.*$"  context="#stay" endRegion="marker" column="0"/>
+-                              <RegExpr attribute="Comment" String="#"  context="Comment Line" firstNonSpace="true"/>
+-                              <RegExpr attribute="Comment" String="\s#"  context="General Comment"/>
+-                              
+-                              <RegExpr attribute="Delimiter" String="[\[\]]+"  context="#stay"/>
+-                              <DetectChar attribute="Delimiter" char="{" context="#stay" beginRegion="def block"/>
+-                              <DetectChar attribute="Delimiter" char="}" context="#stay" endRegion="def block"/>
+-                              
+-                              <RegExpr attribute="Instance Variable" String="@[a-zA-Z_0-9]+" context="#stay"/>
+-                              <RegExpr attribute="Class Variable" String="@@[a-zA-Z_0-9]+" context="#stay"/>
+-                              
+-                              <!-- handle the different regular expression formats -->
+-                              <DetectChar attribute="Regular Expression" char="/" context="RegEx 1"/>
+-                              
+-                              <!-- recognize the beginning of a general delimited input format -->
+-                              <!-- this moves to the next context to separate out the exact nature of the GDL input -->
+-                              <RegExpr attribute="GDL input" context="find_gdl_input" String="\s*[%](?=[Qqxw]?[^\s&gt;])" beginRegion="GdlInput" />
+-                      </context>
+-                      
+-                      <context name="Line Continue" attribute="Ruby Normal Text" lineEndContext="#pop">
+-                              <RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" firstNonSpace="true"/>
+-                              <RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" firstNonSpace="true"/>
+-                              <IncludeRules context="rubysource"/>
+-                      </context>
+-                      
+-                      <context name="Quoted String" attribute="String" lineEndContext="#stay">
+-                              <StringDetect attribute="String" String="\\" context="#stay"/>
+-                              <RegExpr attribute="String" String="\\\&quot;" context="#stay"/>
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                              <!--HlCChar attribute="Char" context="#pop"/-->
+-                              <DetectChar char="&quot;" attribute="String" context="#pop"/>
+-                      </context>
+-                      
+-                      <context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">
+-                              <!-- <HlCChar attribute="Char" context="#pop"/> -->
+-                              <StringDetect attribute="String" String="\\" context="#stay"/>
+-                              <RegExpr attribute="String" String="\\\'" context="#stay"/>
+-                              <DetectChar char="'" attribute="Raw String" context="#pop"/>
+-                      </context>
+-                      
+-                      <context name="Command String" attribute="Command" lineEndContext="#stay">
+-                              <StringDetect attribute="String" String="\\" context="#stay"/>
+-                              <RegExpr attribute="String" String="\\\`" context="#stay"/>
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                              <HlCChar attribute="Char" context="#pop"/>
+-                              <DetectChar char="`" attribute="Command" context="#pop"/>
+-                      </context>
+-                      
+-                      <context name="Embedded documentation" attribute="Ruby Comment" lineEndContext="#stay">
+-                              <StringDetect attribute="Ruby Comment" String="=end" context="#pop" endRegion="comment block" column="0"/>
+-                      </context>
+-                      
+-                      <context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
+-                              <RegExpr attribute="Regular Expression" String="\\\/" context="#stay"/>
+-                              <RegExpr attribute="Regular Expression" String="[^\\]$" context="#pop"/>
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                              <RegExpr attribute="Regular Expression" String="/[uiomxn]*" context="#pop"/>
+-                      </context>
+-                      
+-                      <!-- Substitutions can be nested -->
+-                      <context name="Subst" attribute="Ruby Normal Text" lineEndContext="#stay">
+-                              <DetectChar attribute="Substitution" char="}" context="#pop"/>
+-                              <!-- Highlight substitution as code. -->
+-                              <IncludeRules context="rubysource"/>
+-                      </context>
+-                      
+-                      <context name="Short Subst" attribute="Substitution" lineEndContext="#pop">
+-                              <!-- Check for e.g.: "#@var#@@xy" -->
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="#stay"/>
+-                              <RegExpr attribute="Substitution" String="\w(?!\w)" context="#pop"/>
+-                      </context>
+-                      
+-                      <!-- This handles access of nested module classes and class methods -->
+-                      <context name="Member Access" attribute="Member" lineEndContext="#pop">
+-                              <!-- marks a message (being sent, not defined) -->
+-                              <RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?(?=[^\w\d\.\:])" context="#pop"/>
+-                              <RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?" context="#stay"/>
+-                              <RegExpr attribute="Constant" String="[A-Z]+_*(\d|[a-z])\w*(?=[^\w\d\.\:])" context="#pop"/>
+-                              <RegExpr attribute="Constant" String="[A-Z]+_*([0-9]|[a-z])\w*" context="#stay"/>
+-                              <RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*(?=[^\w\d\.\:])" context="#pop"/>
+-                              <RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*" context="#stay"/>
+-                              <Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/>
+-                              <DetectChar attribute="Member" char="." context="#stay"/>
+-                              
+-                              <AnyChar attribute="Operator" String="=+-*/%|&amp;[]{}~" context="#pop"/>
+-                              <DetectChar attribute="Ruby Comment" char="#" context="#pop"/>
+-                              <AnyChar attribute="Ruby Normal Text" String="()\" context="#pop"/>
+-                              <RegExpr attribute="Member" String="\W" context="#pop"/>
+-                      </context>
+-                      
+-                      <context name="Comment Line" attribute="Ruby Comment" lineEndContext="#pop">
+-                              <RegExpr attribute="Ruby Comment" String="\w\:\:\s" context="RDoc Label"/>
+-                              <keyword attribute="Alert" String="attention" context="#stay"/>
+-                              <RegExpr attribute="Keyword" context="#pop#pop" String="-?%&gt;" />
+-                      </context>
+-                      
+-                      <context name="General Comment" attribute="Ruby Comment" lineEndContext="#pop">
+-                              <keyword attribute="Dec" String="attention" context="#stay"/>
+-                      </context>
+-                      
+-                      <context name="RDoc Label" attribute="RDoc Value" lineEndContext="#pop"/>
+-                      
+-                      <!-- HEREDOC support
+-                              The contexts below support both normal and indented heredocs
+-                              -->
+-                      <!-- here we markup the heredoc markers -->
+-                      <context name="find_heredoc" attribute="Ruby Normal Text" lineEndContext="#pop" >
+-                              <RegExpr attribute="Keyword" context="apostrophed_normal_heredoc" String="'(\w+)'" />
+-                              <RegExpr attribute="Keyword" context="normal_heredoc" String="&quot;?(\w+)&quot;?" />
+-                      </context>
+-                      <context name="find_indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#pop" >
+-                              <RegExpr attribute="Keyword" context="apostrophed_indented_heredoc" String="'(\w+)'" />
+-                              <RegExpr attribute="Keyword" context="indented_heredoc" String="&quot;?(\w+)&quot;?" />
+-                      </context>
+-                      <!-- these are the real heredoc contexts -->
+-                      <context name="indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+-                              <!--                            <RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
+-                              <RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
+-                              <IncludeRules context="heredoc_rules" />
+-                      </context>
+-                      <context name="apostrophed_indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+-                              <!--                            <RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
+-                              <RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
+-                      </context>
+-                      
+-                      <context name="normal_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+-                              <!--                            <RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
+-                              <RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
+-                              <IncludeRules context="heredoc_rules" />
+-                      </context>
+-                      <context name="apostrophed_normal_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+-                              <!--                            <RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
+-                              <RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
+-                      </context>
+-                      
+-                      <!-- rules for heredoc types -->
+-                      <context name="heredoc_rules" attribute="Ruby Normal Text" lineEndContext="#stay">
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                      </context>
+-                      
+-                      <!-- General delimited input support
+-                              The contexts below handle the various gdl formats
+-                              -->
+-                      <context name="find_gdl_input" attribute="Ruby Normal Text" lineEndContext="#pop">
+-                              
+-                              <!-- handle token arrays -->
+-                              <RegExpr attribute="GDL input" context="gdl_token_array_1" String="w\(" />
+-                              <RegExpr attribute="GDL input" context="gdl_token_array_2" String="w\{" />
+-                              <RegExpr attribute="GDL input" context="gdl_token_array_3" String="w\[" />
+-                              <RegExpr attribute="GDL input" context="gdl_token_array_4" String="w&lt;" />
+-                              <!-- then we handle the 'any char' format -->
+-                              <RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" />
+-                              
+-                              <!-- handle apostrophed strings -->
+-                              <RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />
+-                              <RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />
+-                              <RegExpr attribute="GDL input" context="gdl_apostrophed_3" String="q\[" />
+-                              <RegExpr attribute="GDL input" context="gdl_apostrophed_4" String="q&lt;" />
+-                              <!-- then we handle the 'any char' format -->
+-                              <RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" />
+-                              
+-                              <!-- handle shell commands -->
+-                              <RegExpr attribute="GDL input" context="gdl_shell_command_1" String="x\(" />
+-                              <RegExpr attribute="GDL input" context="gdl_shell_command_2" String="x\{" />
+-                              <RegExpr attribute="GDL input" context="gdl_shell_command_3" String="x\[" />
+-                              <RegExpr attribute="GDL input" context="gdl_shell_command_4" String="x&lt;" />
+-                              <!-- then we handle the 'any char' format -->
+-                              <RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" />
+-                              
+-                              <!-- handle regular expressions -->
+-                              <RegExpr attribute="GDL input" context="gdl_regexpr_1" String="r\(" />
+-                              <RegExpr attribute="GDL input" context="gdl_regexpr_2" String="r\{" />
+-                              <RegExpr attribute="GDL input" context="gdl_regexpr_3" String="r\[" />
+-                              <RegExpr attribute="GDL input" context="gdl_regexpr_4" String="r&lt;" />
+-                              <!-- then we handle the 'any char' format -->
+-                              <RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" />
+-                              
+-                              <!-- handle double-quoted strings -->
+-                              <!-- 
+-                                      be careful to make this the last GDL ruleset, because the rule for
+-                                      the short form %?foo? will otherwise catch any of the other formats
+-                                      -->
+-                              <RegExpr attribute="GDL input" context="gdl_dq_string_1" String="Q?\(" />
+-                              <RegExpr attribute="GDL input" context="gdl_dq_string_2" String="Q?\{" />
+-                              <RegExpr attribute="GDL input" context="gdl_dq_string_3" String="Q?\[" />
+-                              <RegExpr attribute="GDL input" context="gdl_dq_string_4" String="Q?&lt;" />
+-                              <!-- then we handle the 'any char' format -->
+-                              <RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" />
+-                              
+-                      </context>
+-                      <!-- double-quoted string specific contexts follow -->
+-                      <context name="gdl_dq_string_1" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="dq_string_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
+-                              <DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_dq_string_1_nested" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="dq_string_rules" />
+-                              <DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
+-                              <DetectChar attribute="String" context="#pop" char=")" />
+-                      </context>
+-                      <!-- note that here substitution should win over nesting -->
+-                      <context name="gdl_dq_string_2" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="dq_string_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+-                              <DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
+-                      </context>
+-                      <context name="gdl_dq_string_2_nested" attribute="String" lineEndContext="#stay" >
+-                              <DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
+-                              <DetectChar attribute="String" context="#pop" char="}" />
+-                              <IncludeRules context="dq_string_rules" />
+-                      </context>
+-                      
+-                      <context name="gdl_dq_string_3" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="dq_string_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
+-                              <DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_dq_string_3_nested" attribute="String" lineEndContext="#stay" >
+-                              <DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
+-                              <DetectChar attribute="String" context="#pop" char="]" />
+-                              <IncludeRules context="dq_string_rules" />
+-                      </context>
+-                      
+-                      <context name="gdl_dq_string_4" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="dq_string_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1="&gt;" context="#stay"/>
+-                              <DetectChar attribute="String" context="gdl_dq_string_4_nested" char="&lt;" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_dq_string_4_nested" attribute="String" lineEndContext="#stay" >
+-                              <DetectChar attribute="String" context="gdl_dq_string_4_nested" char="&lt;" />
+-                              <DetectChar attribute="String" context="#pop" char="&gt;" />
+-                              <IncludeRules context="dq_string_rules" />
+-                      </context>
+-                      
+-                      <!-- this format doesn't allow nesting. it is terminated by the next occurence of the
+-                              delimiter character
+-                              -->
+-                      <context name="gdl_dq_string_5" attribute="String" lineEndContext="#stay" dynamic="true">
+-                              <IncludeRules context="dq_string_rules" />
+-                              <RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true" />
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+-                      </context>
+-                      <!-- rules to be included in all dq_string contexts -->
+-                      <context name="dq_string_rules" attribute="String" lineEndContext="#stay" >
+-                              <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                      </context>
+-                      
+-                      <!-- token array specific contexts -->
+-                      
+-                      <context name="gdl_token_array_1" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
+-                              <DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_token_array_1_nested" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
+-                              <DetectChar attribute="String" context="#pop" char=")" />
+-                      </context>
+-                      
+-                      <context name="gdl_token_array_2" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+-                              <DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
+-                      </context>
+-                      <context name="gdl_token_array_2_nested" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
+-                              <DetectChar attribute="String" context="#pop" char="}" />
+-                      </context>
+-                      
+-                      <context name="gdl_token_array_3" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
+-                              <DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_token_array_3_nested" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
+-                              <DetectChar attribute="String" context="#pop" char="]" />
+-                      </context>
+-                      
+-                      <context name="gdl_token_array_4" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <Detect2Chars attribute="String" char="\" char1="&gt;" context="#stay"/>
+-                              <DetectChar attribute="String" context="gdl_token_array_4_nested" char="&lt;" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_token_array_4_nested" attribute="String" lineEndContext="#stay" >
+-                              <IncludeRules context="token_array_rules" />
+-                              <DetectChar attribute="String" context="gdl_token_array_4_nested" char="&lt;" />
+-                              <DetectChar attribute="String" context="#pop" char="&gt;" />
+-                      </context>
+-                      
+-                      <!-- this format doesn't allow nesting. it is terminated by the next occurence of the
+-                              delimiter character
+-                              -->
+-                      <context name="gdl_token_array_5" attribute="String" lineEndContext="#stay" dynamic="true">
+-                              <IncludeRules context="token_array_rules" />
+-                              <RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true"/>
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+-                      </context>
+-                      
+-                      <!-- rules to be included in all token_array contexts -->
+-                      <context name="token_array_rules" attribute="String" lineEndContext="#stay" >
+-                              <StringDetect attribute="String" String="\\" context="#stay"/>
+-                      </context>
+-                      
+-                      <!-- apostrophed string specific contexts -->
+-                      
+-                      <context name="gdl_apostrophed_1" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <Detect2Chars attribute="Raw String" char="\" char1=")" context="#stay"/>
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_apostrophed_1_nested" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
+-                              <DetectChar attribute="Raw String" context="#pop" char=")" />
+-                      </context>
+-                      
+-                      <context name="gdl_apostrophed_2" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <Detect2Chars attribute="Raw String" char="\" char1="}" context="#stay"/>
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
+-                      </context>
+-                      <context name="gdl_apostrophed_2_nested" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
+-                              <DetectChar attribute="Raw String" context="#pop" char="}" />
+-                      </context>
+-                      
+-                      <context name="gdl_apostrophed_3" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <Detect2Chars attribute="Raw String" char="\" char1="]" context="#stay"/>
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_apostrophed_3_nested" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
+-                              <DetectChar attribute="Raw String" context="#pop" char="]" />
+-                      </context>
+-                      
+-                      <context name="gdl_apostrophed_4" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <Detect2Chars attribute="Raw String" char="\" char1="&gt;" context="#stay"/>
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="&lt;" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_apostrophed_4_nested" attribute="Raw String" lineEndContext="#stay" >
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="&lt;" />
+-                              <DetectChar attribute="Raw String" context="#pop" char="&gt;" />
+-                      </context>
+-                      
+-                      <!-- this format doesn't allow nesting. it is terminated by the next occurence of the
+-                              delimiter character
+-                              -->
+-                      <context name="gdl_apostrophed_5" attribute="Raw String" lineEndContext="#stay" dynamic="true">
+-                              <IncludeRules context="apostrophed_rules" />
+-                              <RegExpr attribute="Raw String" String="\\%1" context="#stay" dynamic="true"/>
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+-                      </context>
+-                      
+-                      <!-- rules to be included in all apostrophed contexts -->
+-                      <context name="apostrophed_rules" attribute="Raw String" lineEndContext="#stay" >
+-                              <Detect2Chars attribute="Raw String" char="\" char1="\" context="#stay"/>
+-                      </context>
+-                      
+-                      <!-- shell command specific contexts -->
+-                      
+-                      <context name="gdl_shell_command_1" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <Detect2Chars attribute="Command" char="\" char1=")" context="#stay"/>
+-                              <DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_shell_command_1_nested" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
+-                              <DetectChar attribute="Command" context="#pop" char=")" />
+-                      </context>
+-                      
+-                      <context name="gdl_shell_command_2" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <Detect2Chars attribute="Command" char="\" char1="}" context="#stay"/>
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+-                              <DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
+-                      </context>
+-                      <context name="gdl_shell_command_2_nested" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
+-                              <DetectChar attribute="Command" context="#pop" char="}" />
+-                      </context>
+-                      
+-                      <context name="gdl_shell_command_3" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <Detect2Chars attribute="Command" char="\" char1="]" context="#stay"/>
+-                              <DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_shell_command_3_nested" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
+-                              <DetectChar attribute="Command" context="#pop" char="]" />
+-                      </context>
+-                      
+-                      <context name="gdl_shell_command_4" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <Detect2Chars attribute="Command" char="\" char1="&gt;" context="#stay"/>
+-                              <DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="&lt;" />
+-                              <DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_shell_command_4_nested" attribute="Command" lineEndContext="#stay" >
+-                              <IncludeRules context="shell_command_rules" />
+-                              <DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="&lt;" />
+-                              <DetectChar attribute="Command" context="#pop" char="&gt;" />
+-                      </context>
+-                      
+-                      <!-- this format doesn't allow nesting. it is terminated by the next occurence of the
+-                              delimiter character
+-                              -->
+-                      <context name="gdl_shell_command_5" attribute="Command" lineEndContext="#stay" dynamic="true">
+-                              <IncludeRules context="shell_command_rules" />
+-                              <RegExpr attribute="Command" String="\\%1" context="#stay" dynamic="true" />
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+-                      </context>
+-                      
+-                      <!-- rules to be included in all shell_command contexts -->
+-                      <context name="shell_command_rules" attribute="Command" lineEndContext="#stay" >
+-                              <Detect2Chars attribute="Command" char="\" char1="\" context="#stay"/>
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                      </context>
+-                      
+-                      <!-- regular expression specific contexts -->
+-                      
+-                      <context name="gdl_regexpr_1" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <Detect2Chars attribute="Regular Expression" char="\" char1=")" context="#stay"/>
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\)[uiomxn]*" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_regexpr_1_nested" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
+-                              <DetectChar attribute="Regular Expression" context="#pop" char=")" />
+-                      </context>
+-                      
+-                      <context name="gdl_regexpr_2" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <Detect2Chars attribute="Regular Expression" char="\" char1="}" context="#stay"/>
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\}[uiomxn]*" endRegion="GdlInput" />
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
+-                      </context>
+-                      <context name="gdl_regexpr_2_nested" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
+-                              <DetectChar attribute="Regular Expression" context="#pop" char="}" />
+-                      </context>
+-                      
+-                      <context name="gdl_regexpr_3" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <Detect2Chars attribute="Regular Expression" char="\" char1="]" context="#stay"/>
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\][uiomxn]*" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_regexpr_3_nested" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
+-                              <DetectChar attribute="Regular Expression" context="#pop" char="]" />
+-                      </context>
+-                      
+-                      <context name="gdl_regexpr_4" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <Detect2Chars attribute="Regular Expression" char="\" char1="&gt;" context="#stay"/>
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="&lt;" />
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="&gt;[uiomxn]*" endRegion="GdlInput" />
+-                      </context>
+-                      <context name="gdl_regexpr_4_nested" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <IncludeRules context="regexpr_rules" />
+-                              <DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="&lt;" />
+-                              <DetectChar attribute="Regular Expression" context="#pop" char="&gt;" />
+-                      </context>
+-                      
+-                      <!-- this format doesn't allow nesting. it is terminated by the next occurence of the
+-                              delimiter character
+-                              -->
+-                      <context name="gdl_regexpr_5" attribute="Regular Expression" lineEndContext="#stay" dynamic="true">
+-                              <IncludeRules context="regexpr_rules" />
+-                              <RegExpr attribute="Regular Expression" String="\\%1" context="#stay" dynamic="true" />
+-                              <RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1[uiomxn]*" dynamic="true" endRegion="GdlInput" />
+-                      </context>
+-                      
+-                      <!-- rules to be included in all regexpr contexts -->
+-                      <context name="regexpr_rules" attribute="Regular Expression" lineEndContext="#stay" >
+-                              <Detect2Chars attribute="Regular Expression" char="\" char1="\" context="#stay"/>
+-                              <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+-                              <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+-                      </context>
+-                      
+-                      <!-- END of General delimited input support -->
+-                      
+-                      <!-- handle data in script -->
+-                      <context name="DATA" attribute="Data" lineEndContext="#stay"/>
+-              <!-- END Ruby contexts -->                      
+-              </contexts>
+-              
+-              <itemDatas>
+-              <!-- BEGIN Ruby itemData -->
+-                      <itemData name="Ruby Normal Text" defStyleNum="dsNormal"/>
+-                      
+-                      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+-                      <itemData name="Attribute Definition" defStyleNum="dsOthers"/>
+-                      <itemData name="Access Control" defStyleNum="dsKeyword" color="#0000FF"/>
+-                      <itemData name="Definition" defStyleNum="dsKeyword"/>
+-                      <itemData name="Pseudo variable" defStyleNum="dsDecVal"/>
+-                      
+-                      <itemData name="Dec" defStyleNum="dsDecVal"/>
+-                      <itemData name="Float" defStyleNum="dsFloat"/>
+-                      <itemData name="Char" defStyleNum="dsChar"/>
+-                      <itemData name="Octal" defStyleNum="dsBaseN"/>
+-                      <itemData name="Hex" defStyleNum="dsBaseN"/>
+-                      <itemData name="Bin" defStyleNum="dsBaseN"/>
+-                      
+-                      <itemData name="Symbol" defStyleNum="dsString" color="#D40000"/>
+-                      <itemData name="String" defStyleNum="dsString"/>
+-                      <itemData name="Raw String" defStyleNum="dsString" color="#DD4A4A" selColor="#DD4A4A"/>
+-                      <itemData name="Command" defStyleNum="dsString" color="#AA3000"/>
+-                      <itemData name="Message" defStyleNum="dsNormal" color="#4000A7"/> <!-- #4A00C0 -->
+-                      <itemData name="Regular Expression" defStyleNum="dsOthers" color="#4A5704"/>
+-                      <itemData name="Substitution"   defStyleNum="dsOthers"/>
+-                      <itemData name="Data" defStyleNum="dsNormal"/>
+-                      <!-- short for 'general delimited input' -->
+-                      <itemData name="GDL input" defStyleNum="dsOthers" />
+-                      
+-                      <itemData name="Default globals" defStyleNum="dsDataType" color="#C00000" bold="1"/>
+-                      <itemData name="Global Variable" defStyleNum="dsDataType" color="#C00000"/>
+-                      <itemData name="Global Constant" defStyleNum="dsDataType" color="#bb1188" bold="1"/>
+-                      <itemData name="Constant" defStyleNum="dsDataType"/>
+-                      <itemData name="Constant Value" defStyleNum="dsDataType" color="#bb1188"/>
+-                      <itemData name="Kernel methods" defStyleNum="dsNormal" color="#000080" selColor="#ffffff"/> <!-- #CC0E86 -->
+-                      <itemData name="Member" defStyleNum="dsNormal"/>
+-                      <itemData name="Instance Variable" defStyleNum="dsOthers"/>
+-                      <itemData name="Class Variable" defStyleNum="dsOthers"/>
+-                      
+-                      <itemData name="Ruby Comment" defStyleNum="dsComment"/>
+-                      <itemData name="Blockcomment" defStyleNum="dsComment"/>
+-                      <itemData name="Region Marker" defStyleNum="dsNormal" color="#0000ff"/>
+-                      <itemData name="RDoc Value" defStyleNum="dsOthers"/>
+-                      
+-                      <!-- use these to mark errors and alerts things -->
+-                      <itemData name="Error" defStyleNum="dsError" />
+-                      <itemData name="Alert" defStyleNum="dsAlert" />
+-
+-                      <itemData name="Delimiter" defStyleNum="dsChar"/>
+-                      <itemData name="Expression" defStyleNum="dsOthers"/>
+-                      <itemData name="Operator" defStyleNum="dsChar"/>
+-              <!-- END Ruby itemData -->
+-                      
+-              <!-- BEGIN HTML itemData -->
+-                      <itemData name="Normal Text" defStyleNum="dsNormal" />
+-                      <itemData name="Comment" defStyleNum="dsComment" />
+-                      <itemData name="CDATA" defStyleNum="dsBaseN" bold="1" />
+-                      <itemData name="Processing Instruction" defStyleNum="dsKeyword" />
+-                      <itemData name="Doctype" defStyleNum="dsDataType" bold="1" />
+-                      <itemData name="Element" defStyleNum="dsKeyword" />
+-                      <itemData name="Attribute" defStyleNum="dsOthers" />
+-                      <itemData name="Value" defStyleNum="dsString" color="#a00" />
+-                      <itemData name="EntityRef" defStyleNum="dsDecVal" />
+-                      <itemData name="PEntityRef" defStyleNum="dsDecVal" />
+-                      <itemData name="Error" defStyleNum="dsError" />
+-              <!-- END HTML itemData -->
+-              
+-              </itemDatas>
+-      </highlighting>
+-      <general>
+-              <comments>
+-                      <comment name="singleLine" start="#"/>
+-                      <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+-              </comments>
+-              <keywords casesensitive="1" weakDeliminator="!?"/> 
+-      </general>
+-</language>
+diff -ur kdelibs-3.5.8/kate/data.org/ruby.xml kdelibs-3.5.8/kate/data/ruby.xml
+--- kdelibs-3.5.8/kate/data.org/ruby.xml       2007-10-08 11:51:56.000000000 +0200
++++ kdelibs-3.5.8/kate/data/ruby.xml   2006-04-14 21:48:14.000000000 +0200
+@@ -34,7 +34,7 @@
+ -->
+ <!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
+-<language name="Ruby" version="1.17" kateversion="2.4" section="Scripts" extensions="*.rb;*.rjs;*.rxml;*.xml.erb;*.js.erb" mimetype="application/x-ruby" author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi)" license="LGPL">
++<language name="Ruby" version="1.17" kateversion="2.4" section="Scripts" extensions="*.rb;*.rjs;*.rxml" mimetype="application/x-ruby" author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi)" license="LGPL">
+       
+       <highlighting>
+       
+diff -ur kdelibs-3.5.8/kate/data.org/tcl.xml kdelibs-3.5.8/kate/data/tcl.xml
+--- kdelibs-3.5.8/kate/data.org/tcl.xml        2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/tcl.xml    2007-10-18 00:00:46.000000000 +0200
+@@ -4,8 +4,29 @@
+ <!-- Authors: Alexander Dederer & JM. Philippe -->
+ <!-- Copyright: BSD copyright & Irsid - Arcelor Innovation R&D -->
+ <!-- Ported to Kate 2.0/ KWrite 4.0 by Joseph Wenninger (Updated by Simon Robins)-->
++<!--
++    Updated by Pawel Salawa (boogie at scripts dot one dot pl)
+-<language name="Tcl/Tk" version="1.08" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl">
++    Revision history:
++        1.10:
++            - Fixed problem with single ':' character after variable name (it's no longer variable,
++              because only double-colon is namespace delimiter and can be part of variable name).
++            - Fixed problem with matching quote character next to regular character, for example:
++              puts {"string"}
++              In that case left bracked was marked as string, but it's no longer like that.
++            - Fixed problem with variable names like: ${text\}test}
++              It whole is valid variable name, because of escape character.
++            - Fixed problem with marking ';' character as a comment when '#' character was after the ';'.
++            - Fixed problem with marking options. '-' character after word-delimiter character caused
++              marking that word-delimiter character as option too, even it wasn't white-space.
++            - Few other minor optimalizations.
++      1.09:
++          - Added fast comments support (Ctrl+d or whatever your shortcut is)
++          - Fixed single-character variables detection
++          - Fixed detection of varaibles with names containing serval namespace delimiters (::)
++-->
++
++<language name="Tcl/Tk" version="1.10" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl">
+   <highlighting>
+     <list name="keywords">
+       <item> after </item>
+@@ -441,24 +462,39 @@
+     <contexts>
+       <context name = "Base" attribute = "Normal Text" lineEndContext="#stay">
++      
++        <!-- Virtual blocks -->
+         <RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="region" firstNonSpace="true"/>
+         <RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="region" firstNonSpace="true"/>
++        
++        <!-- Standard -->
+         <keyword String = "keywords" attribute = "Keyword" context="#stay"/>
+         <keyword String = "keywords-opt" attribute = "Parameter" context="#stay"/>
+         <Float attribute = "Float" context="#stay"/>
+         <Int attribute ="Decimal" context="#stay"/>
+         <RegExpr String="\\." attribute = "Char" context = "#stay"/>
+-        <RegExpr String = "\W-\w+" attribute = "Parameter" context="#stay"/>
+-        <RegExpr String = "\$\{[^\}]+\}" attribute = "Variable" context="#stay"/>
+-        <RegExpr String = "\$(::)?[\S\D]\w+" attribute = "Variable" context="#stay"/>
+-        <RegExpr String = "[^\\]&quot;&quot;" attribute = "String" context="#stay"/>
+-        <RegExpr String = "[^\\]&quot;" attribute = "String" context="String"/>
+-        <RegExpr String= "#.*$" attribute = "Comment" context="#stay" firstNonSpace="true"/>
+-        <RegExpr String= ";\s*#.*$" attribute = "Comment" context="#stay"/>
++        
++        <!-- Options -->
++        <RegExpr String = "\s-\w+" attribute = "Parameter" context="#stay"/>
++        
++        <!-- Variables -->
++        <RegExpr String = "\$\{([^\}]|\\\})+\}" attribute = "Variable" context="#stay"/>
++        <RegExpr String = "\$(::|\w)+" attribute = "Variable" context="#stay"/>
++        
++        <!-- Strings -->
++        <RegExpr String = "&quot;{2}" attribute = "String" context="#stay"/>
++        <RegExpr String = "&quot;" attribute = "String" context="String"/>
++        
++        <!-- Comments -->
++        <DetectChar char = ";" attribute = "Normal Text" context="New command line" />
++        <DetectChar char = "#" attribute = "Comment" context="Comment" firstNonSpace="true"/>
++        
++        <!-- Braces, brackets, etc -->
+         <DetectChar char = "{" attribute = "Keyword" context="#stay" beginRegion="block"/>
+         <DetectChar char = "}" attribute = "Keyword" context="#stay" endRegion="block"/>
+         <DetectChar char = "[" attribute = "Keyword" context="#stay"/>
+         <DetectChar char = "]" attribute = "Keyword" context="#stay"/>
++        
+       </context>
+       <context name = "String" attribute = "String" lineEndContext="#stay">
+@@ -466,6 +502,13 @@
+         <DetectChar char="&quot;" attribute = "String" context = "#pop"/>
+         <DetectChar char  = "$" attribute = "Variable" context="#stay"/>
+       </context>
++
++      <context name = "Comment" attribute = "Comment" lineEndContext="#pop"/>
++
++      <context name = "New command line" attribute = "Normal Text" lineEndContext="#stay">
++        <RegExpr String = "\s*#" attribute="Comment" context="Comment" />
++        <RegExpr String = "." attribute="Normal Text" context="#pop" lookAhead="true" />
++      </context>
+     </contexts>
+     <itemDatas>
+@@ -484,6 +527,9 @@
+   </highlighting>
+   <general>
++    <comments>
++      <comment name="singleLine" start="#" />
++    </comments>
+     <keywords casesensitive="1"/>
+   </general>
+diff -ur kdelibs-3.5.8/kate/data.org/verilog.xml kdelibs-3.5.8/kate/data/verilog.xml
+--- kdelibs-3.5.8/kate/data.org/verilog.xml    2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/verilog.xml        2006-08-09 20:12:57.000000000 +0200
+@@ -1,11 +1,9 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE language SYSTEM "language.dtd">
+-<language name="Verilog" version="1.07" kateversion="2.4" section="Hardware" extensions="*.v;*.V;*.vl" mimetype="text/x-verilog-src" author="Yevgen Voronenko (ysv22@drexel.edu)" license="">
++<language name="Verilog" version="1.08" kateversion="2.4" section="Hardware" extensions="*.v;*.V;*.vl" mimetype="text/x-verilog-src" author="Yevgen Voronenko (ysv22@drexel.edu)" license="">
+   <highlighting>
+     <list name="keywords">
+-      <item> module </item>
+       <item> macromodule </item>
+-      <item> endmodule </item>
+       <item> task </item>
+       <item> endtask </item>
+       <item> function </item>
+@@ -24,8 +22,6 @@
+       <item> defparam </item>
+       <item> default </item>
+-      <item> begin </item>
+-      <item> end </item>
+       <item> if </item>
+       <item> ifnone </item>
+       <item> else </item>
+@@ -124,9 +120,26 @@
+       <item> event </item>
+     </list>
++    <list name="begin">
++    <item>begin</item>
++    </list>
++    <list name="end">
++    <item>end</item>
++    </list>
++    <list name="module">
++    <item>module</item>
++    </list>
++    <list name="endmodule">
++    <item>endmodule</item>
++    </list>
++
+     <contexts>
+       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+-        <RegExpr attribute="Keyword" context="Block name" String="begin\ *:"/>
++        <RegExpr attribute="Keyword" context="Block name" String="begin\ *:" beginRegion="beginend"/>
++        <keyword  attribute="Keyword" context="#stay" String="begin" beginRegion="beginend"/>
++        <keyword attribute="Keyword" context="#stay" String="end" endRegion="beginend"/>
++        <keyword  attribute="Keyword" context="#stay" String="module" beginRegion="moduleEndmodule"/>
++        <keyword attribute="Keyword" context="#stay" String="endmodule" endRegion="moduleEndmodule"/>
+         <keyword attribute="Keyword" context="#stay" String="keywords" />
+         <keyword attribute="Data Type" context="#stay" String="types" />
+         <keyword attribute="Drive/charge strength" context="#stay" String="strength" />
+@@ -146,7 +159,7 @@
+         <DetectChar attribute="String" context="String" char="&quot;"/>
+         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+-        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*"/>
++        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="comment"/>
+         <AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;=+/:;&gt;?[]^{|}~@"/>
+         <StringDetect attribute="Comment" context="Some Context2" String="#if 0" insensitive="FALSE" firstNonSpace="true"/>
+@@ -166,7 +179,7 @@
+       </context>
+       <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+         <RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" />
+-        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
++        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment"/>
+       </context>
+       <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+         <LineContinue attribute="Preprocessor" context="Some Context"/>
+diff -ur kdelibs-3.5.8/kate/data.org/vhdl.xml kdelibs-3.5.8/kate/data/vhdl.xml
+--- kdelibs-3.5.8/kate/data.org/vhdl.xml       2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/vhdl.xml   2007-10-18 06:00:23.000000000 +0200
+@@ -1,286 +1,323 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE language SYSTEM "language.dtd">
+-<language name="VHDL" version="1.04" kateversion="2.1" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl">
+-    <highlighting>
+-        <list name="keywords">
+-            <item> access </item>
+-            <item> after </item>
+-            <item> alias </item>
+-            <item> all </item>
+-            <item> assert </item>
+-            <item> architecture </item>
+-            <item> begin </item>
+-            <item> block </item>
+-            <item> body </item>
+-            <item> buffer </item>
+-            <item> bus </item>
+-            <item> case </item>
+-            <item> component </item>
+-            <item> configuration </item>
+-            <item> constant </item>
+-            <item> disconnect </item>
+-            <item> downto </item>
+-            <item> else </item>
+-            <item> elsif </item>
+-            <item> end </item>
+-            <item> entity </item>
+-            <item> exit </item>
+-            <item> file </item>
+-            <item> for </item>
+-            <item> function </item>
+-            <item> generate </item>
+-            <item> generic </item>
+-            <item> group </item>
+-            <item> guarded </item>
+-            <item> if </item>
+-            <item> impure </item>
+-            <item> in </item>
+-            <item> inertial </item>
+-            <item> inout </item>
+-            <item> is </item>
+-            <item> label </item>
+-            <item> library </item>
+-            <item> linkage </item>
+-            <item> literal </item>
+-            <item> loop </item>
+-            <item> map </item>
+-            <item> new </item>
+-            <item> next </item>
+-            <item> null </item>
+-            <item> of </item>
+-            <item> on </item>
+-            <item> open </item>
+-            <item> others </item>
+-            <item> out </item>
+-            <item> package </item>
+-            <item> port </item>
+-            <item> postponed </item>
+-            <item> procedure </item>
+-            <item> process </item>
+-            <item> pure </item>
+-            <item> range </item>
+-            <item> record </item>
+-            <item> register </item>
+-            <item> reject </item>
+-            <item> report </item>
+-            <item> return </item>
+-            <item> select </item>
+-            <item> severity </item>
+-            <item> signal </item>
+-            <item> shared </item>
+-            <item> subtype </item>
+-            <item> then </item>
+-            <item> to </item>
+-            <item> transport </item>
+-            <item> type </item>
+-            <item> unaffected </item>
+-            <item> units </item>
+-            <item> until </item>
+-            <item> use </item>
+-            <item> variable </item>
+-            <item> wait </item>
+-            <item> when </item>
+-            <item> while </item>
+-            <item> with </item>
+-            <item> note </item>
+-            <item> warning </item>
+-            <item> error </item>
+-            <item> failure </item>
+-            <item> ACCESS </item>
+-            <item> AFTER </item>
+-            <item> ALIAS </item>
+-            <item> ALL </item>
+-            <item> ASSERT </item>
+-            <item> ARCHITECTURE </item>
+-            <item> BEGIN </item>
+-            <item> BLOCK </item>
+-            <item> BODY </item>
+-            <item> BUFFER </item>
+-            <item> BUS </item>
+-            <item> CASE </item>
+-            <item> COMPONENT </item>
+-            <item> CONFIGURATION </item>
+-            <item> CONSTANT </item>
+-            <item> DISCONNECT </item>
+-            <item> DOWNTO </item>
+-            <item> ELSE </item>
+-            <item> ELSIF </item>
+-            <item> END </item>
+-            <item> ENTITY </item>
+-            <item> EXIT </item>
+-            <item> FILE </item>
+-            <item> FOR </item>
+-            <item> FUNCTION </item>
+-            <item> GENERATE </item>
+-            <item> GENERIC </item>
+-            <item> GROUP </item>
+-            <item> GUARDED </item>
+-            <item> IF </item>
+-            <item> IMPURE </item>
+-            <item> IN </item>
+-            <item> INERTIAL </item>
+-            <item> INOUT </item>
+-            <item> IS </item>
+-            <item> LABEL </item>
+-            <item> LIBRARY </item>
+-            <item> LINKAGE </item>
+-            <item> LITERAL </item>
+-            <item> LOOP </item>
+-            <item> MAP </item>
+-            <item> NEW </item>
+-            <item> NEXT </item>
+-            <item> NULL </item>
+-            <item> OF </item>
+-            <item> ON </item>
+-            <item> OPEN </item>
+-            <item> OTHERS </item>
+-            <item> OUT </item>
+-            <item> PACKAGE </item>
+-            <item> PORT </item>
+-            <item> POSTPONED </item>
+-            <item> PROCEDURE </item>
+-            <item> PROCESS </item>
+-            <item> PURE </item>
+-            <item> RANGE </item>
+-            <item> RECORD </item>
+-            <item> REGISTER </item>
+-            <item> REJECT </item>
+-            <item> REPORT </item>
+-            <item> RETURN </item>
+-            <item> SELECT </item>
+-            <item> SEVERITY </item>
+-            <item> SIGNAL </item>
+-            <item> SHARED </item>
+-            <item> SUBTYPE </item>
+-            <item> THEN </item>
+-            <item> TO </item>
+-            <item> TRANSPORT </item>
+-            <item> TYPE </item>
+-            <item> UNAFFECTED </item>
+-            <item> UNITS </item>
+-            <item> UNTIL </item>
+-            <item> USE </item>
+-            <item> VARIABLE </item>
+-            <item> WAIT </item>
+-            <item> WHEN </item>
+-            <item> WHILE </item>
+-            <item> WITH </item>
+-            <item> NOTE </item>
+-            <item> WARNING </item>
+-            <item> ERROR </item>
+-            <item> FAILURE </item>
+-            <item> and </item>
+-            <item> or </item>
+-            <item> xor </item>
+-            <item> not </item>
+-            <item> AND </item>
+-            <item> OR </item>
+-            <item> XOR </item>
+-            <item> NOT </item>
+-         </list>
+-        <list name="types">
+-            <item> bit </item>
+-            <item> bit_vector </item>
+-            <item> character </item>
+-            <item> boolean </item>
+-            <item> integer </item>
+-            <item> real </item>
+-            <item> time </item>
+-            <item> string </item>
+-            <item> severity_level </item>
+-            <item> positive </item>
+-            <item> natural </item>
+-            <item> signed </item>
+-            <item> unsigned </item>
+-            <item> line </item>
+-            <item> text </item>
+-            <item> std_logic </item>
+-            <item> std_logic_vector </item>
+-            <item> std_ulogic </item>
+-            <item> std_ulogic_vector </item>
+-            <item> qsim_state </item>
+-            <item> qsim_state_vector </item>
+-            <item> qsim_12state </item>
+-            <item> qsim_12state_vector </item>
+-            <item> qsim_strength </item>
+-            <item> mux_bit </item>
+-            <item> mux_vector </item>
+-            <item> reg_bit </item>
+-            <item> reg_vector </item>
+-            <item> wor_bit </item>
+-            <item> wor_vector </item>
+-            <item> BIT </item>
+-            <item> BIT_VECTOR </item>
+-            <item> CHARACTER </item>
+-            <item> BOOLEAN </item>
+-            <item> INTEGER </item>
+-            <item> REAL </item>
+-            <item> TIME </item>
+-            <item> STRING </item>
+-            <item> SEVERITY_LEVEL </item>
+-            <item> POSITIVE </item>
+-            <item> NATURAL </item>
+-            <item> SIGNED </item>
+-            <item> UNSIGNED </item>
+-            <item> LINE </item>
+-            <item> TEXT </item>
+-            <item> STD_LOGIC </item>
+-            <item> STD_LOGIC_VECTOR </item>
+-            <item> STD_ULOGIC </item>
+-            <item> STD_ULOGIC_VECTOR </item>
+-            <item> QSIM_STATE </item>
+-            <item> QSIM_STATE_VECTOR </item>
+-            <item> QSIM_12STATE </item>
+-            <item> QSIM_12STATE_VECTOR </item>
+-            <item> QSIM_STRENGTH </item>
+-            <item> MUX_BIT </item>
+-            <item> MUX_VECTOR </item>
+-            <item> REG_BIT </item>
+-            <item> REG_VECTOR </item>
+-            <item> WOR_BIT </item>
+-            <item> WOR_VECTOR </item>
+-        </list>
+-        <contexts>
+-            <context name="normal" attribute="Normal Text" lineEndContext="#stay">
+-                <keyword attribute="Keyword" context="#stay"  String="keywords"/>
+-                <keyword attribute="Data Type" context="#stay"  String="types"/>
+-                <Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
+-                <Int attribute="Integer" context="#stay" />
+-                <HlCChar attribute="Bit" context="#stay" />
+-                <DetectChar attribute="Vector" context="string" char="&quot;" />
+-                <AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|]().,;" />
+-                <DetectChar attribute="Attribute" context="attribute" char="'" />
+-             </context>
+-            <context name="comment" attribute="Comment" lineEndContext="#pop" />
+-            <context name="string" attribute="Vector" lineEndContext="#stay" >
+-                <DetectChar attribute="Vector" context="#pop" char="&quot;" />
+-            </context>
+-            <context name="attribute" attribute="Attribute" lineEndContext="#pop">
+-                <DetectChar attribute="Attribute" context="quot in att" char="&quot;" />
+-                <DetectChar attribute="Normal Text" context="#pop" char=" " />
+-                <AnyChar attribute="Attribute" context="#pop" String=")=&lt;&gt;" />
+-            </context>
+-            <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
+-                <DetectChar attribute="Attribute" context="#pop" char="&quot;" />
+-            </context>
+-        </contexts>
+-        <itemDatas>
+-            <itemData name="Normal Text" defStyleNum="dsNormal" />
+-            <itemData name="Keyword" defStyleNum="dsKeyword" />
+-            <itemData name="Data Type" defStyleNum="dsDataType" />
+-            <itemData name="Comment" defStyleNum="dsComment" />
+-            <itemData name="Integer" defStyleNum="dsDecVal" />
+-            <itemData name="Bit" defStyleNum="dsChar" />
+-            <itemData name="Vector" defStyleNum="dsString" />
+-            <itemData name="Operator" defStyleNum="dsOthers" />
+-            <itemData name="Attribute" defStyleNum="dsBaseN" />
+-        </itemDatas>
+-    </highlighting>
++<!DOCTYPE language SYSTEM "language.dtd"
++[
++  <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
++  <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
++  <!ENTITY bos      "(|[^&quot;-]*)\b">                       <!-- bol or space following -->
++<!--  <!ENTITY bos      "^(|.*\s)">-->                        <!-- bol or space following -->
++  <!ENTITY eos      "\b">             <!-- eol or space following -->
++<!--  <!ENTITY eos      "(?=($|\s))">-->              <!-- eol or space following -->
++  <!ENTITY noword   "(?![\w$+-])">            <!-- no word, $, + or - following -->
++]>
++<language name="VHDL" version="1.07" kateversion="2.3" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de)">
++  <highlighting>
++    <list name="keywordsToplevel">
++      <item> file </item>
++      <item> package </item>
++      <item> library </item>
++      <item> use </item>
++<!--
++      <item> entity </item>
++      <item> architecture </item>
++      <item> of </item>
++      <item> configuration </item>
++-->
++    </list>
++    <list name="keywords">
++      <item> access </item>
++      <item> after </item>
++      <item> alias </item>
++      <item> all </item>
++      <item> assert </item>
++      <item> begin </item>
++      <item> block </item>
++      <item> body </item>
++      <item> bus </item>
++      <item> component </item>
++      <item> constant </item>
++      <item> disconnect </item>
++      <item> downto </item>
++      <item> end </item>
++      <item> exit </item>
++      <item> function </item>
++      <item> generate </item>
++      <item> generic </item>
++      <item> group </item>
++      <item> guarded </item>
++      <item> impure </item>
++      <item> inertial </item>
++      <item> is </item>
++      <item> label </item>
++      <item> linkage </item>
++      <item> literal </item>
++      <item> map </item>
++      <item> new </item>
++      <item> next </item>
++      <item> null </item>
++      <item> on </item>
++      <item> open </item>
++      <item> others </item>
++      <item> port </item>
++      <item> postponed </item>
++      <item> procedure </item>
++      <item> process </item>
++      <item> pure </item>
++      <item> range </item>
++      <item> record </item>
++      <item> register </item>
++      <item> reject </item>
++      <item> report </item>
++      <item> return </item>
++      <item> select </item>
++      <item> severity </item>
++      <item> signal </item>
++      <item> shared </item>
++      <item> subtype </item>
++      <item> then </item>
++      <item> to </item>
++      <item> transport </item>
++      <item> type </item>
++      <item> unaffected </item>
++      <item> units </item>
++      <item> until </item>
++      <item> variable </item>
++      <item> wait </item>
++      <item> when </item>
++      <item> with </item>
++      <item> note </item>
++      <item> warning </item>
++      <item> error </item>
++      <item> failure </item>
++      <item> in </item>
++      <item> inout </item>
++      <item> out </item>
++      <item> buffer </item>
++      <item> and </item>
++      <item> or </item>
++      <item> xor </item>
++      <item> not </item>
++    </list>
++    
++    <list name="if">
++      <item> else </item>
++      <item> elsif </item>
++    </list>
++    
++    <list name="forOrWhile">
++      <item> loop </item>
++    </list>
++      
++<!--    <list name="directions">
++      <item> in </item>
++      <item> inout </item>
++      <item> out </item>
++      <item> buffer </item>
++      
++    </list>
++    <list name="logics">
++      <item> and </item>
++      <item> or </item>
++      <item> xor </item>
++      <item> not </item>
++    </list>
++    
++    <list name="rangeDirection">
++      <item> to </item>
++      <item> downto </item>
++    </list>-->
++    
++    <list name="types">
++      <item> bit </item>
++      <item> bit_vector </item>
++      <item> character </item>
++      <item> boolean </item>
++      <item> integer </item>
++      <item> real </item>
++      <item> time </item>
++      <item> string </item>
++      <item> severity_level </item>
++      <item> positive </item>
++      <item> natural </item>
++      <item> signed </item>
++      <item> unsigned </item>
++      <item> line </item>
++      <item> text </item>
++      <item> std_logic </item>
++      <item> std_logic_vector </item>
++      <item> std_ulogic </item>
++      <item> std_ulogic_vector </item>
++      <item> qsim_state </item>
++      <item> qsim_state_vector </item>
++      <item> qsim_12state </item>
++      <item> qsim_12state_vector </item>
++      <item> qsim_strength </item>
++      <item> mux_bit </item>
++      <item> mux_vector </item>
++      <item> reg_bit </item>
++      <item> reg_vector </item>
++      <item> wor_bit </item>
++      <item> wor_vector </item>
++    </list>
++    <contexts>
++      <!-- start / global environment -->
++      <context name="start" attribute="Normal Text" lineEndContext="#stay">
++        <RegExpr attribute="Normal Text" context="entity" String="&bos;(entity\s*(&varname;)\s*is)&eos;" beginRegion="EntityRegion1" lookAhead="true" />
++        <RegExpr attribute="Normal Text" context="architecture" String="&bos;(architecture\s*(&varname;)\s*of\s*&varname;\s*is)&eos;" beginRegion="ArchitectureRegion1" lookAhead="true" />
++        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
++        <keyword attribute="Keyword" context="#stay"  String="keywordsToplevel"/>
++      </context>
++      
++      <context name="preDetection" attribute="Normal Text" lineEndContext="#stay">
++        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
++        <DetectChar attribute="Vector" context="string" char="&quot;" />
++        <AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|]().,;" />
++        <DetectChar attribute="Attribute" context="attribute" char="'" />
++      </context>
++      
++      <!-- general keywords detection -->
++      <context name="generalDetection" attribute="Normal Text" lineEndContext="#stay">
++        <keyword attribute="Keyword" context="#stay"  String="keywords"/>
++        <keyword attribute="Data Type" context="#stay"  String="types"/>
++        <Int attribute="Integer" context="#stay" />
++        <HlCChar attribute="Bit" context="#stay" />
++      </context>
++      
++      <!-- entity environment -->
++      <context name="entity" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
++        <IncludeRules context="preDetection" />
++        <RegExpr attribute="Redirection" context="#pop" String="^(|\s.*)end(\s*entity)?\s*(%3)?\s*;" dynamic="true" endRegion="EntityRegion1" />
++        <!--<RegExpr attribute="Alert" context="generic" String="generic"/>-->
++        <IncludeRules context="generalDetection" />
++      </context>
++<!--      <context name="generic" attribute="Normal Text" lineEndContext="#stay">
++        <DetectChar attribute="Operator" context="range" char="("/>
++        <Detect2Chars attribute="Alert" context="#pop" char=")" char1=";"/>
++      </context>
++      <context name="range" attribute="Normal Text" lineEndContext="#stay">
++        <keyword attribute="Keyword" context="#stay"  String="rangeDirection"/>
++        <Int attribute="Integer" context="#stay" />
++        <HlCChar attribute="Bit" context="#stay" />
++        <DetectChar attribute="Vector" context="string" char="&quot;" />
++        <DetectChar attribute="Operator" context="#pop" char=")"/>
++      </context>-->
++      
++      <!-- architecture environment -->
++      <context name="architecture" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
++        <IncludeRules context="preDetection" />
++        <StringDetect attribute="Redirection" context="#stay" String="begin" />
++        <RegExpr attribute="Redirection" context="#pop" String="&bos;end(\s+architecture)?(\s+%3)?\s*;" dynamic="true" endRegion="ArchitectureRegion1" />
++        <RegExpr attribute="Normal Text" context="component" String="&bos;(component\s+(&varname;)\s+is)&eos;" beginRegion="ComponentRegion1" lookAhead="true" />
++        <RegExpr attribute="Normal Text" context="process1" String="^(|\s+)((&varname;\s*:\s*)?process)&eos;" beginRegion="ProcessRegion1" lookAhead="true" />
++        <RegExpr attribute="Normal Text" context="instance" String="^(|\s+)((&varname;)\s*:\s*(&varname;))&eos;" beginRegion="InstanceRegion1" lookAhead="true" />
++        <IncludeRules context="generalDetection" />
++      </context>
++<!--      <context name="architectureBeforeBegin" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Redirection" context="#stay" String="%1" dynamic="true" />
++        <RegExpr attribute="Redirection" context="#pop" String="end\s*%2\s*;" dynamic="true" endRegion="ArchitectureRegion1" />
++        <StringDetect attribute="Redirection" context="architectureAfterBegin" String="begin" />
++        <RegExpr attribute="Redirection" context="#pop#pop" String="end\s*%2\s*;" dynamic="true" endRegion="ArchitectureRegion1" />
++        <IncludeRules context="normal" />
++      </context>
++      <context name="architectureAfterBegin" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Redirection" context="#stay" String="%1" dynamic="true" />
++        <IncludeRules context="normal" />
++      </context>-->
++      
++      <!-- component environment -->
++      <context name="component" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
++        <IncludeRules context="preDetection" />
++        <RegExpr attribute="Redirection" context="#pop" String="&bos;end\s+component\s*;" dynamic="true" endRegion="ComponentRegion1" />
++        <IncludeRules context="generalDetection" />
++      </context>
++      
++      <context name="instance" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
++        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
++        <DetectChar attribute="Vector" context="string" char="&quot;" />
++<!--        <RegExpr attribute="Process" context="#pop" String="\);" endRegion="InstanceRegion1" />-->
++        <Detect2Chars attribute="Normal Text" context="#pop" char=")" char1=";" endRegion="InstanceRegion1" />
++        <IncludeRules context="generalDetection" />
++        <AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|]().,;" />
++        <DetectChar attribute="Attribute" context="attribute" char="'" />
++      </context>
++      
++      <!-- process environment -->
++      <context name="process1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <StringDetect attribute="Process" context="process2" String="%2" dynamic="true" />
++      </context>
++      <context name="process2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
++        <RegExpr attribute="Process" context="#pop#pop" String="&bos;end\s+process" endRegion="ProcessRegion1" />
++        <StringDetect attribute="Process" context="#stay" String="begin" />
++        <IncludeRules context="processContext" />
++      </context>
++      <context name="processContext" attribute="Normal Text" lineEndContext="#stay">
++        <IncludeRules context="preDetection" />
++        <RegExpr attribute="Control" context="case1" String="&bos;case&eos;" beginRegion="CaseRegion1" />
++        <RegExpr attribute="Control" context="if" String="&bos;if&eos;" beginRegion="IfRegion1" />
++        <RegExpr attribute="Control" context="forOrWhile" String="&bos;(for|while)&eos;" beginRegion="ForOrWhileRegion1" />
++        <IncludeRules context="generalDetection" />
++      </context>
++      <context name="case1" attribute="Normal Text" lineEndContext="#stay">
++        <StringDetect attribute="Keyword" context="case2" String="is"/>
++      </context>
++      <context name="case2" attribute="Normal Text" lineEndContext="#stay">
++        <RegExpr attribute="Control" context="#pop#pop" String="&bos;end\s+case\s*;" endRegion="CaseRegion1" />
++        <RegExpr attribute="Control" context="caseWhen" String="&bos;when&eos;" beginRegion="CaseWhenRegion1" />
++        <IncludeRules context="processContext" />
++      </context>
++      <context name="caseWhen" attribute="Normal Text" lineEndContext="#stay">
++        <RegExpr attribute="Control" context="#pop" String="&bos;when&eos;" endRegion="CaseWhenRegion1" lookAhead="true" />
++        <RegExpr attribute="Control" context="#pop" String="&bos;end\s+case\s*;" endRegion="CaseWhenRegion1" lookAhead="true" />
++        <IncludeRules context="process2" />
++      </context>
++      <context name="if" attribute="Normal Text" lineEndContext="#stay">
++        <RegExpr attribute="Control" context="#pop" String="&bos;end\s+if\s*;" endRegion="IfRegion1" />
++        <keyword attribute="Control" context="#stay"  String="if"/>
++        <IncludeRules context="processContext" />
++      </context>
++      <context name="forOrWhile" attribute="Normal Text" lineEndContext="#stay">
++        <RegExpr attribute="Control" context="#pop" String="&bos;end\s+loop\s*;" endRegion="ForOrWhileRegion1" />
++        <keyword attribute="Control" context="#stay"  String="forOrWhile"/>
++        <IncludeRules context="processContext" />
++      </context>
++      
++      <!-- other environments -->
++      <context name="comment" attribute="Comment" lineEndContext="#pop" />
++      <context name="string" attribute="Vector" lineEndContext="#stay" >
++        <DetectChar attribute="Vector" context="#pop" char="&quot;" />
++      </context>
++      <context name="attribute" attribute="Attribute" lineEndContext="#pop">
++        <DetectChar attribute="Attribute" context="quot in att" char="&quot;" />
++        <DetectChar attribute="Normal Text" context="#pop" char=" " />
++        <AnyChar attribute="Attribute" context="#pop" String=")=&lt;&gt;" />
++      </context>
++      <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
++        <DetectChar attribute="Attribute" context="#pop" char="&quot;" />
++      </context>
++    </contexts>
++    <itemDatas>
++      <itemData name="Normal Text" defStyleNum="dsNormal" />
++      <itemData name="Keyword" defStyleNum="dsKeyword" />
++      <itemData name="Data Type" defStyleNum="dsDataType" />
++      <itemData name="Comment" defStyleNum="dsComment" />
++      <itemData name="Integer" defStyleNum="dsDecVal" />
++      <itemData name="Bit" defStyleNum="dsChar" />
++      <itemData name="Vector" defStyleNum="dsString" />
++      <itemData name="Operator" defStyleNum="dsOthers" />
++      <itemData name="Attribute" defStyleNum="dsBaseN" />
++      <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
++      <itemData name="Redirection" defStyleNum="dsKeyword" color="#238" />
++      <itemData name="Process" defStyleNum="dsKeyword" color="#09A" />
++      <itemData name="Control" defStyleNum="dsKeyword" color="#008" />
++    </itemDatas>
++  </highlighting>
+   <general>
+     <comments>
+       <comment name="singleLine" start="--" />
+     </comments>
+-    <keywords casesensitive="1" />
++    <keywords casesensitive="0" />
+   </general>
+-</language>
+-
++</language>
+\ Brak znaku nowej linii na końcu pliku
+diff -ur kdelibs-3.5.8/kate/data.org/xml.xml kdelibs-3.5.8/kate/data/xml.xml
+--- kdelibs-3.5.8/kate/data.org/xml.xml        2005-09-10 10:26:35.000000000 +0200
++++ kdelibs-3.5.8/kate/data/xml.xml    2007-10-09 06:00:25.000000000 +0200
+@@ -4,7 +4,7 @@
+       <!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+       <!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+ ]>
+-<language name="XML" version="1.96" kateversion="2.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf" mimetype="text/xml;text/book;text/daml;text/rdf" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
++<language name="XML" version="1.97" kateversion="2.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+ <highlighting>
+ <contexts>
This page took 0.488248 seconds and 4 git commands to generate.