--- /dev/null
+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_:#%@-]*">
+- <!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
+- <!ENTITY word "[^|&;()<>\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_:#%@-]*">
++ <!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
++ <!ENTITY word "[^|&;()<>\s]+"> <!-- see man bash -->
++ <!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
++ <!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
++ <!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- 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="<<<" />
+- <!-- handle here document -->
+- <StringDetect attribute="Redirection" context="HereDoc" String="<<" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="#stay" String="\d*<<<" />
++ <!-- handle here document -->
++ <StringDetect attribute="Redirection" context="HereDoc" String="<<" lookAhead="true" />
+ <!-- handle process subst -->
+ <RegExpr attribute="Redirection" context="ProcessSubst" String="[<>]\(" />
+ <!-- handle redirection -->
+ <RegExpr attribute="Redirection" context="#stay" String="([0-9]*(>{1,2}|<)(&[0-9]+-?)?|&>|>&|[0-9]*<>)" />
+- <!-- handle &, &&, | and || -->
+- <RegExpr attribute="Control" context="#stay" String="([|&])\1?" />
+- <!-- mark function definitions without function keyword -->
++ <!-- handle &, &&, | and || -->
++ <RegExpr attribute="Control" context="#stay" String="([|&])\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="\\[][;"\\'$`{}()|&<>* ]" />
+- <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="\\[][;\\$`{}()|&<>* ]" />
++ <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/):;$`'"]|$))" />
++ <!-- 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=""" />
+- <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
+- <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1=""" />
++ <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="'" />
++ <Detect2Chars attribute="Escape" context="#stay" char="\\" char1=""" />
++ <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
++ <DetectChar attribute="String DoubleQ" context="StringDQ" char=""" />
++ <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
++ <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1=""" />
+ </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="$(<" />
++ <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="$(<" />
+ <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="([!=]=?|[><])(?=\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;|&]))" endRegion="expression" />
+- <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&]))" endRegion="expression" column="0"/>
+- <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+- <IncludeRules context="FindMost" />
++ <RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&]))" endRegion="expression" />
++ <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&]))" 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;|&]))" endRegion="expression" />
+- <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&]))" endRegion="expression" column="0"/>
+- <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+- <IncludeRules context="FindMost" />
++ <RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&]))" endRegion="expression" />
++ <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&]))" 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="[^]})|;`&><]" />
++ <!-- 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="[^]})|;`&><]" />
+ </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=""" />
+- <RegExpr attribute="String Escape" context="#stay" String="\\[`"\\$\n]" />
+- <IncludeRules context="FindSubstitutions" />
++ <DetectChar attribute="String DoubleQ" context="#pop" char=""" />
++ <RegExpr attribute="String Escape" context="#stay" String="\\[`"\\$\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="(<<\s*"(&word;)")" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*'(&word;)')" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*\\(&word;))" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocNQ" String="(<<(?!-)\s*(&word;))" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*"(&word;)")" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*'(&word;)')" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*\\(&word;))" lookAhead="true" />
+- <RegExpr attribute="Redirection" context="HereDocINQ" String="(<<-\s*(&word;))" lookAhead="true" />
+- <StringDetect attribute="Redirection" context="#pop" String="<<" /><!-- always met -->
++ <RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*"(&word;)")" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*'(&word;)')" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*\\(&word;))" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocINQ" String="(<<-\s*(&word;))" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*"(&word;)")" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*'(&word;)')" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*\\(&word;))" lookAhead="true" />
++ <RegExpr attribute="Redirection" context="HereDocNQ" String="(<<\s*(&word;))" lookAhead="true" />
++ <StringDetect attribute="Redirection" context="#pop" String="<<" /><!-- 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=":!%&()+,-/.*<=>?[]{|}~^;"/>
+ </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="""/>
+ </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=""" char1="""/>
+ <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
+ <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=":!%&()+,-/.*<=>?[]|~^;"/>
+ </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="""/>
+ </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=""" char1="""/>
+ <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
+ <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="'"" />
++ <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="//(!|(/(?=[^/]|$)))<?"/>
+- <RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|\*$)<?" beginRegion="BlockComment"/>
++ <RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]<|\*$)" 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="""/>
+- <Detect2Chars attribute="Hex" context="Hex" char="x" char1="""/>
+-
+- <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|"]"/>
+- <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="""/>
+- <DetectChar attribute="Wysiwyg" context="Wysiwyg" char="`"/>
++ <!-- Scan r" or x" before scanning Normal Text -->
++ <Detect2Chars attribute="RawString" context="RawString" char="r" char1="""/>
++ <Detect2Chars attribute="HexString" context="HexString" char="x" char1="""/>
++ <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="&"/>
++
++ <DetectChar attribute="Char" context="CharLiteral" char="'"/>
++ <DetectChar attribute="String" context="String" char="""/>
++ <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="""/>
+- <DetectChar attribute="Wysiwyg" context="#pop" char="`"/>
+- </context>
+- <context attribute="Hex" lineEndContext="#stay" name="Hex">
+- <DetectChar attribute="Hex" context="#pop" char="""/>
+- </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="""/>
++ </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="""/>
++ <RegExpr attribute="Error" context="#stay" String="[^\sa-fA-F\d"]+" />
++ </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}|&[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="""/>
+ <DetectChar attribute="String" context="#pop" char="""/>
++ <HlCStringChar attribute="EscapeSequence"/>
++ <RegExpr attribute="EscapeSequence" context="#stay" String="\\(u[\da-fA-F]{4}|U[\da-fA-F]{8}|&[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 "&(#[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="<pre\b" insensitive="TRUE" beginRegion="pre" />
+ <RegExpr attribute="Element" context="El Open" String="<div\b" insensitive="TRUE" beginRegion="div" />
+ <RegExpr attribute="Element" context="El Open" String="<table\b" insensitive="TRUE" beginRegion="table" />
++ <RegExpr attribute="Element" context="El Open" String="<ul\b" insensitive="TRUE" beginRegion="ul" />
++ <RegExpr attribute="Element" context="El Open" String="<ol\b" insensitive="TRUE" beginRegion="ol" />
++ <RegExpr attribute="Element" context="El Open" String="<dl\b" insensitive="TRUE" beginRegion="dl" />
+ <RegExpr attribute="Element" context="El Open" String="<&name;" />
+ <RegExpr attribute="Element" context="El Close" String="</pre\b" insensitive="TRUE" endRegion="pre" />
+ <RegExpr attribute="Element" context="El Close" String="</div\b" insensitive="TRUE" endRegion="div" />
+ <RegExpr attribute="Element" context="El Close" String="</table\b" insensitive="TRUE" endRegion="table" />
++ <RegExpr attribute="Element" context="El Close" String="</ul\b" insensitive="TRUE" endRegion="ul" />
++ <RegExpr attribute="Element" context="El Close" String="</ol\b" insensitive="TRUE" endRegion="ol" />
++ <RegExpr attribute="Element" context="El Close" String="</dl\b" insensitive="TRUE" endRegion="dl" />
+ <RegExpr attribute="Element" context="El Close" String="</&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="""/>
+@@ -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="""/>
+ </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=""" char1="""/>
+-<!-- 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="<" />
+- <DetectChar attribute="Chord" context="#stay" char=">" />
+-<!-- detects #( ) command lines -->
+- <Detect2Chars attribute="Header" context="Command" char="#" char1="(" beginRegion="command" />
+-<!-- detects context delimiter << (was <) -->
+- <Detect2Chars attribute="Context" context="#stay" char="<" char1="<" beginRegion="context"/>
+- <Detect2Chars attribute="Context" context="#stay" char=">" char1=">" 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="_[_.\|+>^-]\b?" />
+- <RegExpr attribute="Dynamics" context="#stay" String="\^[_.\|+>^-]\b?" />
+- <RegExpr attribute="Dynamics" context="#stay" String="-[_.\|+>^-]\b?" />
+-<!-- detects \< for crescendo and \> for diminuendo - both end with \! -->
+- <Detect2Chars attribute="Dynamics" context="#stay" char="\" char1="<" />
+- <Detect2Chars attribute="Dynamics" context="#stay" char="\" char1=">" />
+- <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=">" char1=">" 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=""tremolo"" />
+- <StringDetect attribute="Repeat" context="#pop" String=""percent"" />
+- <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="<" char1="<" beginRegion="simultaneous"/>
++ <Detect2Chars attribute="Keyword" context="#stay" char=">" char1=">" 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="""/>
++ <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="\\[>!<]"/>
++ <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="\\(§ions;)(?![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_.|+>^-]?"/>
++ <RegExpr attribute="Slur" context="#stay" String="\\?[()]"/>
++ <AnyChar attribute="Chord" context="#stay" String="<>"/>
++ <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="""/>
++ <Detect2Chars attribute="String" context="#stay" char="\" char1="\;"/>
++ <Detect2Chars attribute="String" context="#stay" char="\" char1="""/>
++ </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="[^"\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="""/>
++ <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="""/>
++ <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(){}[\];$"]+"/>
++ </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=""[^"]+""/>
++ <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="""/>
+- <AnyChar attribute="Symbol" context="#stay" String="!%&()+,-<=>?[]^{|}~"/>
+- <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="""/>
++ <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*([({'"]|\[\[))\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="[]().=~+-*/^><#;" />
++ </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|\\|"|\'|[|])" />
++ <DetectChar attribute="Strings" context="#pop" char="'"/>
++ </context>
++ <context name="String_double" attribute="Strings" lineEndContext="Error">
++ <RegExpr attribute="Symbols" context="#stay" String="\\[abfnrtv'"\\\[\]]" />
++ <DetectChar attribute="Strings" context="#pop" char="""/>
+ </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|\\|"|\'|[|])" />
++ <RegExpr attribute="Strings" context="#pop" String="\]%1\]" dynamic="true" />
+ </context>
+- <context attribute="String" lineEndContext="#pop" name="String">
+- <DetectChar attribute="String" context="#pop" char="""/>
++ <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="." additionalDeliminator="""/>
+ </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=""'"/>
+- <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="?>" />
+@@ -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="""/>
+- <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=":!%&()+,-/.*<=>?[]{|}~^;"/>
+- </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="""/>
+- </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="""/>
++ <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=":!%&()+,-/.*<=>?[]{|}~^;"/>
++ </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="""/>
++ </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]"""" context="Raw Tripple Q-string"/>
+
+ <RegExpr attribute="Raw String" String="[rR]'" context="Raw A-string"/>
+ <RegExpr attribute="Raw String" String="[rR]"" 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=""""" 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*"""" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>
+
+ <StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
+ <StringDetect attribute="String" String=""""" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
+ <DetectChar attribute="String" char="'" context="Single A-string"/>
+ <DetectChar attribute="String" char=""" context="Single Q-string"/>
+-
++
+ <DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
+ <DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
+- <RegExpr attribute="Operator" String="[+*/\(\)%\|\[\]\{\}:=;\!<>!^&~-]" context="#stay"/>
++
++ <RegExpr attribute="Operator" String="[+*/%\|=;\!<>!^&~-]" 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=""""" context="#pop" endRegion="Tripple Q-region"/>
++ <RegExpr attribute="Comment" String=""""" 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=""""" 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=""""" 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=""""" 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=""" 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=""" 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 "&(#[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="<%=?" />
+- <StringDetect attribute="Keyword" context="rubysourceline" String="%" />
+-
+- <StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
+- <StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />
+- <RegExpr attribute="Doctype" context="Doctype" String="<!DOCTYPE\s+" beginRegion="doctype" />
+- <RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />
+- <RegExpr attribute="Element" context="CSS" String="<style\b" insensitive="TRUE" beginRegion="style" />
+- <RegExpr attribute="Element" context="JS" String="<script\b" insensitive="TRUE" beginRegion="script" />
+- <RegExpr attribute="Element" context="El Open" String="<pre\b" insensitive="TRUE" beginRegion="pre" />
+- <RegExpr attribute="Element" context="El Open" String="<div\b" insensitive="TRUE" beginRegion="div" />
+- <RegExpr attribute="Element" context="El Open" String="<table\b" insensitive="TRUE" beginRegion="table" />
+- <RegExpr attribute="Element" context="El Open" String="<&name;" />
+- <RegExpr attribute="Element" context="El Close" String="</pre\b" insensitive="TRUE" endRegion="pre" />
+- <RegExpr attribute="Element" context="El Close" String="</div\b" insensitive="TRUE" endRegion="div" />
+- <RegExpr attribute="Element" context="El Close" String="</table\b" insensitive="TRUE" endRegion="table" />
+- <RegExpr attribute="Element" context="El Close" String="</&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="&<" />
+- </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="&%" />
+- </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="<!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+- </context>
+-
+-
+- <context name="Comment" attribute="Comment" lineEndContext="#stay">
+- <DetectSpaces/>
+- <IncludeRules context="##Alerts" />
+- <DetectIdentifier/>
+- <StringDetect attribute="Comment" context="#pop" String="-->" endRegion="comment" />
+- <RegExpr attribute="Error" context="#stay" String="-(-(?!->))+" />
+- </context>
+-
+- <context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
+- <DetectSpaces/>
+- <DetectIdentifier/>
+- <StringDetect attribute="CDATA" context="#pop" String="]]>" endRegion="cdata" />
+- <StringDetect attribute="EntityRef" context="#stay" String="]]&gt;" />
+- </context>
+-
+- <context name="PI" attribute="Normal Text" lineEndContext="#stay">
+- <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1=">" endRegion="pi" />
+- </context>
+-
+- <context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
+- <DetectChar attribute="Doctype" context="#pop" char=">" 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="<!--" beginRegion="comment" />
+- <RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />
+- <IncludeRules context="FindPEntityRefs" />
+- </context>
+-
+- <context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
+- <DetectChar attribute="Doctype" context="#pop" char=">" />
+- <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char=""" />
+- <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="'" />
+- </context>
+-
+- <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <DetectChar attribute="Value" context="#pop" char=""" />
+- <IncludeRules context="FindPEntityRefs" />
+- </context>
+-
+- <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <DetectChar attribute="Value" context="#pop" char="'" />
+- <IncludeRules context="FindPEntityRefs" />
+- </context>
+-
+- <context name="El Open" attribute="Normal Text" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <Detect2Chars attribute="Element" context="#pop" char="/" char1=">" />
+- <DetectChar attribute="Element" context="#pop" char=">" />
+- <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="<%=?" />
+-
+- <DetectChar attribute="Element" context="#pop" char=">" />
+- <RegExpr attribute="Error" context="#stay" String="\S" />
+- </context>
+-
+- <context name="El Close 2" attribute="Normal Text" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <DetectChar attribute="Element" context="#pop#pop#pop" char=">" />
+- <RegExpr attribute="Error" context="#stay" String="\S" />
+- </context>
+-
+- <context name="El Close 3" attribute="Normal Text" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <DetectChar attribute="Element" context="#pop#pop#pop#pop" char=">" />
+- <RegExpr attribute="Error" context="#stay" String="\S" />
+- </context>
+-
+- <context name="CSS" attribute="Normal Text" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="style" />
+- <DetectChar attribute="Element" context="CSS content" char=">" />
+- <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="<%=?" />
+-
+- <RegExpr attribute="Element" context="El Close 2" String="</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="<%=?" />
+-
+- <Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="script" />
+- <DetectChar attribute="Element" context="JS content" char=">" />
+- <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="<%=?" />
+-
+- <RegExpr attribute="Element" context="El Close 2" String="</script\b" insensitive="TRUE" endRegion="script" />
+- <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*</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="</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="<%=?" />
+-
+- <DetectChar attribute="Value" context="Value DQ" char=""" />
+- <DetectChar attribute="Value" context="Value SQ" char="'" />
+- <DetectSpaces />
+- </context>
+-
+- <context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <IncludeRules context="FindEntityRefs" />
+- <RegExpr attribute="Value" context="#stay" String="/(?!>)" />
+- <RegExpr attribute="Value" context="#stay" String="[^/><"'\s]" />
+- </context>
+-
+- <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <DetectChar attribute="Value" context="#pop#pop" char=""" />
+- <IncludeRules context="FindEntityRefs" />
+- </context>
+-
+- <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+- <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />
+-
+- <DetectChar attribute="Value" context="#pop#pop" char="'" />
+- <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="-?%>" />
+-
+- <!-- __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_*`\!:?'/\\\-\&]" 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*<<-(?=\w+|["'])" beginRegion="HereDocument" />
+- <RegExpr attribute="Operator" context="find_heredoc" String="\s*<<(?=\w+|["'])" beginRegion="HereDocument" />
+-
+- <DetectChar attribute="Operator" char="." context="#stay"/>
+- <Detect2Chars attribute="Operator" char="&" char1="&" context="#stay"/>
+- <Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
+- <RegExpr attribute="Operator" String="\s[\?\:\%/]\s" context="#stay"/>
+- <RegExpr attribute="Operator" String="[|&<>\^\+*~\-=]+" 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=""" 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>])" 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="\\\"" 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="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="=+-*/%|&[]{}~" 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="-?%>" />
+- </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=""?(\w+)"?" />
+- </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=""?(\w+)"?" />
+- </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<" />
+- <!-- 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<" />
+- <!-- 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<" />
+- <!-- 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<" />
+- <!-- 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?<" />
+- <!-- 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=">" context="#stay"/>
+- <DetectChar attribute="String" context="gdl_dq_string_4_nested" char="<" />
+- <DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
+- </context>
+- <context name="gdl_dq_string_4_nested" attribute="String" lineEndContext="#stay" >
+- <DetectChar attribute="String" context="gdl_dq_string_4_nested" char="<" />
+- <DetectChar attribute="String" context="#pop" char=">" />
+- <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=">" context="#stay"/>
+- <DetectChar attribute="String" context="gdl_token_array_4_nested" char="<" />
+- <DetectChar attribute="GDL input" context="#pop#pop" char=">" 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="<" />
+- <DetectChar attribute="String" context="#pop" char=">" />
+- </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=">" context="#stay"/>
+- <DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="<" />
+- <DetectChar attribute="GDL input" context="#pop#pop" char=">" 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="<" />
+- <DetectChar attribute="Raw String" context="#pop" char=">" />
+- </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=">" context="#stay"/>
+- <DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="<" />
+- <DetectChar attribute="GDL input" context="#pop#pop" char=">" 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="<" />
+- <DetectChar attribute="Command" context="#pop" char=">" />
+- </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=">" context="#stay"/>
+- <DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="<" />
+- <RegExpr attribute="GDL input" context="#pop#pop" String=">[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="<" />
+- <DetectChar attribute="Regular Expression" context="#pop" char=">" />
+- </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="<!--" end="-->" />
+- </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 = "[^\\]""" attribute = "String" context="#stay"/>
+- <RegExpr String = "[^\\]"" 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 = ""{2}" attribute = "String" context="#stay"/>
++ <RegExpr String = """ 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=""" 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="""/>
+ <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="!%&()+,-<=+/:;>?[]^{|}~@"/>
+
+ <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=""" />
+- <AnyChar attribute="Operator" context="#stay" String="[&><=:+\-*\/|]().,;" />
+- <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=""" />
+- </context>
+- <context name="attribute" attribute="Attribute" lineEndContext="#pop">
+- <DetectChar attribute="Attribute" context="quot in att" char=""" />
+- <DetectChar attribute="Normal Text" context="#pop" char=" " />
+- <AnyChar attribute="Attribute" context="#pop" String=")=<>" />
+- </context>
+- <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
+- <DetectChar attribute="Attribute" context="#pop" char=""" />
+- </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_:#%@-]*">
++ <!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
++ <!ENTITY bos "(|[^"-]*)\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=""" />
++ <AnyChar attribute="Operator" context="#stay" String="[&><=:+\-*\/|]().,;" />
++ <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=""" />
++ <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=""" />
++<!-- <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="[&><=:+\-*\/|]().,;" />
++ <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=""" />
++ </context>
++ <context name="attribute" attribute="Attribute" lineEndContext="#pop">
++ <DetectChar attribute="Attribute" context="quot in att" char=""" />
++ <DetectChar attribute="Normal Text" context="#pop" char=" " />
++ <AnyChar attribute="Attribute" context="#pop" String=")=<>" />
++ </context>
++ <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
++ <DetectChar attribute="Attribute" context="#pop" char=""" />
++ </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 "&(#[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>